Skip to Content

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 plan

What 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

OptionDescriptionDefault
--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'
Last updated on