`streamd daily [YYYYMMDD]` opens the earliest existing daily file
(file_type=daily) whose timestamp falls within the target date.
If no such file exists it creates `<timestamp>_daily.md` and opens it.
Date defaults to today in the repository timezone.
Add `extract_file_type_from_file_name` to parse prefixes like `_daily`
from filenames (e.g. `20260412-123456_daily.md` → `"daily"`).
Insert the result into `initial_location` in `localize_stream_file` so
all localized shards carry a `file_type` dimension value.
Also register the `file_type` dimension in `TaskConfiguration` so the
propagation contract is documented.
Adds a -m/--minutes flag to `streamd timesheet` that displays time
in HH:MM format (e.g., 8:30) instead of decimal hours (e.g., 8.5h).
Includes unit tests for both formatting functions.
Document the three installation methods:
- Debian/Ubuntu .deb package with shell completions
- Statically-linked binary for any Linux system
- Nix flake and Home Manager module
Add Forgejo Actions workflow that builds and publishes releases:
- Triggers on tag push (v*) or manual workflow dispatch
- Builds static binary using musl target
- Creates .deb package with shell completions
- Uploads artifacts to Forgejo Releases
Requires RELEASE_TOKEN secret to be configured in repository settings.
Add mkStreamdDeb function that uses nfpm to create a .deb package
containing the statically-linked binary and shell completions for
bash, zsh, and fish.
Add mkMuslCraneLib and mkStreamdMusl functions to create a
statically-linked binary using the x86_64-unknown-linux-musl target.
This enables portable binaries that don't depend on system glibc.
Document the new todo command features:
- Numbered task display
- `streamd todo N edit` for editing tasks
- `streamd todo N done` for marking tasks done
- `--show-future` flag for including future tasks
- Add R21 specification for todo command behavior
Add tests for:
- @Done insertion at various line positions
- Future task filtering with show_future flag
- Task sorting by moment ascending
- Error message formatting for all new error variants
- Trailing newline preservation
Implement smoother todo editing with the following features:
- Display numbered tasks [1], [2], etc. in `streamd todo`
- Add `streamd todo N edit` to open editor at task line
- Add `streamd todo N done` to insert @Done after @Task
- Add `--show-future` flag to include future tasks (hidden by default)
Replace CSV output with formatted table display showing:
- Monthly breakdown with expected/actual hours per day
- Day types (Regular, Sick Leave, Vacation, Holiday, Flex Day, etc.)
- Warning indicators for missing days and overlapping timecards
- Monthly summaries with total expected/actual hours
- Cumulative balance across all months
- Detailed warnings section at the end
Shows helpful message when no .streamd.toml configuration is found.
Implement the core report generation that:
- Loads .streamd.toml configuration
- Calculates expected hours based on periods and day types
- Calculates actual hours following day type rules:
- Sick leave: max(expected, worked)
- Vacation: expected + worked
- Flex day: 0
- Holiday: 0 expected
- Generates warnings for missing days, overlapping timecards,
and work outside configured periods
- Calculates monthly and cumulative balances
- Sorts months in descending order