Skip to content

Features ​

The loop — start → spec → rules → stories → dev → review — is the default and covers most phases. These are the parts you reach for when a project grows past it.

What it isWhen you need it
Build modeImplement a phase straight from its approved brief, no story filesThe phase is small enough to hold in one contract
Auto modeChain the commands you'd otherwise type, armed only by your scope approvalYou've read enough briefs to trust their shape
ImportTurn an existing PRD or document into a backlog, then stopYou already wrote the requirements somewhere else
Team ownersNamespace phases per person, so two people don't both scope "phase 7"More than one person planning in one repo
Tracks & filtersNarrow what a phase is allowed to containThe backlog has absorbed several documents
HooksWire your own review checklist into any skillYou've made the same correction three phases running

Everything here is optional. Nothing is on by default, and nothing arms itself.

Owner JSON files ​

Mano saves portable settings and chain state in _mano_output/[owner].json. Each owner has a separate file that you can commit with the project.

FileWhat it containsCommit it?
_mano_output/alice.jsonAlice's mode, track, and chain records by phaseYes, to resume elsewhere
_mano_output/.default.jsonThe same settings for work without an ownerYes, if used
_mano_output/.local.jsonThe owner selected in this checkoutNo; Mano adds it to _mano_output/.gitignore

Use these commands in your agent's chat to create or update the files:

text
mano owner alice
mano mode auto
mano track "Option B"

A new owner starts in manual mode with no track. Selecting an existing owner restores that owner's saved settings. Bare mano owner, mano mode, and mano track show the effective values. mano mode clear resets the mode to manual; mano track clear resets the track to null. mano owner clear selects the unowned .default.json settings without deleting any owner's file.

An owner file with an approved chain in progress looks like this:

json
{
  "version": 1,
  "owner": "alice",
  "mode": "auto",
  "track": "Option B",
  "phases": {
    "alice-phase-1": {
      "skipped": ["ux"],
      "run": {
        "actions": ["ui", "build"],
        "repairs": []
      }
    }
  }
}
FieldMeaning
versionSettings format version; currently 1
ownerOwner slug matching the filename; null in .default.json
modemanual or auto
trackActive work track, or null for none
phasesChain records keyed by the exact phase ID
skippedPlanning actions the human explicitly removed from this phase's chain
run.actionsRemaining approved actions, in order; a nonempty list ends with build or dev
run.repairsArtifact actions already given an automatic repair attempt in this run

run: null means there is no saved approval. A run with "actions": [] means the approved chain has finished. These records accompany the phase artifacts and implementation ledgers; they do not replace them. Mano updates the chain fields as approved actions finish, so use the commands to manage them rather than reconstructing approval by editing JSON.

The local selection contains only:

json
{ "owner": "alice" }

To continue on another computer:

  1. Commit and push the owner JSON together with the phase artifacts and code.
  2. Clone or pull the project on the other computer.
  3. Run mano owner alice once in that checkout, then mano continue.

MANO_OWNER, MANO_MODE, and MANO_TRACK override the stored values for a shell or worktree without saving those overrides. Empty overrides are errors. Settings work without a Git repository; Git is only needed when you want to commit and share them.

Existing settings from older Mano versions migrate automatically when corresponding JSON state is missing. Existing JSON values win, including cleared settings and completed chains.

Released under the MIT License.