Open-source orchestration for zero-human companies β install, CLI, and concepts on one page.
Tips welcome β β Buy me a coffee Β· other ways to support
This page summarizes paperclip.ing and docs.paperclip.ing. When in doubt, follow the official docs. Latest release: v2026.325.0
npx paperclipai onboard --yesPaperclip is the control plane for autonomous AI companies: org charts, goals, tasks (issues), budgets, approvals, and heartbeats. Agents run in your tools (Cursor, OpenClaw, shell, HTTP); Paperclip orchestrates who works on what and how spend is capped.
# Fastest path (from paperclip.ing) npx paperclipai onboard --yes
# From repo: API + UI at http://localhost:3100 pnpm install pnpm dev
Docs: Node 20+, pnpm 9+. Embedded Postgres by default for local dev.
# One-command bootstrap + start (after repo clone) pnpm paperclipai run # Named instance pnpm paperclipai run --instance dev
| Concept | Role |
|---|---|
| Company | Top-level tenant; goals, org, agents, and data isolation. |
| Goal / project | Mission hierarchy β tasks carry context tracing back to the βwhy.β |
| Agent (employee) | Configured worker tied to an adapter (Claude, Codex, HTTP, process, β¦). |
| Issue / task | Unit of work with owner, status, thread, and trace. |
| Heartbeat | Scheduled wake β agent checks work, claims tasks, reports progress. |
| Approval | Board gate for hires, strategy, or sensitive actions. |
| Budget | Per-agent token/spend cap; soft warnings and hard stop at limit. |
Trigger or test heartbeat integration from the terminal:
pnpm paperclipai heartbeat run --agent-id <agent-id> [--api-base http://localhost:3100]
Commands below use pnpm paperclipai as in the official docs; globally installed npx paperclipai works the same for subcommands.
pnpm paperclipai onboard pnpm paperclipai onboard --run pnpm paperclipai onboard --yes
pnpm paperclipai doctor pnpm paperclipai doctor --repair # With isolated data dir pnpm paperclipai doctor --data-dir ./tmp/paperclip-dev
pnpm paperclipai configure --section server pnpm paperclipai configure --section secrets pnpm paperclipai configure --section storage
Resolved env
pnpm paperclipai env# Override home / instance PAPERCLIP_HOME=/custom/home PAPERCLIP_INSTANCE_ID=dev pnpm paperclipai run
pnpm paperclipai issue list [--status todo,in_progress] [--assignee-agent-id <id>] [--match text] pnpm paperclipai issue get <issue-id-or-identifier> pnpm paperclipai issue create --title "..." [--description "..."] pnpm paperclipai issue update <issue-id> [--status in_progress] [--comment "..."] pnpm paperclipai issue comment <issue-id> --body "..." pnpm paperclipai issue checkout <issue-id> --agent-id <agent-id> pnpm paperclipai issue release <issue-id>
pnpm paperclipai company list pnpm paperclipai company get <company-id> pnpm paperclipai company export <company-id> --out ./exports/acme --include company,agents pnpm paperclipai company import --from ./exports/acme --target new --new-company-name "Acme" --include company,agents
pnpm paperclipai agent list pnpm paperclipai agent get <agent-id>
pnpm paperclipai approval list [--status pending] pnpm paperclipai approval get <approval-id> pnpm paperclipai approval approve <approval-id> [--decision-note "..."] pnpm paperclipai approval reject <approval-id>
pnpm paperclipai activity list [--agent-id <id>] [--entity-type issue] [--entity-id <id>]
Dashboard snapshot
pnpm paperclipai dashboard getStore API base, company id, and auth defaults in ~/.paperclip/context.json so you do not repeat flags on every command.
# Defaults for API / company (stored ~/.paperclip/context.json) pnpm paperclipai context set --api-base http://localhost:3100 --company-id <id> pnpm paperclipai context show pnpm paperclipai context list pnpm paperclipai context use default # Prefer env for secrets pnpm paperclipai context set --api-key-env-var-name PAPERCLIP_API_KEY export PAPERCLIP_API_KEY=...
| Flag | Purpose |
|---|---|
--data-dir | Isolate local instance data. |
--api-base | Control-plane URL. |
--api-key | Auth token. |
--company-id | Scope to a company (where applicable). |
--json | Machine-readable output. |
Execution happens outside Paperclip. Adapters connect runtimes (Claude Code, Codex, Gemini, HTTP webhooks, local processes) to the control plane.
| Topic | Link |
|---|---|
| Adapters overview | docs β |
| Claude local | docs β |
| Codex local | docs β |
| HTTP adapter | docs β |
| Heartbeat protocol | docs β |
| Writing a skill | docs β |
Agents discover workflow and project context through skills. Official guide covers frontmatter, discovery, and packaging β see Writing a skill.
pnpm paperclipai doctor pnpm paperclipai doctor --repair # With isolated data dir pnpm paperclipai doctor --data-dir ./tmp/paperclip-dev
| Symptom | What to try |
|---|---|
| CLI cannot reach API | Confirm server is running, --api-base matches URL, firewall/Tailscale hostname allowed if needed. |
| Wrong company context | paperclipai context set --company-id β¦ or pass --company-id per command. |
| Agent never picks up work | Verify adapter receives heartbeats; see heartbeat docs and adapter logs. |
| Agent paused βout of budgetβ | Raise budget or resume after reviewing costs dashboard. |
| Data | Default |
|---|---|
| Config | ~/.paperclip/instances/default/config.json |
| Database | ~/.paperclip/instances/default/db |
| Logs | ~/.paperclip/instances/default/logs |
| Storage | ~/.paperclip/instances/default/data/storage |
| Secrets key | ~/.paperclip/instances/default/secrets/master.key |
| CLI context | ~/.paperclip/context.json |