Skip to Content

gtmesh promote / gtmesh demote

Move registry rows forward (promote) or backward (demote) through the lifecycle by selector or exact slug. They set status and build nothing.

gtmesh promote --section glossary --dry-run # preview which rows would move gtmesh promote --section glossary # commit the promotion gtmesh demote --section blog # park a section back to backlog

What it does

promote is the gate between the cheap catalogue loop and the expensive production loop. Deciding which catalogued pages to actually write is always an explicit, reviewable choice — promotion is intent-based, reversible with demote, and applies by default (--dry-run previews). It writes only the status column of matched rows; the actual scaffolding happens on the next apply.

demote is the exact mirror: same selectors, moving rows backward (default target backlog).

promote/demote never build or rewrite a page — they only change status. To build the rows you promoted to queued, run apply.

Arguments & flags

Both commands take positional exact slugs and the same selector flags. Field predicates compose with AND; --under is a graph walk down the mesh.

SelectorSelects
[slugs...] (positional)Exact slugs (e.g. just the hub, not the whole prefix below it)
--section <name>Rows in a section
--cluster <name>Rows in a cluster (any axis)
--tier <id>Rows at a tier
--page-type <id>Rows of a page type
--slug-prefix <str>Rows whose slug starts with this prefix
--status <state>Scope to rows currently in this status
--under <hub-slug>A hub slug + everything reachable down the mesh from it
--to <status>Target status (default: queued for promote, backlog for demote)
--dry-runPreview the transition without writing

Reads & writes

  • Reads: the registry.
  • Writes: the status column of matched rows (nothing else; no page files).
  • Human gate: this is the gate — you decide what gets built.

Examples

gtmesh promote /integrations/slack # exactly the hub gtmesh promote --page-type comparison # every comparison page gtmesh promote --slug-prefix /apps/ # everything under /apps/ gtmesh promote --under /integrations/slack # launch a hub and its whole cluster gtmesh demote --section blog # park a section back to backlog
Last updated on