- Add `to_csv_entries()` to output.py: converts raw rows to write_csv
entries one-for-one, without merging by (project, description)
- Add `--raw` flag to the csv subparser; _cmd_csv branches on it
- Add TestToCsvEntries with 6 tests
- Update README with --raw usage example
- Add .coverage and htmlcov/ to .gitignore
--weekly (-w): show the summary for the entire week containing the
given day, fetching from Joplin or parsing all tables in the file
--short (-s, repeatable):
-s alone: one line per project label + total
-s --weekly: per-day project totals with day subtotals
-ss --weekly: one line per day with right-aligned date + week total
Add filter_week_sections() to parser.py to split a document into
(date, rows) pairs for a given ISO week. Add print_summary_short(),
print_summary_weekly(), print_summary_weekly_short(), and
print_summary_weekly_totals() to output.py.
- Add config.py with load_config(), find_default_config(), get_token(),
and get_map_path()
- Auto-discover timesheets.toml in cwd; override with --config flag
- Priority: CLI flag > config file > env var / cwd default
- Add timesheets.example.toml as a committed reference template
- Add timesheets.toml to .gitignore to prevent accidental secret leakage
- Document config file format in AGENTS.md