🎯 Goal
Implement an eko size command that walks .eko/snapshots/ and reports disk usage per snapshot (in KB/MB/GB) as well as a grand total, so developers can understand how much storage their history is consuming.
💡 Expected Output
$ eko size
ID Created Size
8c9d1a2f 2026-08-08 20:11 42.3 MB
3b7f2a1e 2026-08-07 14:32 40.1 MB
1f4a9b0c 2026-08-06 10:05 39.8 MB
──────────────────────────────────────
Total: 3 snapshots · 122.2 MB
🛠️ Implementation Steps
- Create
cmd/size.go with a Cobra command sizeCmd.
- Walk
.eko/snapshots/<id>/ using filepath.WalkDir and sum file sizes.
- Format sizes with human-readable units (KB, MB, GB).
- Support
--json flag for machine-readable output.
- Add unit tests in
cmd/commands_test.go.
📖 See full details in GOOD_FIRST_ISSUES.md — Issue #14
🌟 Great for first-time contributors! Read CONTRIBUTING.md to get started.
🎯 Goal
Implement an
eko sizecommand that walks.eko/snapshots/and reports disk usage per snapshot (in KB/MB/GB) as well as a grand total, so developers can understand how much storage their history is consuming.💡 Expected Output
🛠️ Implementation Steps
cmd/size.gowith a Cobra commandsizeCmd..eko/snapshots/<id>/usingfilepath.WalkDirand sum file sizes.--jsonflag for machine-readable output.cmd/commands_test.go.