Quickstart
A first run on a repository you already have, in two routes. Quick is the shortest sequence that leaves a working, committed context. Guided is the same run with the plan previewed before anything is written and the diff read afterwards — take it if this is a repository you would rather not surprise.
Both end in the same place. Neither invents anything about your project: everything Syngraphe writes is listed in what init writes.
Install
npm install -g syngraphenpx, project-local and from-source installs are on the installation page.
Run it
1. Initialize
cd my-project
syngraphe initActual outputPrinted by syngraphe init in a repository that has no AGENTS.md or CLAUDE.md yet.
Syngraphe initialization
CREATE
.context/manifest.json
.context/index.md
.context/truth/architecture.md
.context/truth/conventions.md
.context/state/current.md
.context/decisions/README.md
.context/history/README.md
AGENTS.md
+ Syngraphe repository-context bootstrap
CLAUDE.md
+ @AGENTS.md compatibility import
9 files written.2. Write the context
The generated documents are headings and nothing else. That is deliberate: Syngraphe knows nothing about your repository, and generated prose pretending otherwise is the exact failure the tool exists to prevent.
GeneratedThe whole of .context/state/current.md as syngraphe init writes it.
# Current State
## Current focus
## Recent relevant changes
## Next
## BlockersOpen .context/truth/architecture.md and .context/state/current.md and fill the headings in.
ExampleInvented, to show the level of detail — not a template, and not written by any command.
# Current State
## Current focus
Migrating billing off the legacy schema.
## Recent relevant changes
- `invoices` is now written by the worker, not the API.
## Next
- Backfill historical rows, then delete the legacy table.
## Blockers
- Waiting on the finance export before the backfill can run.Keep the two directories apart: truth/ is what stays true, state/ is what is true this week. See writing the context for what belongs where.
3. Check it, then commit
syngraphe check
git add .context AGENTS.md CLAUDE.md
git commit -m "Add repository context"check verifies the manifest, the directory structure, every path referenced from index.md, and both managed blocks. Until state/current.md says something, it ends on a STATE002 warning that the file contains only headings — the tool asking you to finish the job, not an error. It exits 0.
From here the context is ordinary repository content: reviewed in pull requests, versioned by Git, and read by anyone — or anything — that opens the repository.
What init writes
Nine files, and nothing else. Seven are new files under .context/; two are the agent bootstrap files, created if they are missing and patched with a single managed block if they already exist.
| Path | What is written into it |
|---|---|
.context/manifest.json | protocol, schemaVersion and layout — three keys, listed in full below. |
.context/index.md | The reading order, pointing at the files in this table. The one generated document that contains prose. |
.context/truth/architecture.md | Empty headings: Overview · Major components · Data flow · External systems · Important constraints. |
.context/truth/conventions.md | Empty headings: Repository conventions · Development workflow · Important rules. |
.context/state/current.md | Empty headings: Current focus · Recent relevant changes · Next · Blockers. |
.context/decisions/README.md | Two sentences saying what the directory is for. |
.context/history/README.md | Two sentences saying what the directory is for. |
AGENTS.md | One managed block pointing agents at .context/. Everything already in the file is preserved. |
CLAUDE.md | One managed block containing @AGENTS.md, so Claude Code reads the same file every other agent does. |
GeneratedThe complete manifest, byte for byte.
{
"protocol": "repository-context",
"schemaVersion": 1,
"layout": "standard"
}GeneratedThe whole of .context/truth/architecture.md. The other two documents under truth/ and state/ are the same shape: headings, no content.
# Architecture
## Overview
## Major components
## Data flow
## External systems
## Important constraintsNothing outside that list is created, moved or rewritten. Vendor configuration that Syngraphe recognises — .cursor/rules/, .cursorrules, .codex/ — is reported under UNCHANGED and never written to; see agent integrations for why.
What to read next
- Writing the context — what goes in each file.
- Adopting an existing repository — when the documents you need already exist somewhere else.
- Agent integrations — how each agent finds the context.
- CLI reference — every command and flag, including
truth newand the other document commands for adding context as it grows.