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.

Overview of SASE coordinating parallel coding agents, isolated workspaces, and durable workflow state

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 initialization

I 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 guide

I 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 flow

I need shared agent memory

Use instruction memory loaded through AGENTS.md, audited long-term reads, and reviewed proposals for agent-suggested updates.

Open memory

I want reusable agent workflows

Use XPrompts for reusable prompt templates and workflow specs for repeatable multi-step automation.

Build with XPrompts

I 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 map

I want editor completions

Use the xprompt LSP and editor helper bridge for prompt completion, snippets, hover, diagnostics, and jump-to-definition.

Open editor integration

Core 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

SASE component communication diagram
Component boundaries keep TUI, daemon, workflow, and provider concerns explicit.
SASE ACE TUI tab overview
ACE gives operators one place to inspect agents, changes, notifications, and automation state.

Next clicks

Move from overview to practice

Understand the system

See how CLI, ACE, axe, workflows, providers, and the Rust core fit together.

Open architecture

Contribute locally

Review setup, verification commands, source layout, and docs deployment.

Open development

Read the launch essay

Why coding agents need orchestration above individual provider CLIs.

Read the essay

Start with ACE

Learn the terminal interface for day-to-day SASE work.

Open ACE

Explore the series

Read the full agentic software engineering series from one hub.

Explore the series

Download the handbook

Keep the current public docs and launch articles in one static PDF.

Download PDF

View the code

Inspect the implementation, issues, and project direction.

Open GitHub