{"id":48521601,"url":"https://github.com/launchapp-dev/ao-cli","last_synced_at":"2026-04-07T21:02:49.017Z","repository":{"id":347227135,"uuid":"1165909592","full_name":"launchapp-dev/ao-cli","owner":"launchapp-dev","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-06T00:10:01.000Z","size":31988,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-06T00:31:38.782Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/launchapp-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-v0.0.18.md","contributing":"docs/contributing/dependency-policy.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-24T17:14:48.000Z","updated_at":"2026-04-06T00:10:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/launchapp-dev/ao-cli","commit_stats":null,"previous_names":["launchapp-dev/ao-cli"],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/launchapp-dev/ao-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchapp-dev%2Fao-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchapp-dev%2Fao-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchapp-dev%2Fao-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchapp-dev%2Fao-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/launchapp-dev","download_url":"https://codeload.github.com/launchapp-dev/ao-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchapp-dev%2Fao-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-07T21:02:24.204Z","updated_at":"2026-04-07T21:02:49.008Z","avatar_url":"https://github.com/launchapp-dev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![header](https://capsule-render.vercel.app/api?type=waving\u0026color=0:0d1117,50:161b22,100:1f6feb\u0026height=200\u0026section=header\u0026text=Animus\u0026fontSize=90\u0026fontColor=f0f6fc\u0026animation=fadeIn\u0026fontAlignY=35\u0026desc=Autonomous%20Agent%20Orchestrator\u0026descAlignY=55\u0026descSize=22\u0026descColor=8b949e)\n\n\u003cbr/\u003e\n\n[![Typing SVG](https://readme-typing-svg.demolab.com?font=JetBrains+Mono\u0026weight=500\u0026size=20\u0026duration=3000\u0026pause=1500\u0026color=58A6FF\u0026center=true\u0026vCenter=true\u0026multiline=true\u0026repeat=true\u0026random=false\u0026width=700\u0026height=80\u0026lines=Define+your+engineering+team+as+YAML.;Dispatch+tasks+to+AI+agents+across+isolated+worktrees.;Review%2C+merge%2C+and+ship+%E2%80%94+while+you+sleep.)](https://github.com/samishukri/animus)\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\n\u003ca href=\"https://github.com/launchapp-dev/ao/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/launchapp-dev/ao?style=for-the-badge\u0026color=1f6feb\u0026labelColor=0d1117\u0026logo=github\u0026logoColor=f0f6fc\" alt=\"Release\" /\u003e\u003c/a\u003e\n\u0026nbsp;\n\u003cimg src=\"https://img.shields.io/badge/rust-100%25-f0f6fc?style=for-the-badge\u0026labelColor=0d1117\u0026logo=rust\u0026logoColor=f0f6fc\" alt=\"Rust\" /\u003e\n\u0026nbsp;\n\u003cimg src=\"https://img.shields.io/badge/macOS%20%7C%20Linux%20%7C%20Windows-f0f6fc?style=for-the-badge\u0026labelColor=0d1117\u0026logo=apple\u0026logoColor=f0f6fc\" alt=\"Platforms\" /\u003e\n\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n## Install\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/launchapp-dev/ao/main/install.sh | bash\n```\n\nThe upstream installer currently targets macOS. On Linux and Windows, use a release archive or build from source.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eoptions\u003c/kbd\u003e\u003c/summary\u003e\n\n```bash\n# Specific version\nAO_VERSION=v0.3.0 curl -fsSL https://raw.githubusercontent.com/launchapp-dev/ao/main/install.sh | bash\n\n# Custom directory\nAO_INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/launchapp-dev/ao/main/install.sh | bash\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eprerequisites\u003c/kbd\u003e\u003c/summary\u003e\n\nYou need at least one AI coding CLI:\n\n```bash\nnpm install -g @anthropic-ai/claude-code    # Claude (recommended)\nnpm install -g @openai/codex                # Codex\nnpm install -g @google/gemini-cli           # Gemini\n```\n\n\u003c/details\u003e\n\n---\n\n## What is Animus?\n\nAnimus turns a single YAML file into an autonomous software delivery pipeline.\n\nYou define agents, wire them into phases, compose phases into workflows, schedule everything with cron — and Animus's daemon handles the rest: dispatching tasks to AI agents in isolated git worktrees, managing quality gates, and merging the results.\n\n```\n                ┌──────────────────────────────────────────────────┐\n                │            Animus Daemon (Rust)                  │\n                │                                                  │\n  ┌────────┐    │    ┌───────────┐    ┌───────────┐    ┌────────┐ │    ┌────────┐\n  │ Tasks  │───▶│───▶│  Dispatch │───▶│  Agents   │───▶│ Phases │─│──▶│  PRs   │\n  │        │    │    │  Queue    │    │           │    │        │ │    │        │\n  │ TASK-1 │    │    │ priority  │    │ Claude    │    │ impl   │ │    │ PR #42 │\n  │ TASK-2 │    │    │ routing   │    │ Codex     │    │ review │ │    │ PR #43 │\n  │ TASK-3 │    │    │ capacity  │    │ Gemini    │    │ test   │ │    │ PR #44 │\n  └────────┘    │    └───────────┘    └───────────┘    └────────┘ │    └────────┘\n                │                                                  │\n                │    Schedules: work-planner (5m), pr-reviewer     │\n                │    (5m), reconciler (5m), PO scans (2-8h)        │\n                └──────────────────────────────────────────────────┘\n```\n\n---\n\n## Quick Start\n\n```bash\ncd your-project                          # any git repo\nanimus doctor                            # check prerequisites\nanimus setup                             # initialize .ao/\n\nanimus task create --title \"Add rate limiting\" --task-type feature --priority high\nanimus workflow run --task-id TASK-001   # run once\n\nanimus daemon start --autonomous         # or go fully autonomous\n```\n\n---\n\n## Everything in One YAML\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### Agents\n\nBind models, tools, MCP servers, and system prompts to named profiles. Route by task complexity.\n\n```yaml\nagents:\n  default:\n    model: claude-sonnet-4-6\n    tool: claude\n    mcp_servers: [\"animus\", \"context7\"]\n\n  work-planner:\n    system_prompt: |\n      Scan tasks, check dependencies,\n      enqueue ready work for the daemon.\n    model: claude-sonnet-4-6\n    tool: claude\n```\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### Phases\n\nReusable execution units. Three modes: **agent** (AI with decision contracts), **command** (shell), **manual** (human gate).\n\n```yaml\nphases:\n  implementation:\n    mode: agent\n    agent: default\n    directive: \"Implement production code.\"\n    decision_contract:\n      min_confidence: 0.7\n      max_risk: medium\n\n  push-branch:\n    mode: command\n    command:\n      program: git\n      args: [\"push\", \"-u\", \"origin\", \"HEAD\"]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### Workflows\n\nCompose phases into pipelines with skip conditions and post-success hooks.\n\n```yaml\nworkflows:\n  - id: standard\n    phases:\n      - requirements\n      - implementation\n      - push-branch\n      - create-pr\n    post_success:\n      merge:\n        strategy: squash\n        auto_merge: true\n        cleanup_worktree: true\n```\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### Schedules\n\nCron-based autonomous execution. The daemon runs your workflows on a cadence.\n\n```yaml\nschedules:\n  - id: work-planner\n    cron: \"*/5 * * * *\"\n    workflow_ref: work-planner\n    enabled: true\n\n  - id: pr-reviewer\n    cron: \"*/5 * * * *\"\n    workflow_ref: pr-reviewer\n    enabled: true\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## The Full Agent Team\n\nAnimus doesn't run one agent. It runs an **entire product organization**:\n\n```\n  ┌─────────────────────────────────────────────────────────────────┐\n  │                                                                 │\n  │   Planners               Builders              Reviewers        │\n  │   ╭──────────────╮       ╭──────────────╮       ╭──────────────╮│\n  │   │ Work Planner │       │ Claude Eng   │       │ PR Reviewer  ││\n  │   │ Reconciler   │       │ Codex Eng    │       │ PO Reviewer  ││\n  │   │ Triager      │       │ Gemini Eng   │       │ Code Review  ││\n  │   │ Req Refiner  │       │ GLM Eng      │       │              ││\n  │   ╰──────────────╯       ╰──────────────╯       ╰──────────────╯│\n  │                                                                 │\n  │   Product Owners         Architects             Operations      │\n  │   ╭──────────────╮       ╭──────────────╮       ╭──────────────╮│\n  │   │ PO: Web      │       │ Rust Arch    │       │ Sys Monitor  ││\n  │   │ PO: MCP      │       │ Infra Arch   │       │ Release Mgr  ││\n  │   │ PO: Workflow │       │              │       │ Branch Sync  ││\n  │   │ PO: CLI      │       │              │       │ Doc Drift    ││\n  │   │ PO: Runner   │       │              │       │ Wf Optimizer ││\n  │   ╰──────────────╯       ╰──────────────╯       ╰──────────────╯│\n  │                                                                 │\n  └─────────────────────────────────────────────────────────────────┘\n```\n\n## Key Concepts\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"33%\"\u003e\n\n**Decision Contracts**\n\nEvery agent phase returns a typed verdict: `advance`, `rework`, `skip`, or `fail`. Rework loops pass the reviewer's feedback back to the implementer. Configurable `max_rework_attempts` prevents infinite loops.\n\n\u003c/td\u003e\n\u003ctd width=\"33%\"\u003e\n\n**Model Routing**\n\nRoute tasks to different models by type and complexity. Low-priority bugfixes go to cheap models. Critical architecture tasks go to Opus. The work-planner agent manages this automatically.\n\n\u003c/td\u003e\n\u003ctd width=\"33%\"\u003e\n\n**Worktree Isolation**\n\nEvery task gets its own git worktree. Agents work in parallel on separate branches without conflicts. Post-success hooks handle merge, cleanup, and PR creation.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n| Complexity | Type | Model | Why |\n|:---|:---|:---|:---|\n| `low` | bugfix/chore | GLM-5-Turbo | Cheapest option |\n| `medium` | feature | Claude Sonnet | Reliable, fast |\n| `medium` | UI/UX | Gemini 3.1 Pro | Vision + design expertise |\n| `high` | refactor | Codex GPT-5.3 | Strong code understanding |\n| `high` | architecture | Claude Opus | Maximum quality |\n| `critical` | any | Claude Opus | No compromises |\n\n---\n\n## Claude Code Integration\n\nInstall [**Animus Skills**](https://github.com/samishukri/animus-skills) for deep Animus integration inside Claude Code:\n\n```bash\ngit clone https://github.com/samishukri/animus-skills.git ~/animus-skills\nclaude --plugin-dir ~/animus-skills\n```\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Slash Commands**\n\n| Command | What it does |\n|:---|:---|\n| `/setup-animus` | Initialize Animus in your project |\n| `/getting-started` | Install, concepts, first task |\n| `/workflow-authoring` | Write custom YAML workflows |\n| `/pack-authoring` | Build workflow packs |\n| `/mcp-setup` | Connect AI tools via MCP |\n| `/troubleshooting` | Debug common issues |\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Auto-Loaded References**\n\n| Skill | Coverage |\n|:---|:---|\n| `configuration` | Config files, state layout, model routing |\n| `task-management` | Full task lifecycle via CLI and MCP |\n| `daemon-operations` | Daemon monitoring and troubleshooting |\n| `workflow-patterns` | Patterns from 150+ autonomous PRs |\n| `agent-personas` | PO, architect, auditor agents |\n| `mcp-tools` | Complete `animus.*` tool reference |\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## CLI\n\n```\nanimus task          Create, list, update, prioritize tasks\nanimus workflow      Run and manage multi-phase workflows\nanimus daemon        Start/stop the autonomous scheduler\nanimus queue         Inspect and manage the dispatch queue\nanimus agent         Control agent runner processes\nanimus output        Stream and inspect agent output\nanimus doctor        Health checks and auto-remediation\nanimus setup         Interactive project initialization\nanimus requirements  Manage product requirements\nanimus mcp           Start Animus as an MCP server\nanimus web           Launch the embedded web dashboard\nanimus status        Project overview at a glance\n```\n\n---\n\n## Architecture\n\nAnimus is a Rust-only workspace with 17 crates. The major crates are:\n\n- `orchestrator-cli` - CLI commands and dispatch\n- `orchestrator-core` - services, state, and workflow lifecycle\n- `orchestrator-config` - workflow YAML scaffolding, loading, and compilation\n- `workflow-runner-v2` - workflow execution runtime\n- `agent-runner` - LLM CLI process management\n- `llm-cli-wrapper` - CLI tool abstraction layer\n- `orchestrator-daemon-runtime` - daemon scheduler runtime\n- `orchestrator-logging` - shared logging utilities\n- `orchestrator-web-server` - embedded React dashboard\n- `orchestrator-web-api` - web API business logic\n- `orchestrator-providers` - provider integrations\n- `orchestrator-store` - persistence primitives\n- `protocol` - shared types and routing\n\n```mermaid\ngraph LR\n    A[CLI] --\u003e B[Core Services]\n    A --\u003e C[Daemon Runtime]\n    B --\u003e D[Workflow Runner]\n    D --\u003e E[Agent Runner]\n    E --\u003e F[LLM CLI Wrapper]\n    F --\u003e G[claude / codex / gemini]\n    B --\u003e H[Config]\n    H --\u003e I[YAML Compiler]\n    A --\u003e J[Web Server]\n    J --\u003e K[Web API]\n    K --\u003e B\n    C --\u003e D\n    style A fill:#1f6feb,stroke:#1f6feb,color:#fff\n    style C fill:#1f6feb,stroke:#1f6feb,color:#fff\n    style J fill:#1f6feb,stroke:#1f6feb,color:#fff\n```\n\n---\n\n## Platforms\n\n| Platform | Architecture | |\n|:---|:---|:---|\n| macOS | Apple Silicon (M1+) | `aarch64-apple-darwin` |\n| macOS | Intel | `x86_64-apple-darwin` |\n| Linux | x86_64 | `x86_64-unknown-linux-gnu` |\n| Windows | x86_64 | `x86_64-pc-windows-msvc` |\n\n---\n\n## License\n\nThis project is licensed under the [Elastic License 2.0 (ELv2)](LICENSE). You may use, modify, and distribute the software, but you may not provide it to third parties as a hosted or managed service.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Update**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/launchapp-dev/ao/main/install.sh | bash\n```\n\n**Uninstall**\n\n```bash\nrm -f ~/.local/bin/animus \\\n  ~/.local/bin/agent-runner \\\n  ~/.local/bin/llm-cli-wrapper \\\n  ~/.local/bin/animus-oai-runner \\\n  ~/.local/bin/animus-workflow-runner\n```\n\n\u003cbr/\u003e\n\n\u003csub\u003eBuilt with Rust. Powered by AI. Ships code autonomously.\u003c/sub\u003e\n\n\u003c/div\u003e\n\n![footer](https://capsule-render.vercel.app/api?type=waving\u0026color=0:0d1117,50:161b22,100:1f6feb\u0026height=100\u0026section=footer)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchapp-dev%2Fao-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaunchapp-dev%2Fao-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchapp-dev%2Fao-cli/lists"}