A structured devlog system that instructs Claude Code to document every coding session — what it did, why, what changed, and what to watch out for.
When Claude Code works on your project, the context of why decisions were made disappears the moment the session ends. This system creates a persistent, scannable record of every session so you can:
- Pick up exactly where the last session left off
- Understand why something was built a certain way weeks later
- Track what files changed and what dependencies were added
- Catch incomplete work, known risks, and untested assumptions
- Get a rough sense of cost and effort per session
Clone this repo, then run the install script from inside any project:
git clone https://github.com/tessak22/developer-diary.git
cd developer-diary
./install.sh /path/to/your/projectOr manually copy the files:
cp CLAUDE.md /path/to/your/project/CLAUDE.md # or append to existing
cp .devlog-template.md /path/to/your/project/.devlog-template.md
touch /path/to/your/project/devlog.md| File | Purpose |
|---|---|
CLAUDE.md |
Instructions Claude Code reads automatically at session start. Contains all devlog rules. |
.devlog-template.md |
The template used for each diary entry. Hidden file to keep your root clean. |
devlog.md |
The actual diary. Created on first session if it doesn't exist. |
Each session produces an entry like this:
## 2025-02-17 14:32:08 CST → 15:47:22 CST
**Model:** claude-sonnet-4-5-20250514
**Session Duration:** ~1h 15m
**Branch:** feature/auth-flow
**Commits:** a1b2c3d → e4f5g6h
**Tool Calls:** ~34
**Confidence:** High
### Task
Implement OAuth2 login flow with Google provider.
### What Was Done
- Built the full OAuth2 redirect and callback flow...
- Added session token generation...
### Files Changed
**Created:** app/auth/google.py, tests/test_auth.py
**Modified:** app/routes.py, requirements.txt
**Deleted:** none
### Decisions & Tradeoffs
Chose authlib over requests-oauthlib because...
### Dependencies Changed
- Added: authlib 1.3.0, httpx 0.27.0
### Surprises & Gotchas
Google's token endpoint returned an unexpected...
### Testing
All 12 existing tests pass. Added 4 new tests for...
### Incomplete / TODOs
- [ ] Token refresh logic not yet implemented
- [ ] Error handling for revoked tokens
### Risks & Review Notes
- Medium risk: Session token expiry is set to 7 days — verify this aligns with security policyEdit .devlog-template.md to add or remove sections. The CLAUDE.md instructions reference section names, so update both if you rename anything.
Common additions:
- Performance notes — for projects where latency or memory matters
- Migration notes — for database-heavy projects
- API changes — for library or service projects
- Screenshots/links — for frontend work
- Add
devlog.mdto.gitignoreif you want it local-only, or commit it if you want the history shared with your team. - The diary is append-only by design. Don't edit old entries — add a new one that references the old session instead.
- Search with
grep -n "TODO" devlog.mdto find all outstanding items across sessions. - Use
git log --oneline a1b2c3d..e4f5g6hwith the commit hashes from any entry to see the exact diff.
MIT — do whatever you want with it.