Content layout¶
This page describes the canonical paths for project and home SASE content.
SASE-owned project and home content lives under a visible sase/ namespace. The layout
keeps source-controlled configuration, reusable prompts, memory, and workspace-scoped
repository checkouts together without moving global configuration or runtime state.
| Scope | Canonical path |
|---|---|
| Project configuration | <project>/sase/sase.yml |
| Project macros and workflows | <project>/sase/macros/ |
| Project skills | <project>/sase/skills/ |
| Project memory | <project>/sase/memory/ |
| Workspace repository checkouts | <project>/sase/repos/ |
| Home macros and workflows | ~/sase/macros/ |
| Home skills | ~/sase/skills/ |
| Home memory | ~/sase/memory/ |
The root AGENTS.md and provider instruction files remain at the project or home root
because agent providers discover them there. Their generated memory references use
sase/memory/....
Paths That Did Not Move¶
The namespace migration is intentionally narrow:
- Global configuration remains
~/.config/sase/sase.yml, with overlays at~/.config/sase/sase_*.yml. - Runtime state remains under
~/.sase/and the platform workspace state root. - Package resources remain under
src/sase/macros/,src/sase/default_macros/,src/sase/macros/skills/,src/sase/skills/, andsrc/sase/memory/. Thesrc/sase/skills/package contains Python helpers forsase skill; bundled skill Markdown lives undersrc/sase/macros/skills/. - Plugin macro resources remain in each plugin's package-level
macros/directory, and skills in a siblingskills/resource directory. - SDD storage remains provider-owned; split sidecars are checked out under
sase/repos/.
When use_chezmoi: true, the managed sources for home macros, skills, and memory are
home/sase/macros/, home/sase/skills/, and home/sase/memory/. The global config
source remains home/dot_config/sase/sase.yml.
Skill Order¶
Skills have their own first-wins order and no legacy paths — a skill source outside a
canonical skills/ directory is rejected rather than read:
<project>/sase/skills/~/sase/skills/~/sase/skills/<project>/- Plugin
skills/resources - Package
src/sase/macros/skills/
Scopes 1 and 3 namespace the macro reference with the project, so a source named foo
is expanded as #<project>/skill/foo there and #skill/foo elsewhere. The provider
skill name stays foo in every scope. See Skill Field
for the full contract.
Related¶
_[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.