Connect

Build GRAPH.md

Start from the template, store it in the graph, and rebuild it whenever the graph grows. Rebuilding only rewrites the part Vinc fills in.

Your first GRAPH.md

A new graph has no stored GRAPH.md. Until you save one, vinc_conventions hands assistants the default template with "source": "default" and "missing": true. Reading it does not store anything, so the graph still has none afterwards.

To store one, pick either way below.

  1. In the app: open Settings > GRAPH.md and press Rebuild. The app writes the template with today's generated region and saves it. Edit the prose there and press Save. See the app page.
  2. From the CLI, on the local graph: vinc graph-md build --doc --owner <owner> builds it and stores it in the graph. The owner is the owner field of a vinc_conventions answer.

The template comes in English or Korean. Add --lang ko for Korean. The language only sets the headings and prose; the template asks assistants to write node titles and bodies in English either way.

Keep it as a file

You can also keep GRAPH.md as a file, in a repository for example, and check it there. Without --doc the CLI works on files:

vinc graph-md build                        # print a new GRAPH.md
vinc graph-md build --lang ko --out GRAPH.md
vinc graph-md build --file GRAPH.md        # refresh the generated region in place

The file and the copy in the graph are separate. An assistant reading through MCP sees the copy in the graph, so save your edits there when you want assistants to follow them.

What the generated region holds

Two short sections between the markers, filled from the graph:

<!-- vinc:generated start · ... -->
## Domains in this graph
vinc/design (84) · vinc/engineering (212) · vinc/agent (23)
A slash makes a tree: 'vinc/design' files that node under 'vinc', with nothing extra to author. Walk it with vinc_neighbors('domain:vinc').

## Ratified vocabulary
node types: playbook
edge types: supersedes
Anything else you write is kept and marked proposed, for a person to ratify.
<!-- vinc:generated end -->

Rebuild keeps your prose

Rebuilding an existing GRAPH.md replaces only the generated region and updates the date in the header. Every section you wrote stays exactly as it was, so rebuild as often as you like.

If the markers are broken (one is missing, there are two start lines, or the end comes before the start), the rebuild stops with an error and changes nothing. It does not guess where the region was. Put the two marker lines back and run it again.

When to rebuild: after new domains appear or a person approves new vocabulary. Assistants already get fresh values through vinc_conventions, so a rebuild mainly matters for what you read in the app or keep in a file.

Options

OptionWhat it does
--file PATHRefresh this file in place. Without it, a new GRAPH.md is printed.
--out PATHWrite to this path instead of printing.
--docRead and write the copy stored in the graph instead of a file. Needs --owner.
--owner OWNERWhose graph to count domains in, and whose stored copy --doc uses.
--lang en|koTemplate language for a new file. A refresh keeps the file's own language.
--data DIRUse this local data folder instead of the app's.

vinc graph-md works on the local graph. For the account graph, use the app in account mode.