Install

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

How each surface is tracked

SurfaceHow it’s caughtGen typePrecision
Devin CLI (terminal)PostToolUse hook → blamely record devincliPer line
Devin IDE, local sessionDaemon watches the IDE’s session databaseschatPer line
Devin Cloud (web, Slack, IDE cloud session)Co-Authored-By trailer on the commit, read on git pullchatWhole commit

Devin CLI

blamely install adds a PostToolUse hook to Devin CLI’s user-wide config, so one install covers every repo:

OSHook 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:

OSSession 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

terminal
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 it

Then 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

Something unclear or wrong? Tell us.