DevLog — Your Engineering Brain
Passively captures your coding activity and synthesizes it into daily journals, standups, and performance reviews. Zero manual input. Zero discipline required.
What is DevLog?
You spend 8+ hours a day writing code, debugging, making decisions, and solving hard problems — yet almost none of it gets captured. Three months later, nobody remembers why a decision was made. Performance review season is painful guesswork. Standups take 10 minutes of trying to remember what you did yesterday.
DevLog fixes this silently. It watches your editor activity, groups it into work sessions, and uses AI to synthesize everything into a readable daily engineering log — automatically.
Fully standalone — no CLI, no terminal commands, no separate install. Just the extension and an API key.
Features
- 🔇 Passive capture — watches file saves, git commits, errors, and debug sessions automatically
- 👤 User-aware — filters commits by your
git config user.email so teammates' work never appears in your log
- 🤖 Groq or Gemini — bring your own key from either provider, both free tier supported
- 📋 Standup generator — numbered list format, Copy and Copy for Slack buttons
- 📅 Date picker — view standup for any past date that has a log
- 🏆 Performance review — STAR-format achievements for quarter / half / year with Visual and Terminal toggle
- 📊 Status dashboard — quick stats and one-click actions
- 🗄️ Local-first — all data in
~/.devlog/. Nothing leaves your machine without your action
- 🚀 First-run bootstrap — on install, reads your last 90 days of git history and generates logs immediately
Requirements
- VS Code 1.88+ or Cursor
- A free API key from one of:
Quick Start
1. Install the extension
Search DevLog in the Extensions panel, or install the .vsix directly.
2. Set your API key
On first use, DevLog will prompt you to:
- Choose your provider — Groq or Gemini
- Paste your API key
The key is saved globally to VS Code settings (devlog.apiKey) — you won't be asked again.
Or set it manually in Settings (Cmd+, → search devlog):
{
"devlog.apiKey": "gsk_..."
}
3. Code like normal
DevLog activates automatically. You'll see 📓 DevLog in the status bar — that means it's capturing.
4. Use the Command Palette
Cmd+Shift+P → search DevLog:
| Command |
Description |
DevLog: Synthesize Now |
Synthesize today's activity → opens full log webview |
DevLog: Synthesize Past Date |
Input any past date → synthesize and view that day |
DevLog: Show Today's Log |
Open today's log (prompts to synthesize if none exists) |
DevLog: Generate Standup |
Date picker → standup webview with Copy + Copy for Slack |
DevLog: Performance Review |
Pick period → STAR achievements with Visual / Terminal toggle |
DevLog: Status |
Dashboard with stats, recent logs, and quick action buttons |
AI Providers
DevLog auto-detects your provider from the key format:
| Provider |
Key prefix |
Models used |
| Groq |
gsk_ |
llama-3.3-70b-versatile (synthesis, standup, review) · llama-3.1-8b-instant (bootstrap) |
| Gemini |
AIza |
gemini-2.5-flash (synthesis, standup) · gemini-2.5-pro (review) · gemini-2.5-flash-lite (bootstrap) |
Both are free tier — no credit card required.
Settings
| Setting |
Default |
Description |
devlog.apiKey |
"" |
Your Groq (gsk_...) or Gemini (AIza...) API key |
What DevLog captures
| Signal |
How |
| Files opened / edited / saved / closed |
VS Code file events |
| Editor errors and warnings |
VS Code diagnostics API |
| Debug session start / stop |
VS Code debug API |
| Git commits (your commits only) |
VS Code Git API, filtered by git config user.email |
| Uncommitted changes on session end |
VS Code Git API |
Never captured: source code content, file contents, stdout/stderr, clipboard, browser activity.
All data stored locally:
~/.devlog/events-YYYY-MM-DD.jsonl ← raw captured events
~/.devlog/log-YYYY-MM-DD.json ← synthesized daily logs
~/.devlog/.bootstrapped ← first-run flag
First-Run Experience
On first install, DevLog reads your git history for the past 90 days across all branches — filtered to your commits only — and generates daily logs automatically. You'll see a notification like:
DevLog: Welcome! Generated 47 daily logs from your git history.
[View Performance Review]
This gives you an instant performance review and standup history from day one.
Sample Output
Daily log summary:
On branch fix/payments, resolved a race condition in the Stripe
webhook handler causing duplicate orders (commit a9f3b2c). Updated
extension README and bumped package versions to 0.3.0.
Standup (Yesterday):
1. On fix/payments — resolved race condition in webhook handler (a9f3b2c)
2. Updated README with multi-provider setup instructions
3. Bumped extension version to 0.3.0 and rebuilt .vsix
Troubleshooting
"devlog.apiKey is not a registered configuration"
Uninstall the old DevLog extension completely, reload VS Code, then reinstall the new .vsix. Old versions registered devlog.groqApiKey — the new version uses devlog.apiKey.
DevLog: Generate Standup shows no dates
Run DevLog: Synthesize Now first to generate today's log. The standup picker only shows dates that have been synthesized.
Branch shows as "unknown"
Make sure the VS Code Git extension is active — you should see the branch name in the VS Code status bar. DevLog reads branch info from VS Code's built-in Git API.
Standup is too generic
Make at least one commit before synthesizing. DevLog generates the most specific standups when it has commit messages to reference. Also make sure git config user.email matches your commits — DevLog filters by this.
Groq 429 rate limit
Switch to Gemini: Cmd+, → devlog.apiKey → replace with your AIza... key.
Privacy
DevLog was designed with developer trust as a hard constraint:
- The capture layer reads file names and metadata only — never source code contents
- Every event written to
~/.devlog/ is human-readable JSON you can inspect at any time
- The digest sent to Groq/Gemini contains only structural metadata about your activity
- Commits are filtered to your
git config user.email — teammates' work is never included
License
MIT © Madhankumar