feat: add stats command with terminal charts #18
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jwarykowski/shepherd!18
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/stats"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Adds
shepherd stats [--json] [--all](plus a--statslaunch flag) that summarises a board as terminal charts.Metrics:
--allonlyDone-based counts include the archive so completion rate stays honest.
--jsonemits the raw numbers (no charts) for scripts/agents; charts render to a tty in a responsive grid.How
todo.Compute([]Item) Stats— pure, I/O-free, clock pinnable for tests.store.LoadArchive/LoadAllArchives— done-item history.internal/cli/charts.go— the only ntcharts import. Sparkline + braille time-series come from ntcharts; horizontal bars are hand-drawn (ntcharts' horizontal barchart reversed row order and left mid-bar artifacts for the single-value case).helpand-h/--helpunified viacli.Usage()so they never diverge.Test
internal/todo/stats_test.go— every bucket asserted against a pinned clock.internal/cli/stats_test.go— archive counted,--allpopulates by-project,--jsonemits no chart glyphs.go build/go vet/go test ./.../golangci-lint runall green.