Skip to content

docs: make syntax.mdx the single source of truth for macros (S2: reference hub)#180

Merged
austenstone merged 3 commits into
mainfrom
austenstone-docs-reference-hub
Jun 22, 2026
Merged

docs: make syntax.mdx the single source of truth for macros (S2: reference hub)#180
austenstone merged 3 commits into
mainfrom
austenstone-docs-reference-hub

Conversation

@austenstone

Copy link
Copy Markdown
Owner

Session 2 — Reference hub & de-duplication

Part of the 4-session docs overhaul. Fixes maintainer complaint #2: the macro reference was duplicated and inconsistent across pages. This makes /docs/syntax the single source of truth for the keyword dictionary and stops hand-maintaining macro lists elsewhere.

Changes

docs/content/docs/syntax.mdx (the SSOT)

  • Tightened intro to canonical positioning: superset of workflow YAML + a handful of compile-time macros, actio build expands them, zero runtime / zero lock-in, macro-free file already works. States this page is the canonical keyword dictionary and /docs/macros/* are the deep dives.
  • Replaced the single quick-reference table with scannable tables grouped by scope (Workflow / Job / Step / Lifecycle), folding sub-keywords under their parent rows. fragments row flagged deprecated.
  • ⚠️ No inventory changes: all 35 {/* macro:X */} markers and 11 <TypeTable>s untouched (schema-locked, machine-enforced).

docs/content/docs/glossary.mdx

  • Deleted the stale 9-entry ## Macro keywords section and trimmed the inline keyword list in the Macro term → both now point to /docs/syntax + /docs/macros.
  • Added Executor and Hoist concept definitions; kept all genuine terms.
  • Dropped "fragment" from the frontmatter description.

AGENTS.md

  • Replaced the stale 11-row macro table with the reconciled ~19-keyword taxonomy grouped by job (Reuse / Config presets / Matrix / Reliability / Wiring / Conditionals / Security / Artifacts) + a pointer to the syntax reference for advanced keys (let, coercion, finally, hoist overrides). Example block (already _anchors/params/retry-led) kept.

Verification

  • docs-completeness 3/3 ✓
  • syntax-reference 15/15 ✓ (35 markers + 11 TypeTables intact)
  • macros 66/66 ✓
  • npm run docs:build ✓ (all 154 pages prerendered)

Coordination note: meta.json / macros/meta.json intentionally untouched — the _anchors.mdx/templates.mdx slug-add is owned by Session 3.

austenstone and others added 3 commits June 22, 2026 12:21
Reference-hub de-duplication (Session 2 of the docs overhaul):

- syntax.mdx: tighten intro to canonical positioning (superset +
  compile-time macros, zero runtime/lock-in) and state it is the
  canonical keyword dictionary while /docs/macros/* are the deep dives.
  Replace the single quick-ref table with scannable tables grouped by
  scope (Workflow/Job/Step/Lifecycle); flag `fragments` deprecated.
  No `{/* macro:X */}` markers or `<TypeTable>`s changed (schema-locked).
- glossary.mdx: stop re-enumerating macros. Delete the stale 9-entry
  "Macro keywords" section and trim the inline list in the Macro term,
  both now pointing to /docs/syntax + /docs/macros. Add Executor and
  Hoist concept defs; drop "fragment" from the frontmatter description.
- AGENTS.md: replace the stale 11-row macro table with the reconciled
  ~19-keyword taxonomy grouped by job, plus a pointer to the syntax
  reference for advanced keys. Example block (already _anchors/params/
  retry-led) kept.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ages

S3 (PR #183) landed /docs/macros/anchors and /docs/macros/templates.

- templates section: "Full guide" now points at /docs/macros/templates
  instead of the deprecated /docs/macros/fragments.
- _anchors section: add a "Full guide" link to /docs/macros/anchors
  (it previously had none).

The deprecated `fragments` section and the shared `inject` call-site
keep their /docs/macros/fragments link. No `{/* macro:X */}` markers or
`<TypeTable>`s changed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… page

The shared `inject` step section pointed its "Full guide" at the
deprecated /docs/macros/fragments page. inject's live home is the
templates mechanism (inject … with, cross-file inject: ./lib#name),
so point users there instead.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@austenstone austenstone marked this pull request as ready for review June 22, 2026 17:09
@austenstone austenstone merged commit 19f12e6 into main Jun 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant