Timesheets for your agent. A CLI backed by SQLite that any AI agent can call to log work.
You run a dozen AI agents across different repos. At 5pm you have no idea what happened today. Each agent is sandboxed to its own working directory and can't write to a shared worklog.
hrs is a CLI that any agent can call to log structured work entries. You get a SQLite database, markdown files on disk, and a TUI to see what got done.
Pure Go, no CGo. Download a prebuilt binary or go install. DB auto-creates at ~/.hrs/hrs.db.
hrs log works from any directory. Tell your agent to call it and you're done. No daemon, no config.
Every entry lands in SQLite and renders to daily markdown files. Human-readable, git-friendly, grep-able.
Vim-style TUI to browse entries by day. Scroll with j/k, switch days with h/l, delete with d. All in your terminal.
Filter by date range and category. Export as JSON or CSV. Pipe hrs ls --format json into anything.
Run hrs serve for agents that can't shell out, browser extensions, or webhook integrations. The CLI auto-detects it.
# Download a binary (easiest)
# → darwin_arm64, darwin_amd64, linux_amd64, linux_arm64
# or via Go (needs $(go env GOPATH)/bin on your PATH)
go install github.com/heuwels/hrs@latest
# Log from any agent or terminal
hrs log -c dev -t "built auth flow" -b "oauth2 pkce;token refresh;tests" -e 3
# See what happened today
hrs ls
# Browse interactively
hrs tui
Add to your CLAUDE.md, .cursorrules, or equivalent:
After completing significant work, log it with `hrs log`.
Run `hrs log -h` to discover the flags.
Log proactively. Don't wait to be asked.
Zero config. Data goes to ~/.hrs/hrs.db automatically. See the full docs for agent integration, API reference, and all CLI commands.