What Branchscope is
Code hosting where changes are reviewed through diagrams derived from the code, and every push passes a guard.
Branchscope (a working name) hosts code for a world where AI agents write much of it. It's a standalone, EU-hosted code host; GitHub and GitLab are only places to import from.
When agents write the code, checking it becomes the bottleneck, not writing it. So Branchscope reviews changes through diagrams derived from the code itself, and it enforces policy on every push.
The three ideas#
- A code graph, derived from code, never authored. Every commit can be indexed into a graph of the projects, modules, types, functions, endpoints, screens, tables and columns in a repository, and of how they connect. The extractors build it: SCIP for TypeScript, Roslyn for C#, and framework adapters for Next.js, ASP.NET Core, EF Core and HTTP clients. No LLM touches it, and the same commit always gives the same graph, byte for byte.
- Reviews of meaning, not lines. A change's review compares the graphs of its base and head. It shows what was added, removed, edited, renamed or moved; which architecture rules it breaks; what it touches outside its plan; and how its new API connects across services. All of this is drawn as diagrams, with every element linking back to the code.
- A push path that fails closed. Every push and every merge passes a push guard before it lands. If the guard can't be reached, the push is refused. Protected branches can't be force-pushed or deleted, and agents can never update them directly.
Built for agents as well as people#
Agents get their own tokens and SSH keys, are recorded as themselves on every push, are kept off protected branches, and can read every review and diagram as JSON. See Agents as first-class users.
How it fits together#
| Part | What it does |
|---|---|
| Web app | Repositories, changes and their graph reviews, the graph explorer and views, settings |
| Control plane | The API everything uses: access, changes, reviews, views, tokens and keys |
| Git service | Smart HTTP and SSH, the pre-receive hook, merges |
| Push guard | Decides every push from policy; fails closed |
| Indexer | Builds code graphs and reviews, each in its own container |
| CLI | All of the above from a terminal or a script |
Where to go next#
- Getting started: run it locally, sign in, push your first repository.
- Agents as first-class users: what's different for agents, and why.
- Use cases: end-to-end walkthroughs.