Local-first CLI time tracking that stays out of your way.
- Go 1.21+
- SQLite is embedded via
modernc.org/sqlite(no CGO)
git clone https://github.com/grobmeier/humblebee
cd humblebee
go mod tidy
go build -o bin/humblebee ./cmd/humblebee- Database path:
~/.humblebee/humblebee.db - Override base directory with
HUMBLEBEE_HOME(database becomes$HUMBLEBEE_HOME/humblebee.db)
humblebee helphumblebee initCreates:
- a default user (single-user MVP; stored in
persons) - a
Defaultwork item (timers without an explicit work item storeworkitem_id = NULL)
Non-interactive:
humblebee init --email user@example.com --workitem "Client Project A"humblebee add "Client Project A"
humblebee add "Client Project A > Feature Development"
humblebee show
humblebee remove "Client Project A"Notes:
- Names are case-insensitive for lookup and uniqueness.
removearchives the selected work item and its entire subtree.
humblebee start "Client Project A > Feature Development"
humblebee start # starts "Default"
humblebee stopNotes:
- Only one running timer is allowed at a time (enforced in code and by a partial UNIQUE index).
- Cross-midnight time is split at local midnight for daily totals and reports (timestamps are stored as UTC Unix seconds).
humblebee report # current month
humblebee report 5 # month (1-12) in current year
humblebee report 5 2025 # month + year- Success = green, warnings = yellow, errors = red
- Disable colors with
--no-coloror by settingNO_COLORto any non-empty value
Run tests:
go test ./...