Skip to content
Docs

SpecsGraph documentation

SpecsGraph is an open-source, versioned model of your software system that engineers and AI agents shape together over MCP and commit to Git.

What SpecsGraph is

SpecsGraph holds one model of the system you are building: its bounded contexts, services, requirements, domain vocabulary and the decisions behind them. Engineers and AI agents work on that same model. Agents connect over MCP and propose changes, people review and approve them, and every approved change is committed to your Git repository next to the code.

It is built for engineering teams that write code with AI agents and want a single source of truth that people and agents can both rely on. It works for one developer too: you review your own agent's proposals.

How a change moves through SpecsGraph

  1. An agent proposes the change

    Your coding agent reads the graph through the SpecsGraph MCP server and drafts a proposal where the change belongs, for example a new requirement in the Orders context.

  2. Requirements gain structure

    The proposal is typed data, not free text: requirements with IDs such as ORD-12, acceptance scenarios written as Given, When, Then, and words taken from your domain glossary.

  3. The spec lands beside the code

    A person reviews and approves the proposal. SpecsGraph then commits it to the specsgraph/ folder on a proposal branch and opens a pull request. Merging that pull request publishes the change, so the spec and the code share one history.

How the spec workflow works follows a real change through every status, from the first draft to the merged pull request.

How it differs from a wiki or a folder of Markdown

A wiki stores pages and a docs folder stores files. Both hold prose that people and agents have to interpret, and both drift the moment nobody updates them. SpecsGraph stores a typed, linked model instead:

  • Structure you can query. A requirement belongs to a context, has a stable ID and links to the terms and actors it mentions. Agents ask for exactly that over MCP instead of searching text.
  • One definition per term. The glossary holds each term once, and every place in the model that uses it links back to it.
  • Review before it counts. Changes arrive as proposals with review threads on each node. Nothing becomes part of the spec until a person approves it.
  • Git history. Every revision is a Git commit you can diff and review. You roll one back by restoring an earlier version through a proposal; see History and versions.

You still get plain files. SpecsGraph writes Markdown and a machine-readable graph.json into your repository, generated from the model so they stay consistent with each other. See Spec files in your repository.

Self-hosted today, Cloud coming soon

SpecsGraph is fully open source, and today you run it yourself. The self-hosted edition is the complete product and free, and it makes servers, upgrades, backups and your own GitHub App your job. SpecsGraph Cloud, where we run it for you, is coming soon; the pricing page shows what is planned.

Start here

Browse the docs

  • Getting started

    What SpecsGraph is, the core ideas and a first spec change on your own install.

  • Model your system

    Contexts, glossary terms, actors, requirements and the relationships between them.

  • Collaborate

    Workstreams, reviews, decisions and the history behind every revision.

  • Agents and MCP

    Connect Claude Code, Cursor, GitHub Copilot or any MCP client to the graph.

  • Git and publishing

    How approved changes become commits and files in your repository.

  • Self-hosting

    How you run SpecsGraph today: the open-source stack on your own servers, with Docker Compose.

  • Cloud (coming soon)

    What the hosted edition will offer once it launches: plans, seats, security and moving over from self-hosted.

  • Reference

    Answers to common questions and the methods SpecsGraph builds on.