Macro discovery order¶
This table is the file-backed source order returned by SASE's Rust content-layout contract. The first matching file definition wins. Project-local definitions are namespaced with the project name; canonical locations are writable and legacy locations are read-only compatibility paths.
| Priority | Location | Source | Formats | Write policy |
|---|---|---|---|---|
| 1 | <project>/sase/macros/ |
Canonical | .md, .yml, .yaml |
Writable |
| 2 | ~/sase/macros/ |
Canonical | .md, .yml, .yaml |
Writable |
| 3 | ~/sase/macros/<project>/ |
Canonical | .md, .yml, .yaml |
Writable |
| 4 | <project>/sase/xprompts/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 5 | <project>/.xprompts/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 6 | <project>/xprompts/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 7 | ~/sase/xprompts/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 8 | ~/.xprompts/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 9 | ~/xprompts/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 10 | ~/sase/xprompts/<project>/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
| 11 | ~/.config/sase/xprompts/<project>/ |
Legacy compatibility | .md, .yml, .yaml |
Read-only |
Configuration-defined macros, plugin definitions, and bundled package definitions use separate loaders. Memory macros and skills use reserved namespaces, so they do not take part in ordinary macro-name collisions. See the macro reference for those definition forms.
_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A sase workspace is a numbered clone of a project's primary repo, managed by the workspace store and tracked in that project's registry.json. _[agent]: A sase agent is an agent session or a single agent that does not belong to a session. _[prompt]: A prompt is the text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker. _[plan]: A plan is a persisted, approved artifact recording the intent behind agent work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing results. _[epic]: An epic is an executable multi-phase plan run with sase bead work. _[gate]: A sase gate is a durable, command-backed request for one user decision, created when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that runs one long command under a detached supervisor, so the command outlives the agent that started it. *[stitch]: A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.