Skip to content

What is Syngraphe ​

Syngraphe keeps repository context versioned, current, and understandable by both humans and coding agents.

Concretely:

  1. syngraphe init creates .context/ — a small set of Markdown documents describing the repository — and adds a managed block to AGENTS.md telling agents to read them.
  2. syngraphe status summarizes what that context currently contains.
  3. syngraphe check verifies that the context is structurally intact and that the agent bootstrap has not drifted.
  4. syngraphe stats measures the context and flags large or duplicated documents.
  5. truth, decision, state and history create and list documents in each part of the context; state archive moves the current state into history.

Every command that writes can show its plan first with --dry-run, --scope gives a package in a monorepo its own context, and a bundled GitHub Action runs the same checks in CI. There is no server, no account, no index to rebuild, and no AI call anywhere in the tool.

What "repository context" means here ​

Every repository carries knowledge that is not in the code: why the architecture looks like this, which conventions are load-bearing, what is being worked on right now, what was decided and rejected two months ago. That knowledge usually lives in chat threads, tickets, and people's heads.

Syngraphe gives it a home in the repository itself:

text
.context/
├── manifest.json          # schema version and layout
├── index.md               # router into the context
├── truth/                 # stable facts: architecture, conventions
├── state/                 # volatile facts: current focus, next steps, blockers
├── decisions/             # what was decided, and why
└── history/               # what used to be true

The split is by lifecycle, not by topic — see the context model for why that distinction is the one that matters.

The philosophy ​

  • The context belongs to the repository, not to Syngraphe. It is committed, reviewed in pull requests, and branched with the code it describes.
  • Git provides history and versioning. No separate database, no second timeline.
  • Markdown is the primary format. Anyone can read and edit the context with a text editor.
  • Humans and agents read the same documents. There is no agent-only copy to keep in sync.
  • The repository stays usable without Syngraphe. If the executable disappears, .context/, AGENTS.md, Markdown and Git history remain complete and meaningful.
  • The deterministic core works offline and without AI. Optional AI support may come later; it will never be required.

The architectural invariant, stated plainly:

Syngraphe implements the repository-context protocol. The repository-context protocol does not depend on Syngraphe.

What it is not ​

Syngraphe is not a memory service, not a rule transpiler, and not a wrapper around a model. It does not synchronize hooks, permissions, MCP configuration, subagents or skills between vendors — those are vendor concerns and stay that way. See scope and non-goals for the full list, including what is deliberately postponed.

Who it is for ​

  • Teams whose repositories are read by coding agents as well as people, and who are tired of re-explaining the same architecture in every session.
  • Maintainers who want the "why" behind a decision to survive the person who made it.
  • Anyone who wants project knowledge to be reviewable in a diff instead of trusted from memory.

Next ​

Syngraphe v0.4.1 · context schema v1 · GitHub · Donate