---
title: "Syngraphe — managed repository context for humans and coding agents"
description: "Keep repository context versioned, current, and understandable by both humans and coding agents."
source: https://syngraphe.dev/
context-schema-version: 1
---

# Syngraphe

> Syngraphe keeps repository context versioned, current, and understandable by both humans and
> coding agents. It creates a small `.context/` directory of Markdown describing a repository,
> points every coding agent at it through `AGENTS.md`, and checks that the result stays intact.

- Version 0.1.0, context schema version 1. Apache-2.0, vendor-neutral, open source.
- Commands: `syngraphe init` (with `--dry-run`), `syngraphe status`, `syngraphe check` (with `--json` and `--strict`). The binary is also installed as `syg`.
- The context is committed Markdown, split by lifecycle: `truth/` (architecture, conventions), `state/` (current work), `decisions/`, `history/`.
- Deterministic and offline: no network calls, no AI, no account. Stable finding codes and exit codes for CI.
- Syngraphe owns only the text between its own markers in `AGENTS.md` and `CLAUDE.md`; everything else is preserved byte for byte, and a hand-edited block is reported rather than overwritten.
- Syngraphe is not a rule transpiler: it does not synchronize hooks, permissions, MCP configuration, subagents or skills between vendors.
- Source and issues: https://github.com/suffro/syngraphe

Every page below, concatenated as one document: https://syngraphe.dev/llms-full.txt

Any single page is available as Markdown at its own path with `.md` appended, for example https://syngraphe.dev/reference/cli.md

## Getting Started

- [Getting Started](https://syngraphe.dev/getting-started/): What Syngraphe is, why repository context belongs in the repository, and how to run it for the first time.
- [What is Syngraphe](https://syngraphe.dev/getting-started/what-is-syngraphe): A Git-native tool that keeps repository context correct, current, reviewable and readable by humans and coding agents alike.
- [Why Syngraphe](https://syngraphe.dev/getting-started/why-syngraphe): The case for keeping project knowledge inside the repository, in Markdown, versioned by Git and shared between humans and agents.
- [Installation](https://syngraphe.dev/getting-started/installation): Requirements, install options, and how to verify that Syngraphe runs.
- [Quickstart](https://syngraphe.dev/getting-started/quickstart): Initialize a repository, fill in the context, and verify it — in about five minutes.

## Guides

- [Guides](https://syngraphe.dev/guides/): Practical guides for adopting Syngraphe, writing context worth reading, wiring up agents, and running checks in CI.
- [Adopting an existing repository](https://syngraphe.dev/guides/adopting-an-existing-repository): Introducing Syngraphe into a repository that already has an AGENTS.md, a CLAUDE.md, vendor rules, or its own .context directory.
- [Writing the context](https://syngraphe.dev/guides/writing-the-context): What belongs in truth, state, decisions and history — and how to keep the documents worth reading.
- [Agent integrations](https://syngraphe.dev/guides/agent-integrations): How AGENTS.md, Claude, Cursor and Codex find the repository context — and how to add another agent.
- [Continuous integration](https://syngraphe.dev/guides/continuous-integration): Running syngraphe check in CI — exit codes, strict mode, JSON output, and what is worth failing a build over.
- [Troubleshooting](https://syngraphe.dev/guides/troubleshooting): Every failure Syngraphe can report, what causes it, and how to resolve it.

## Reference

- [Reference](https://syngraphe.dev/reference/): Commands, the context schema, managed blocks, finding codes, JSON output and exit codes.
- [CLI commands](https://syngraphe.dev/reference/cli): Every Syngraphe command and flag, with its output and exit codes.
- [Context schema v1](https://syngraphe.dev/reference/context-schema): The manifest, the standard layout, and the exact files syngraphe init creates.
- [Managed blocks](https://syngraphe.dev/reference/managed-blocks): The markers, the placement rules, the exact contents, and what drift means.
- [Checks and findings](https://syngraphe.dev/reference/checks): Every check Syngraphe runs, every finding code it can emit, and what each one means.
- [JSON output](https://syngraphe.dev/reference/json-output): The shape of syngraphe check --json, field by field, and what is guaranteed about it.
- [Exit codes](https://syngraphe.dev/reference/exit-codes): The five exit codes, what causes each one, and how to handle them in a script.

## Concepts

- [Concepts](https://syngraphe.dev/concepts/): The context model, the architecture, the safety guarantees, the decisions behind them, and what Syngraphe deliberately does not do.
- [The context model](https://syngraphe.dev/concepts/context-model): Truth, state, decisions and history — why repository context is split by lifecycle rather than by topic.
- [Architecture](https://syngraphe.dev/concepts/architecture): How Syngraphe is put together — the dependency direction, the plan/apply core, and the two registries.
- [Safety model](https://syngraphe.dev/concepts/safety-model): What Syngraphe guarantees about your files, what it refuses to do, and how each guarantee is enforced.
- [Design decisions](https://syngraphe.dev/concepts/design-decisions): The choices behind Syngraphe v0.1, the reasoning, and the alternatives that were rejected.
- [Scope and non-goals](https://syngraphe.dev/concepts/scope-and-non-goals): What v0.1 does, what Syngraphe will never do, and what is postponed rather than refused.

## Optional

- [Donate](https://syngraphe.dev/donate): Support the development of Syngraphe through Ko-fi.

