I help AI coding agents work on codebases too big for them
I build open-source tools that give coding agents the context and the checks they need on large and legacy systems: a code knowledge graph, architecture and API-contract rules a commit can fail on, and diagrams and dashboards generated from plain files an agent can write. Forty years of engineering, now aimed at the gap between adopting AI and getting it to work on real code.
What I’m building
- symgraph — a knowledge-graph MCP server that gives agents a real map of a codebase, and says when it isn’t sure
- tropism — architecture rules an agent can actually check: import cycles and layering across ten languages, with no build and no network
- brake — fails the commit when an API change would break a consumer, across OpenAPI, protobuf and GraphQL
- forge — describe, render, and lint architecture from a single file, with mmd and puml rendering Mermaid and PlantUML in pure Rust
- teleplot — Kibana dashboards without Kibana: one read-only binary over Elasticsearch, with an MCP endpoint so agents can write the dashboards
- increment — read a change as two aligned files in the terminal, and walk a branch commit by commit
- bx — run local MCP servers as native binaries, without a Node or Python runtime
Agents on large codebases
What a coding agent needs to work on a codebase it can’t read in one go: a map of the code, review that sees relationships rather than lines, and an inner loop with real sensors.
Architecture the agent can check
Compilers and tests only know the repository an agent is standing in. Making layering, dependencies and API contracts something a commit can fail on.
Building your own tools
Software with one known user can drop its whole configuration layer. What that changes, and what a personal estate of tools costs to run.
Featured Content
Looking for where to start? These are the pieces that have held up best — the tools change, the problems don’t:
- Technical Health over Technical Debt: Why internal quality is a health question rather than a ledger you service.
- Defending the Domain Model: Models decay as the business moves. Keeping yours honest at the boundaries.
- Team Distribution Models and Conway’s Law: If team shape and system shape must match, decide which one you’re choosing.
- Zero Down-time Relational Databases: Backward and forward compatible schema change. Written in 2013, still how it’s done.
- Code Review After the Pull Request: What review becomes once agents write most of the code.
Latest writing
Essays only — release notes are in Release notes, and the essays have their own RSS feed.
- Open source update: six new tools and what changed, September to October 2026
- Reading a change as two aligned files, in a terminal (increment)
- Mermaid to SVG without a browser, and with the labels still there (mmd)
- When an agent can already write the file, what is an MCP server for?
- The release pipeline four tools kept reinventing (release-kit)