A development ledger for teams building with AI agents. Capture decisions at the moment they exist. Harvest insights whenever you need them.
The Problem
Agent sessions get compacted, cleared, rotated. The reasoning that produced your code disappears with them.
fix: update pagination tells you nothing about which approach was chosen or what was rejected.
Comments get outdated, threads collapse, context rots. Nobody reads them six months later.
The Solution
The what, the why, the how — plus optional notes for capturing deliberation — versioned in Git, queryable forever.
what
What you did, in one line.
why
The trade-off. The verdict.
how
The approach you chose.
notes
The journey to the decision. Optional.
Artifacts
Seven built-in templates. Bring your own. Pipe to any LLM or use the built-in --model flag.
timbers draft decision-log --last 20
## ADR-003: Cursor-Based Pagination
Status: Accepted
Context: Duplicate items in paginated feeds
Decision: Cursor tokens over offset/limit
Consequences: Stable pages under
concurrent writes...
timbers draft changelog --since 7d
## [0.10.0] - 2026-02-14
### Added
- Auto-commit entries on timbers log
- Content safety coaching in prime
### Fixed
- PostToolUse hook reading stdin
- Terminal colors on Solarized Dark...
timbers draft sprint-report --last 10
## Sprint 7 Summary
Completed: 6 items
### Highlights
- Shipped v0.9.0 coaching rewrite
- Fixed CI/CD pipeline
- Updated tutorial documentation
- Resolved Hugo baseURL drift...
Built-in: changelog · decision-log · devblog · pr-description · release-notes · sprint-report · standup
Philosophy
Raw session capture
Timbers
AI sessions are the haystack. Timbers entries are the needles.
Integrations
If it can run a shell command, it can use timbers. Claude Code has the deepest integration via hooks — others work via MCP or instruction files.
Get Started
Install
Initialize in your repo
Your agent documents the work
Once configured, your agent captures decisions as it works. You harvest the insights.