docs: document macros as first-class custom commands

Covers top-level .name invocation, the new description/isolated macro
fields (with the non-isolation persistence, fail-fast, nested-macro, and
.exit caveats), workspace .coyote/macros/ + --no-workspace-macros,
enabled_macros scoping at global/role/agent/session levels, and
.macro enable|disable across the README and every example config.
graph.example.yaml gains a note that enabled_macros is ignored in graph
configs.

CHANGELOG intentionally untouched: it is generated by commitizen at
release time from the conventional commit subjects.

Implements plans/custom-commands-design.md §8.
This commit is contained in:
2026-08-21 11:55:13 -06:00
parent 125360033d
commit 91328ca7e1
6 changed files with 37 additions and 1 deletions
+3
View File
@@ -24,6 +24,9 @@ enabled_skills: # Skills available when this role is activ
inject_skill_instructions: true # Inject a short hint pointing the model at `skill__list` when skills are enabled
# (default: true). Suppressed automatically when no skills are available.
skill_instructions: null # Custom text for the skill hint (optional; uses built-in default if null)
enabled_macros: # Macros invocable when this role is active. Accepts a YAML list (preferred)
- generate-commit-message # or a comma-separated string (e.g. `enabled_macros: generate-commit-message,review`).
# An empty list disables all macros. Omit to inherit the global default.
memory: null # Per-role memory override (default: inherit). Set to `false` to disable memory
# when this role is active. See the Memory wiki page.