Create a mesh
This section is the practical how-to: it takes you from nothing to a published page, using only the gtmesh CLI and two repo-local skills. If you are new to the vocabulary (registry, catalogue, seal), skim the glossary and mental models first — the words below all live there.
The pipeline in one line
init → operator → pull → plan → apply → promote → write → seal → publishgtmesh init scaffolds a clean repo; the repo-local operator skill then
drives the build loop conversationally — it runs pull → plan → apply and
resolves what the plan flags, with a human gate on every judgement call.
Each verb does one thing and commits its result. Nothing is hidden state: the
committed graph (graph/nodes.jsonl + graph/edges.tsv) is the source of truth
for every page that could exist and what state each is in.
The two loops
The pipeline above is not really one straight line. It is two loops that share a registry, with one human gate between them.
- The catalogue loop (cheap, automatic):
pull → plan → apply. This keeps a map of everything that could exist in sync with your keyword data. It creates no pages and writes no prose, so it is safe to run on a schedule. - The production loop (deliberate, human-driven):
promote → apply → write → seal → publish. This decides which catalogued pages you actually build, then builds, reviews, and ships them.
promote is the gate between the two. It sets a page’s status and builds
nothing — so the expensive, human-facing step (writing) is always an explicit,
reviewable choice, never a side effect of a data pull.
The diff is always graph-to-graph. plan compares what the committed graph
should be (from your inputs) against what’s committed; apply makes
reality match. plan is read-only; apply, seal, and the lifecycle commands
(promote, publish, …) are the only things that write state.
Where to go next
- Before you start — what to have ready before you run the operator: the business facts, demand access, and the one mindset shift (your internal labels are not search queries).
- End-to-end walkthrough — the full happy path, step by step: what each command does, what it reads and writes, what gets committed, and where a human decides.
- After init — you have a repo, now what: run the
operator loop, how to read the plan, the patterns to look for, what to tune, and
how to scaffold your first pages safely. Start here once
gtmesh initis done.
Once a mesh exists, you stop bootstrapping and switch to the refresh loop (change an input, reconcile) and the lifecycle reference (what each kind of change does to a built page).