Skip to content

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.