Devin
Devin runs in three places — a terminal CLI, a desktop IDE, and the cloud — and Blamely attributes all three. There is nothing Devin-specific to configure: blamely install detects Devin and sets up whatever each surface needs.
You need the CLI installed first
See Install the CLI.
How each surface is tracked
| Surface | How it’s caught | Gen type | Precision |
|---|---|---|---|
| Devin CLI (terminal) | PostToolUse hook → blamely record devin | cli | Per line |
| Devin IDE, local session | Daemon watches the IDE’s session databases | chat | Per line |
| Devin Cloud (web, Slack, IDE cloud session) | Co-Authored-By trailer on the commit, read on git pull | chat | Whole commit |
Devin CLI
blamely install adds a PostToolUse hook to Devin CLI’s user-wide config, so one install covers every repo:
| OS | Hook config |
|---|---|
| macOS / Linux | ~/.config/devin/config.json (or $XDG_CONFIG_HOME/devin/config.json) |
| Windows | %APPDATA%\devin\config.json |
No model, tokens or conversation
Devin’s hook payload carries no transcript, so Devin CLI edits are attributed per line but show no model name, token counts, or conversation in the note.
Devin IDE
The Devin IDE is a VS Code–compatible editor. blamely install finds its bundled devin-desktop CLI and installs the Blamely extension into it, so you get the same Source Control views as the VS Code guide.
The IDE’s agent has no hook framework, so the daemon reads the session databases it writes instead:
| OS | Session databases |
|---|---|
| macOS | ~/Library/Application Support/devin/User/acp-messages/*.db |
| Linux | ~/.config/devin/User/acp-messages/*.db |
| Windows | %APPDATA%\devin\User\acp-messages\*.db |
The databases are opened read-only. Only completed edits to files that exist on this machine inside a git repo are recorded.
Devin Cloud
A cloud session edits files in a remote sandbox, so there is no local edit to observe. What reaches you is the commit, carrying Devin’s own trailer:
Co-Authored-By: Devin <…+devin-ai-integration[bot]@users.noreply.github.com>When a git pull brings in such a commit, the global post-merge hook credits its lines to Devin. This is commit-scoped rather than line-precise, and it never overrides an edit that was actually recorded on your machine.
Verify
blamely detect # Devin should be listed
blamely doctor # checks the Devin CLI hook and the post-merge script
blamely log devin # prints each Devin CLI edit as the daemon records itThen run through Quick start with Devin writing the code.
Update / uninstall
Re-run blamely install after installing or updating Devin — it’s idempotent. blamely uninstall removes only the Blamely-owned entry from Devin’s config.
Next
- Detection model — how hooks, watchers, and trailers combine.
- Debugging with log — trace Devin CLI edits live.
Something unclear or wrong? Tell us.