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.
- 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.
- 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 theownerfield of avinc_conventionsanswer.
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 -->
- Domains: the domains in use, with node counts. At most 12 are listed; the rest are summed up as "and N more".
- Ratified vocabulary: node and edge types a person approved, on top of the built-in ones.
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.
vinc_conventions, so a rebuild mainly matters for what you read in the app or keep in a file.Options
| Option | What it does |
|---|---|
--file PATH | Refresh this file in place. Without it, a new GRAPH.md is printed. |
--out PATH | Write to this path instead of printing. |
--doc | Read and write the copy stored in the graph instead of a file. Needs --owner. |
--owner OWNER | Whose graph to count domains in, and whose stored copy --doc uses. |
--lang en|ko | Template language for a new file. A refresh keeps the file's own language. |
--data DIR | Use 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.