Quick to start, harder to maintain
Repeated prompting can produce a prototype quickly. As the project grows, missing requirements, tests, and decision records make changes harder to manage.
sprint-001 · active · source-available
Use the native Mac app or a single shell command to run a multi-agent Scrum team with Claude Code Agent Teams. Guide each Sprint as Product Owner, or define the intended outcome and use autonomous mode.
Signed & Apple-notarized · macOS 14+ · also via Homebrew or source build
The problem
Fast experiments can become difficult to maintain, while detailed upfront specifications can be hard to write for a product that is still changing. Maul Team uses short Scrum cycles so you can refine the requirements as the product develops.
Repeated prompting can produce a prototype quickly. As the project grows, missing requirements, tests, and decision records make changes harder to manage.
Spec-driven development adds useful structure, but an evolving project may not have enough information to define every detail at the start.
The team plans a Sprint, builds a working Increment, and demonstrates it to you. Your feedback shapes the next Sprint, so the requirements become more precise over time.
See it run
This recorded session shows the Scrum Master planning, Developers working in parallel, and PBIs moving across the board as the product takes shape.
Video not loading? Watch the demo on GitHub ↗
Browse the file tree and double-click a file to open it in a separate editor window with syntax highlighting. Lock icons identify framework files.
Use the built-in terminal to talk to the Scrum Master. The Work Log records agent starts, file changes, and messages as they happen.
See the current Sprint, open any PBI for details, and check integration test results as the team works.
The lifecycle
Each Sprint follows the same stages, with explicit completion rules, measured test coverage, and optional cross-model review. Select a stage below to see what happens.
A Requirements Analyst interviews you, researches similar products on the web, and writes requirements.md.
Broad ideas become Sprint-ready PBIs with acceptance criteria and defined file paths.
You approve the Sprint Goal as Product Owner; PBIs are assigned to Developer agents.
Each Developer works on one PBI in a separate git worktree. Design, implementation, and black-box unit tests repeat in Rounds and can be reviewed by Codex, with a Claude-based fallback. Coverage is measured with standard tools against the C0/C1 requirements. A PBI can merge only after its tests and five-part integrity review pass. The Scrum Master then uses a --no-ff merge and runs regression tests. After three failed attempts, the issue is escalated. Every Sprint closes with a lightweight cross-review; every third Sprint also runs a whole-repository audit, and accepted findings become PBIs for a later Sprint.
Open the app to follow every PBI from backlog to done.
The team demonstrates the working Increment so you can review its behavior.
The team inspects its own process and carries improvements into the next Sprint.
Design-driven boundary and branch cases, smoke tests, and API/UI automation.
Story-driven UAT walkthrough, defect routing, and the go/no-go release decision.
Loop engineering
Loop engineering gives agents a repeatable cycle for planning, acting, checking the result, and improving it. Maul Team applies this at three levels: the development pipeline, each Sprint, and autonomous execution.
prompt engineering → context engineering → loop engineering
Each PBI has its own git worktree. Design, implementation, black-box unit tests, and optional Codex review repeat until the defined completion rules pass. Changes cannot merge until the tests and review pass, and standard tools measure coverage.
≈ agent loop + verification loopEvery Sprint ends with a lightweight cross-review. Every third Sprint also runs a four-part audit of the repository to find differences between the merged code and its requirements. The Product Owner reviews findings by severity, and accepted findings become draft PBIs. Retrospective actions carry into the next Sprint.
≈ hill-climbing loopDefine the intended outcome in a product brief and assign the Product Owner role to an agent. The agent Product Owner and Scrum Master continue running Sprints toward that outcome. A Ralph-Loop watchdog restarts headless sessions, applies time and iteration limits, resumes after API rate limits, and writes a report.
≈ event-driven loop“You shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents.”
— Peter Steinberger, quoted in Addy Osmani, “Loop Engineering”
Autonomous work still needs review. Hooks enforce process rules, completion conditions are explicit, test tools measure coverage, and unclear requirements are sent to the Product Owner instead of being resolved by assumption.
Your role
In the default human-in-the-loop mode, you approve goals, review working software, and make release decisions. The team handles requirements, planning, implementation, review, and testing.
Features
Hooks enforce the process, saved state lets sessions resume after a restart, and an optional second model can review the work independently.
The Scrum Master runs in Delegate mode and coordinates up to six Developer agents in parallel. Each Developer handles one PBI in an isolated git worktree and starts specialist sub-agents for each Round.
The SwiftUI app combines an editor, the Scrum Master terminal, the Work Log, and the Sprint dashboard in one window.
Every ceremony — from requirement definition through retrospective to UAT and release — is a versioned, inspectable Skill.
Run --autonomous from the command line and define the intended outcome in a product brief. An agent Product Owner and the Scrum Master continue the work, with a Ralph-Loop watchdog, execution limits, and a generated report.
A read-only catalog and editable configuration define which design documents may exist. Hooks also control which roles may edit them.
Status checks, path and branch guards, completion-flow checks, and the Definition of Done enforce the workflow.
Team state is stored as JSON in .scrum/. Restart the session and the team continues from the saved state.
Integration tests derive boundary cases from the design documents, followed by user-story-based acceptance testing.
The team records process improvements after each Sprint and applies them to later Sprints.
Team size changes with the Sprint, requirements are defined before development, and every code change must belong to a PBI.
Get started
MaulTeam.app is distributed as a signed, Apple-notarized .dmg for macOS 14 and later. It is currently free for personal and internal business use, and the underlying framework uses the MIT License. You can also install it with Homebrew or build it from source.
The universal binary supports Apple Silicon and Intel, with no build tools required.
Every release ships a .sha256 checksum — all releases & notes ↗
Two lines, updates with brew upgrade:
make-app.sh release creates the universal2 build. It requires Xcode 16+ with the Swift 6 toolchain, and the first build downloads SwiftTerm.
Prefer the terminal? Skip the app and run sh scrum-start.sh in your project.
Command-line option
The Mac app includes the open-source maul-team framework. You can also start the framework from a terminal with scrum-start.sh. The tmux interface shows the Scrum Master on the left and the team dashboard on the right. Workflow and project state remain on your machine; model requests go through Claude Code and, when configured, Codex.
The dashboard shows status changes, test coverage, and merge results. The team asks you to resolve requirements it cannot determine from the project.
Questions
What the agent team does, how much control you keep, and what runs on your machine.
A Scrum Master agent plans the Sprint and starts one Developer agent per backlog item. Each Developer designs, implements, and writes black-box unit tests in a separate git worktree. Codex reviews the work when available, with a Claude-based fallback. Tests and reviews must pass before merge, and the Sprint ends with a product demo.
Yes. In human-in-the-loop mode, the team runs the Sprint while you make Product Owner decisions at review points. In --autonomous mode, you define the intended outcome and an agent Product Owner works with the Scrum Master without waiting at each step.
The maul-team framework is MIT-licensed. The Mac app is source-available and currently free for personal and internal business use under its commercial license — a paid Enterprise plan may be introduced in the future. Workflow and project state stay on your Mac; model requests go through Claude Code and, when configured, Codex.
One shell command runs the same pipeline in tmux. The Mac app provides a visual interface but is not required.
Maul Team coordinates several agents through defined Scrum stages and review checks. It is source-available, runs locally, and lets you direct the work as Product Owner.
Yes — the app and the .dmg are signed with an Apple Developer ID and notarized by Apple, so Gatekeeper opens them without warnings. Every release also publishes a .sha256 checksum: run shasum -a 256 MaulTeam.dmg and compare it against the value on the Releases page ↗.
Get started
Download the app, move it to Applications, and start Sprint 1. The app is currently free for personal and internal business use.
or brew install --cask maul-team