Animus is how you run a workforce of AI agents — a real engineering team that runs itself. Built by launchapp-dev.
Go to the gym. See your kids. Build the next thing. Your workforce keeps shipping.
Open a fresh Claude Code (or Codex / OpenCode / Cursor) session and paste this. The agent installs the Animus CLI, clones animus-skills, runs the setup script, and adds the project section to CLAUDE.md / AGENTS.md. You'll be running workflows in about a minute.
Install Animus + Animus Skills: run
curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bashto install theanimusCLI (latest stable — kernel + flavors architecture), thenanimus plugin install-defaults --include-subjects --include-transportsto pull in the provider + subject + transport + workflow_runner + queue plugins the daemon needs (one-time setup, idempotent). Thengit clone --single-branch --depth 1 https://github.com/launchapp-dev/animus-skills.git ~/.claude/skills/animus-skills && cd ~/.claude/skills/animus-skills && ./setupto link the skills and write.mcp.json. Add an "Animus" section to CLAUDE.md (or AGENTS.md for Codex) listing the slash commands:/animus-setup,/animus-getting-started,/animus-mcp-setup,/animus-workflow-authoring,/animus-pack-authoring,/animus-skill-authoring,/animus-troubleshooting. Restart the agent so the newanimusMCP server is picked up. From a project root, run/animus-setupto scaffold.animus/and the first workflow.
For Codex CLI, swap the clone path to ~/.codex/skills/animus-skills and edit AGENTS.md instead of CLAUDE.md.
curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bash
animus plugin install-defaults --include-subjects --include-transportsThe upstream installer currently targets macOS. On Linux and Windows, use a release archive or build from source.
The second command is required in v0.5 and later — the daemon refuses to start until plugins for all required roles are installed (provider, subject backend, workflow_runner, queue). The command is idempotent and skips anything already installed.
options
# Specific version
ANIMUS_VERSION=v0.5.0 curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bash
# Custom directory
ANIMUS_INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bash
# Run install-defaults automatically as the last step
ANIMUS_INSTALL_PLUGINS=1 curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bash
# Skip the post-install plugin step (CI / Docker)
ANIMUS_SKIP_PLUGIN_INSTALL=1 curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bashupgrading from v0.4.11 or earlier
Stop the running daemon first, then upgrade. See docs/migration/v0.4.11-to-v0.4.12.md for the full rationale and rollback procedure.
animus daemon stop
curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bash
animus plugin install-defaults --include-subjects --include-transports
animus daemon preflight # verify all required plugins present
animus daemon start --autonomousprerequisites
You need at least one AI coding CLI:
npm install -g @anthropic-ai/claude-code # Claude (recommended)
npm install -g @openai/codex # Codex
npm install -g @google/gemini-cli # Geminicd your-project # any git repo
animus doctor # check prerequisites and auto-remediate
animus init --template task-queue --non-interactive # scaffold .animus/ from the task-queue template
# v0.5 one-time setup: install the provider + subject + transport + workflow_runner + queue plugins.
# (Installed plugins live in ~/.animus/plugins/ and are shared across projects.)
animus plugin install-defaults --include-subjects --include-transports
animus daemon preflight # verify all required plugins are present
# Option 1: run a workflow on demand
animus subject create --kind task --title "Add rate limiting" --priority p1
animus workflow run --task-id TASK-001
# Option 2: go fully autonomous
animus daemon start --autonomous # daemon executes ready subjects continuously
animus daemon health # verify it's up
animus logs tail --limit 100 # inspect recent daemon events
animus daemon stream # live structured event stream
# Scaffold a brand-new subject backend (Jira, Notion, anything with an API):
animus plugin new --kind subject --name jiraBundled init templates: task-queue, conductor, direct-workflow.
v0.5 note: the daemon refuses to start unless plugins for all required roles are installed — provider, subject backend,
workflow_runner, andqueue. Runanimus daemon preflightfor the exact remediation command if startup fails.
The Animus daemon is one Rust binary. Scheduler, dispatch, IPC, plugin host. Everything else is a plugin you choose.
flowchart TB
Kernel["<b>Animus Daemon</b><br/>one Rust binary<br/>scheduler · dispatch · plugin host"]
Kernel ==> WR["workflow_runner"]
Kernel ==> Q["queue"]
Kernel ==> SB["subject_backend"]
Kernel ==> Pr["provider"]
Kernel -.-> DS["durable_store"]
Kernel -.-> MS["memory_store"]
Kernel -.-> Tr["transport"]
Kernel -.-> Tg["trigger"]
Kernel -.-> Custom["your plugin"]
classDef required fill:#1f6feb,color:#fff,stroke:#1f6feb,stroke-width:2px
classDef optional fill:#21262d,color:#c9d1d9,stroke:#30363d,stroke-width:1px
classDef custom fill:#0d1117,color:#8b949e,stroke:#8b949e,stroke-width:1px,stroke-dasharray:5 5
class WR,Q,SB,Pr required
class DS,MS,Tr,Tg optional
class Custom custom
Solid arrows are required plugin kinds — the daemon refuses to start without one of each. Dotted arrows are optional kinds you turn on when you need them (durable workflow execution, agent memory, HTTP/GraphQL transports, webhook/Slack triggers). The dashed box is yours — animus plugin install owner/repo and your code joins the kernel.
Plugins speak JSON-RPC 2.0 over stdio. The protocol is published as a versioned Rust workspace at launchapp-dev/animus-protocol. Authors write against the protocol types and ship a binary; the daemon discovers it on disk and routes calls.
For the source-of-truth architecture docs: docs/architecture/kernel-and-flavors.md, docs/architecture/full-system-architecture.md, docs/architecture/plugin-system.md.
The kernel is small. The flavors are yours to compose. Here's what's published today by launchapp-dev:
| Plugin | Kind | What it does |
|---|---|---|
animus-workflow-runner-default |
workflow_runner |
Runs your workflow phases (Rust) |
animus-queue-default |
queue |
Durable subject dispatch queue (Rust) |
animus-subject-default |
subject_backend |
File-based task tracker |
animus-subject-requirements |
subject_backend |
Requirement docs as the source of work |
animus-subject-linear |
subject_backend |
Linear issues mirror |
animus-provider-claude |
provider |
Claude Code CLI wrapper |
animus-provider-codex |
provider |
OpenAI Codex CLI wrapper |
animus-provider-gemini |
provider |
Gemini CLI wrapper |
animus-step-durable-dbos |
durable_store |
Postgres-backed step fence (DBOS Transact) |
animus-memory-zep |
memory_store |
Semantic memory with graph scopes (Zep Cloud) |
animus-transport-http |
transport |
REST/JSON API |
animus-transport-graphql |
transport |
GraphQL API |
animus-web-ui |
web_ui |
Browser control center |
animus-trigger-webhook |
trigger |
Generic + GitHub webhook events |
animus-trigger-slack |
trigger |
Slack event source |
Browse all 20+ official plugins →
Build your own: animus plugin new --kind subject --name jira scaffolds a typed plugin in a fresh repo. Write it. Tag it. Anyone in the world can animus plugin install your-org/animus-subject-jira and you're shipping for their workforce too.
Plugins verify a sigstore cosign signature when one is published. Use --require-signature to enforce. See docs/architecture/plugin-signing.md.
Animus is one Rust binary holding the scheduler, the dispatch loop, the plugin host, and the control socket. That's the kernel. Everything else — running phases, queuing subjects, talking to a model, persisting durable state, remembering across sessions — is a plugin you install. Swap any piece without touching the rest. The kernel never knew about Postgres, never knew about Zep, never knew about Claude. It just speaks JSON-RPC.
Bind models, tools, MCP servers, and system prompts to named agent profiles. Route subjects by complexity. The whole team lives in .animus/agents.yaml and .animus/workflows.yaml.
agents:
default:
model: claude-sonnet-4-6
tool: claude
mcp_servers: ["animus", "context7"]
workflows:
- id: standard
phases: [requirements, implementation, push-branch, create-pr]
post_success:
merge: { strategy: squash, auto_merge: true, cleanup_worktree: true }Every active workflow gets its own git worktree on its own branch. Agents work in parallel without conflicts. Capacity-aware scheduling keeps the queue full without thrashing the box. Post-success hooks handle merge, cleanup, and PR creation.
Phases are typed: agent (AI with decision contracts), command (shell), manual (human gate). Every agent phase returns advance, rework, skip, or fail. Rework loops pass the reviewer's feedback back to the implementer. Failed gates reroute, not crash.
Daemon mode + cron schedules + webhook triggers + Slack event sources. Workflows fire on git push, on Linear status changes, on */5 * * * *, on whatever you wire up. animus daemon start --autonomous and your workforce starts shipping. (Occasionally check that the agents are still on the rails. They mostly are.)
v0.5 ships agent reattach + LLM-decision recording. Kill the daemon mid-workflow; restart; agents resume from where they were; decisions replay from log. No re-burning tokens on retries. With the durable_store plugin installed, step-level idempotency means workflow retries consume the prior decision instead of re-calling the model.
There are good tools in adjacent shapes. Here's where Animus is the right answer vs each:
| Animus | Temporal | DBOS Transact | Hermes | |
|---|---|---|---|---|
| Parallel AI agent workforce | ✅ | ❌ | ❌ | partial (personal agent, not parallel) |
| Kernel + plugin architecture | ✅ (6 plugin kinds) | ❌ (monolithic server) | ❌ (TypeScript library) | ❌ (framework) |
| Local-first by default | ✅ | partial (self-host) | partial (Postgres) | partial (cloud or self-host) |
| Multi-provider (Claude / Codex / Gemini / OpenCode / OAI) | ✅ (provider plugins) | n/a | n/a | ✅ |
| Durable workflow execution | ✅ (durable_store plugin, DBOS-backed) |
✅ (most mature) | ✅ (native) | ❌ |
| Agent-CLI orchestration | ✅ | ❌ | ❌ | partial |
Temporal is more mature for workflows that aren't agents. DBOS is faster if you don't need agents. Hermes is the right call for a single personal assistant. Animus is for the parallel-agent-workforce shape specifically.
Animus Skills is the companion skill bundle. Install with the one-paste prompt above, or directly:
git clone https://github.com/launchapp-dev/animus-skills.git ~/animus-skills
cd ~/animus-skills && ./setup # auto-detects installed agent hostsThe ./setup script supports --host claude|codex|opencode|cursor|slate|kiro|all, --no-cli (skip animus install), and --no-mcp (skip writing project .mcp.json).
|
Slash Commands
|
Auto-Loaded References
|
animus subject Unified subject surface: list/get/create/update/next/status --kind <kind>
(kind=task and kind=requirement are served by installed subject_backend plugins)
animus workflow Run and manage multi-phase workflows
animus daemon Start/stop the autonomous scheduler (--autonomous, health, stream, preflight)
animus queue Inspect and manage the dispatch queue
animus agent Control agent runner processes
animus runner Inspect and restart the agent runner pool
animus output Stream and inspect agent output
animus logs Tail daemon events.jsonl or whichever log-storage plugin is active
animus trigger Manage event triggers (file_watcher, webhook, github_webhook, slack)
animus pack Install, list, and update workflow packs
animus plugin Install, list, inspect, and scaffold stdio plugins
animus flavor Manage installed plugin flavors
animus skill Install and inspect Animus skills
animus model Inspect the model registry and routing
animus project Per-project config and scope helpers
animus git Worktree and branch helpers
animus history Inspect run history (includes phase + runtime error reports)
animus init Initialize a project from a template registry or local template
animus mcp Start Animus as an MCP server
animus web Launch installed web dashboard/transport plugins
animus status Project overview at a glance
animus doctor Health checks, auto-remediation, and troubleshooting
Run animus --help for the full surface, or see docs/reference/cli/index.md for the source-backed reference.
| Platform | Architecture | Target triple |
|---|---|---|
| macOS | Apple Silicon (M1+) | aarch64-apple-darwin |
| macOS | Intel | x86_64-apple-darwin |
| Linux | x86_64 | x86_64-unknown-linux-gnu |
| Linux | arm64 | aarch64-unknown-linux-gnu |
| Windows | x86_64 | x86_64-pc-windows-msvc |
Elastic License 2.0. Use it, modify it, distribute it. Don't resell it as a managed service.
update or uninstall
Update
curl -fsSL https://raw.githubusercontent.com/launchapp-dev/animus-cli/main/scripts/install.sh | bashUninstall
rm -f ~/.local/bin/animus \
~/.local/bin/agent-runner \
~/.local/bin/animus-oai-runner