Repository navigation
Summary
workstats can now produce consultant timesheets: suggested hours per day and engagement, rounded the way a timesheet is, with the evidence behind each entry, a ledger for manual hours and locked periods, and CSV exports for Toggl, Harvest and Clockify. Work is attributed to branches, issues and features, and new commands cover the effort behind a branch or pull request, insights, a weekly digest, a prompt-line status, goals, a calendar heatmap and merging several machines.
Added
workstats timesheet: suggested hours per day and engagement with evidence, rounding (nearest, up, down, balanced), minimum entry, drop threshold and daily cap; every hour attributed once, reconciled with the report's human time, in table, JSON, CSV, Markdown and HTML. See Timesheet.- Engagements in the config: client work matched by project, remote, path, branch pattern or issue prefix, with rate, currency and billable flag; also usable as
--group-by engagement. - A timesheet ledger:
timesheet add,rm,set,unset,entriesfor manual hours and overrides, andlock,unlock,locksto freeze a submitted period and report drift instead of silently changing it. timesheet --export toggl|harvest|clockify|genericfor importing into time trackers.- Branch, issue and feature attribution from the branch fields Claude, Codex and Copilot record and from local Git refs, with
--group-by branch|issue|featureand configurable issue-key patterns. See Branches and pull requests. workstats branchandworkstats pr: the human time, agent time, tokens, list value and commits behind one branch or pull request, with PR-ready Markdown.workstats insights(focus, weekday-by-hour patterns, leverage, models) andworkstats digest(this week against the last, with top repositories and features).workstats now: a fast one-line status for a shell prompt or status bar, with templates and background refresh.- Goals: weekly and daily hour targets and list-value caps per subscription, shown in reports, the digest and
now. - A calendar heatmap of human time per day:
workstats calendar, the HTML report, Markdown with--daily, and the explorer (c). workstats exportandworkstats merge(or--import) to combine machines without double counting; bundles carry no prompts, commit subjects, titles or absolute paths. See Merging machines.- Opt-in descriptions:
--describe commits(subject lines of your own commits),--describe sessions(tool-generated titles, never prompts) andtimesheet --summarize-with CMDwith--digestto preview what is sent. --dailyper-day figures in JSON, andworkstats record --branch NAME.
Changed
- The transcript cache moves to parser version 5 and is rebuilt on first use, now holding branch names and pull-request numbers.
- New config blocks
branches,issues,engagements,timesheet,goals,insightsandnoware validated when used, naming any bad key.
Fixed
- Report rows that tie on every figure now come out in the same order on every run.