ArchGraph · architecture-graph driven Agentic Engineering
Your coding agent forgets everything between sessions, and the "why" behind your system lives nowhere. ArchGraph fixes that: it keeps one architecture graph — a picture of your project's parts and how they relate — as the agent's durable memory and your product's design, read and written over a single MCP (Model Context Protocol) server.
The graph's vocabulary — its ontology, the set of types and relationships it may hold — is yours to define. The built-in default is ArchiMate 3.2 + ARGO extensions (ArchiMate is a standard enterprise-architecture modeling language; ARGO is the toolchain and agent-workflow layer behind argo-deploy and argo init); a repository can plug in its own. One install, one interface to learn, and a graph that stays clean because writes are deduplicated.
$ npm install -g archgraph-argo $ argo-deploy
# inside your project, ask your coding agent to run (not a shell command): argo init # the initializeWorkspace MCP call
What is this?
Running coding agents on a real codebase hurts in two ways: every session starts cold, and the "why" behind the system lives nowhere. ArchGraph makes one architecture graph the single source of truth — a durable, tiered memory the agent reads semantically and writes with reuse-by-default (a duplicate needs an explicit override), plus a model you can reason over. It is one MCP interface to install and learn.
Why ArchGraph
The usual fixes for agent context — loose files, a plain vector store, a wiki/ADR folder, a general graph or ontology tool — each work until they don't. The real differentiator isn't "custom vs. locked": Protégé/OWL, Neo4j, TerminusDB, and Archi/EA all let you extend a model. It is a first-class, validated, runtime-resolved schema bundle behind one MCP interface, with typed dedup and commit traceability built in.
See the full comparison — including what ArchGraph itself costs you →
Bring your own ontology
ArchGraph separates the core from the ontology. A repository drops a schema bundle under .argo/schema/ — element and relationship types, endpoint rules, an actor contract — and validation, MCP guidance, and the .qea projection follow it. A bundle can extends: "default" — inheriting the built-in ArchiMate 3.2 + ARGO extensions — and add its own types, with no framework change.
Its active schema uses extends: "default" — inheriting the built-in ArchiMate 3.2 + ARGO extensions — and layers a UML 2 state-machine profile on top, resolved at runtime from .argo/schema/ rather than hardcoded in the framework.
Capabilities
Tiered long-term memory · pluggable ontology · semantic + structural retrieval · deduplicated writes · acceptance-test-first traceability · Enterprise Architect (.qea) interop · federated sovereign graph sharing · one MCP interface across six harnesses. Each has a short page.
matchedSnippet.Install & deploy
Requires Node.js ≥ 18. One argo-deploy registers the MCP server and installs the skills and rules into GitHub Copilot, Cursor, OpenCode, DeepSeek Harness, OpenClaw, and Codex (agents where the host supports them), then walks you through ~/.argo/.env.
npm install -g archgraph-argo argo-deploy
For context reads and writes, deduplication, and Enterprise Architect interop, Node.js is all you need — no database. The structural Cypher (Neo4j's graph query language) projection and all semantic Graph RAG additionally need a Neo4j instance and an OpenAI-compatible embedding endpoint; until those are configured, argo init's structural sync and semantic lifecycle report failed (the graph itself is still created).
After deploying, restart your editor / host so it reloads the new MCP server.
Build your own graph
Pick one route. Everything runs through your coding agent and the ARGO MCP server; the only commands you run yourself are the install. The fully-illustrated walkthrough is docs/case-team-graph.html (Chinese).
No schema work: use the built-in ArchiMate 3.2 + ARGO extensions.
npm install -g archgraph-argo then argo-deploy (requires Node.js ≥ 18), and restart your editor / host.argo init (the initializeWorkspace MCP call) — it creates and validates design/KG/SystemArchitecture.json, which already holds the project's root view named SystemArchitecture.applySystemArchitectureMutation and attach each item to the project's existing root view — have it resolve that view's real view_id first; do not pre-create a view (a second SystemArchitecture view would collide, and a different id would then fail). No schema work.validateSystemArchitecture, then queryNeo4jGraph with {"schema": true}..argo/schema/. A standalone bundle — a full SystemArchitecture.schema.json, editing its two $defs enum arrays, archimateElementType and archimateRelationshipType — must also declare actorElementType in schema-bundle.config.json, set to one of your element types (or to null if your schema genuinely has no actor concept), or loading fails closed (bundleValidation.status: "failed") and validation/writes are blocked. A bundle that only extends: "default" needs just the config; schema-bundle.rules.json stays optional.argo init does not create the graph (the packaged default would not match) and fails closed with NO_DEFAULT_GRAPH. Before any MCP write, create design/KG/SystemArchitecture.json by hand with your own types and root view, then ask your coding agent to run argo init to validate it.applySystemArchitectureMutation, attaching each element and relationship to the root view you authored.The result looks like this — the Team Graph example (4 elements, 3 relationships, one root view):
How to use
Step 0 — initialize the workspace. In a fresh project, ask your coding agent to run argo init (the initializeWorkspace MCP call). It creates a starter design/KG/SystemArchitecture.json when missing and verifies the architecture; its first JSON → Neo4j sync and semantic-lifecycle steps report failed until Neo4j + an embedding endpoint are configured — the graph and its context reads/writes still work without them.
Then open your project and start a coding agent. It will:
The intent architecture graph — modelled by default in ArchiMate 3.2 + ARGO extensions — is the single source of truth.
Community
ArchGraph runs on open co-building. The community shares and reuses architecture subgraphs across projects. Sharing is federated: each project keeps its graph sovereign, and other members read opened content by reference. The center is a registry–broker that holds federation metadata, never content — register, discover, authorize, read.
Links
Getting started · Capabilities · Worked case: Team Graph · Insights · GitHub · graph-wiki
Theme note: this homepage uses a dark theme; the detail pages under docs/ use a light theme.