gtmesh plan
Computes the deterministic, read-only diff between your desired state and what’s committed, prints it, and writes the planfile.
gtmesh plan # print the plan (like `terraform plan`); also writes the planfile
gtmesh plan --json | jq . # machine output
gtmesh plan > plan.md # keep the rendered planWhat it does
plan computes the same registry-to-registry diff that apply will enact — but changes nothing, so you can run it as often as you like. The printed plan shows the action summary, the catalogue/create breakdown by page type, anything needing human review, and an Unresolved list — pages that matched no sections_map/page_types rule.
The engine never guesses: if a row is unresolved, fix the config rule (or add a seed/override) and re-plan until the unresolved list is what you expect. Re-planning is free.
plan is optional — apply computes the same diff itself. Run plan whenever you want a read-only preview; you never need it between a change and an apply.
Arguments & flags
| Option | Description | Default |
|---|---|---|
--out <file> | Override the plan.json output path | .gtmesh/plan.json |
The global --json switches stdout to machine-readable output.
Reads & writes
- Reads: the config, reference tables, seeds, and the frozen data bag.
- Writes: the human view to stdout, and a derived
plan.json(git-ignored). - It is read-only with respect to your committed state — it never touches the registry or page bundles.
Examples
gtmesh plan # review the diff before applying
gtmesh plan --out /tmp/p.json
gtmesh plan --json | jq '.actions'Related
- Platform: Plan & apply
- Guide: Walkthrough, Lifecycle & reconcile
- CLI:
gtmesh apply