SASE
Structured Agentic Software Engineering
SASE is a Python toolkit for coordinating coding-agent work: durable plans, tracked handoffs, reviewable changes, resumable runs, and automation that can move across model and version-control providers.
Why SASE exists
One prompt is not an engineering system
A single coding-agent run can produce a patch. Real projects also need a place to store intent, pass work between agents, order dependencies, track review state, retry failed runs, run background automation, and record what happened. SASE provides that coordination layer without tying the workflow to one model provider or one terminal app.
Start by role
Pick the surface that matches your work
I am setting up a repo
Run explicit initialization subcommands to write agent memory, refresh generated SDD guide files, and inspect, preview, or deploy optional provider skill files before handing work to agents.
Open initializationI want a TUI for agent work
Use ACE, the Agentic ChangeSpec Explorer TUI, to navigate ChangeSpecs, live agents, notifications, and automation state from one terminal interface.
Open the ACE guideI want durable work units
Use ChangeSpecs for CL/PR-sized review state and Beads for plan, epic, and phase dependencies that can drive multi-agent execution.
Learn the SDD flowI need shared agent memory
Use instruction memory loaded through AGENTS.md, audited long-term reads, and reviewed proposals for agent-suggested updates.
Open memoryI want reusable agent workflows
Use XPrompts for reusable prompt templates and workflow specs for repeatable multi-step automation.
Build with XPromptsI want implementation context
Use the architecture overview, command index, and development guide to understand the CLI surface, source layout, provider boundaries, and docs workflow.
Read the architecture mapI want editor completions
Use the xprompt LSP and editor helper bridge for prompt completion, snippets, hover, diagnostics, and jump-to-definition.
Open editor integrationCore primitives
The coordination model
SASE keeps the work state outside the chat transcript. Plans, ChangeSpecs, beads, agent artifacts, and workflow records let agents be scheduled, resumed, reviewed, retried, or handed off without relying on one session's context window.
- ProjectSpecs and ChangeSpecs track project lifecycle, CL/PR-sized work, commits, review state, comments, mentors, and lifecycle transitions.
- Beads provide git-native issue tracking for plans, executable epics, phase dependencies, and agent handoff.
- XPrompts turn prompt templates into reusable workflows with reference expansion and typed inputs.
- ACE is the interactive control surface for daily work.
- Axe Automation runs background hooks, mentors, maintenance jobs, and scheduled workflows.
- Provider and workspace abstractions route agent launches, VCS operations, and workspace setup through plugin-backed boundaries.
How the pieces connect
Designed around real agent handoffs
Next clicks
Move from overview to practice
Find a command
Use the CLI index to route from a command to its detailed owner page.
Open the CLI referenceUnderstand the system
See how CLI, ACE, axe, workflows, providers, and the Rust core fit together.
Open architectureContribute locally
Review setup, verification commands, source layout, and docs deployment.
Open developmentRead the launch essay
Why coding agents need orchestration above individual provider CLIs.
Read the essayStart with ACE
Learn the terminal interface for day-to-day SASE work.
Open ACEExplore the series
Read the full agentic software engineering series from one hub.
Explore the seriesDownload the handbook
Keep the current public docs and launch articles in one static PDF.
Download PDFView the code
Inspect the implementation, issues, and project direction.
Open GitHub