Skip to content

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 ​

bash
npm install -g syngraphe

npx, project-local and from-source installs are on the installation page.

Run it ​

1. Initialize ​

bash
cd my-project
syngraphe init

Actual outputPrinted by syngraphe init in a repository that has no AGENTS.md or CLAUDE.md yet.

text
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.

md
# Current State

## Current focus

## Recent relevant changes

## Next

## Blockers

Open .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.

md
# 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 ​

bash
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.

PathWhat is written into it
.context/manifest.jsonprotocol, schemaVersion and layout — three keys, listed in full below.
.context/index.mdThe reading order, pointing at the files in this table. The one generated document that contains prose.
.context/truth/architecture.mdEmpty headings: Overview · Major components · Data flow · External systems · Important constraints.
.context/truth/conventions.mdEmpty headings: Repository conventions · Development workflow · Important rules.
.context/state/current.mdEmpty headings: Current focus · Recent relevant changes · Next · Blockers.
.context/decisions/README.mdTwo sentences saying what the directory is for.
.context/history/README.mdTwo sentences saying what the directory is for.
AGENTS.mdOne managed block pointing agents at .context/. Everything already in the file is preserved.
CLAUDE.mdOne managed block containing @AGENTS.md, so Claude Code reads the same file every other agent does.

GeneratedThe complete manifest, byte for byte.

json
{
  "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.

md
# Architecture

## Overview

## Major components

## Data flow

## External systems

## Important constraints

Nothing 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.

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