ao is the automation and control-plane surface for AgentOps. Use it when you
want the operational layer to run headlessly: stage briefings, inspect
bookkeeping, drive repeatable flows, or run overnight compounding without
staying inside an interactive skill.
One important lane inside the CLI is the software-factory surface. That lane makes the work order, delivery flow, and closeout explicit instead of leaving them implicit in chat state.
The short version:
ao quick-start
ao factory start --goal "fix auth startup"
ao rpi phased "fix auth startup"
ao overnight reportThat lane keeps four concerns explicit:
ao factory startsurfaces a bounded work order by compiling a goal-time briefing when the corpus supports it, then running Codex startup.ao rpi phasedruns the delivery flow with fresh context per phase, andao rpi statuslets the operator inspect long-running work.ao overnight startandao overnight reportrun the private Dream flow against the real local corpus and return a morning packet.ao codex stopandao flywheel close-loopclose the bookkeeping loop so the session leaves behind learnings, citations, and handoff state.
go install github.com/boshu2/agentops/cli/cmd/ao@latest# From your repo root: create .agents/, starter knowledge surfaces, and hooks
ao quick-start
# Start a goal with briefing-first runtime context
ao factory start --goal "fix auth startup"
# Run the delivery flow
ao rpi phased "fix auth startup"
# Optional: set up and run a private overnight Dream
ao overnight setup
ao overnight start --goal "tighten auth startup"
ao overnight reportIf you prefer the skill-first path, use /rpi "fix auth startup" after
ao factory start, and use /dream when you want the same overnight engine
through an interactive skill surface instead of a headless CLI command.
That's it. In Claude Code, CLAUDE.md remains the startup surface. The
installed hooks stay silent and only prepare runtime state for the higher-level
flows.
SessionStart: Performs startup maintenance, recovers handoff state, and can
stage factory-goal.txt / factory-briefing.txt without injecting context.
UserPromptSubmit: When startup lacked a goal, the first substantive prompt can be captured as silent factory intake and staged for later explicit use.
SessionEnd: Extracts learnings and updates the feedback loop.
| Command | Purpose |
|---|---|
ao factory start --goal "<goal>" |
Compile briefing-first startup context, then run explicit Codex start |
ao knowledge brief --goal "<goal>" |
Build the task-time briefing directly |
ao codex start |
Lower-level hookless Codex startup |
ao rpi phased "<goal>" |
CLI-first Discovery -> Implementation -> Validation lane |
ao rpi status |
Monitor long-running phased work |
ao overnight setup |
Detect host/runtime constraints and persist Dream config |
ao overnight start --goal "<goal>" |
Run the local overnight compounding flow |
ao overnight report |
Render the latest Dream summary and council state |
ao codex stop |
Close the loop explicitly at session end |
These commands remain important, but they sit below the higher-level flows:
ao knowledgefor belief/playbook/briefing refresh and gap reportingao context assemblefor a five-section task briefingao lookupandao searchfor direct retrievalao forge transcriptandao flywheel close-loopfor manual lifecycle work