Software Engineering 2026

Tools

The CLIs, MCP servers, other agents, and hooks around Claude Code on my laptop.

Programs that run next to the agent. Most are wired in through hooks, so they apply without me asking.

Context savers

rtk: a CLI proxy that filters and summarises command output before it reaches the model. rtk git status or rtk grep -rn returns the useful part instead of hundreds of lines. It is wired in as a PreToolUse hook on Bash. I skip it when exact bytes matter, for example a diff I am about to apply.

codegraph: indexes a repo into a SQLite graph of symbols, call edges, and files. One codegraph_explore call returns the source of the relevant symbols plus the call paths between them, which replaces a grep-then-read loop. It runs as an MCP server, and a UserPromptSubmit hook injects graph context for the prompt. It only applies in repos that have a .codegraph/ directory. Elsewhere, the agent ignores it.

Gates

  • no-mistakes: a local git proxy. Pushing through it runs code review, tests, lint, and docs checks before anything reaches the real remote.
  • CodeRabbit CLI: a second, independent code review from the terminal.

Proof

proving-it-works: a Claude Code plugin that records a narrated movie proving a change works, from a browser, terminal, desktop app or stills. Its movie check gate fails a movie whose picture freezes while narration keeps going, never changes, or has silent audio: defects that per-frame checks miss. I use it for the GIF/video evidence on frontend PRs.

Review surface

lavish-axi: turns an HTML page the agent wrote into a review surface. I annotate elements in the browser, queue comments, and the agent picks them up. Good for plans and comparisons that are painful to read in a terminal.

Other agents

  • Codex CLI and Cursor agent: second opinions. A different model reviewing the first one's work catches things a self-review does not.
  • Ollama: local models, for work that should not leave the laptop.

Workspace glue

  • herdr: a terminal workspace manager for coding agents. A SessionStart hook reports each agent's state to it.
  • iTerm status hooks: every lifecycle event (Stop, Notification, PermissionRequest and the rest) calls one small script that updates the tab badge, so I can see which session is waiting on me.
  • Status line: directory, branch or worktree, model, context used, rate limit used.

Config snippets

Hooks in ~/.claude/settings.json

The three hooks that do real work. Every other lifecycle event calls the iTerm status script.

{
  "hooks": {
    "SessionStart": [
      { "hooks": [{ "type": "command", "command": "lavish-axi", "timeout": 10 }] }
    ],
    "UserPromptSubmit": [
      { "hooks": [{ "type": "command", "command": "codegraph prompt-hook" }] }
    ],
    "PreToolUse": [
      { "matcher": "Bash", "hooks": [{ "type": "command", "command": "rtk hook claude" }] }
    ]
  }
}

codegraph MCP server

{
  "mcpServers": {
    "codegraph": { "type": "stdio", "command": "codegraph", "args": ["serve", "--mcp"] }
  }
}

On this page