Orbit

Agents write. Orbit delivers.

Release npm License: MIT Docs

Animated tour of the real Orbit dashboard while Orbit's agents work on Orbit itself: a proposed task waiting for approval, 16 tasks running at once across two hosts with 100 files locked so overlapping work waits its turn, an auto-drain with 12 running and 19 admitted that pauses new starts while the host runs hot, and auto-concurrency forecasting CPU and memory for each admission; a Codex pull-request pipeline run from isolated worktree through implement, commit, validate, review gate and push to an open pull request, 21 steps in 24 minutes 15 seconds; routines on a host clock and 22 auto-task definitions that keep the queue fed; analytics showing 3,277 tasks done in 30 days, 167% more than the 30 days before, and each model's implementation times; and the codebase view ranking the paths agents struggle with across 6,002 tasks.

Orbit is a local-first runtime for coding agents. Keep using your authenticated agent CLI; Orbit adds a durable task queue, sandboxed worktrees, file locks for parallel runs, a gated delivery pipeline, and an audit log. **Why:** fast agents make planning, review, and traceability easy to lose. Orbit keeps the prompt, plan, and review behind every change, with a task ID on every workflow commit. - **Single binary, no cloud.** State lives in `~/.orbit` and `.orbit/`; Orbit sends no telemetry. - **Bring your own agents.** Use the provider CLIs you already have authenticated, without giving Orbit API keys. - **MIT licensed.** No paid tier or hosted offering. ## How it works ```text You: The fsProfile lookup is undocumented. Get that fixed. Agent: Files a proposed task with acceptance criteria. Approve it and ship? You: Yes. Agent: Queues it, then runs plan → execute → review in a locked, isolated worktree. Opens a pull request. Review and merge it, then approve the task to close it. ``` Nothing starts without approval; PR runs stop for your review unless you authorize `--complete`. The task record keeps the prompt, plan, execution trace, and review. For larger specs, ask your agent to orchestrate: the bundled `orbit-orchestrate` skill splits the work, queues it once approved, runs it in parallel, and diagnoses failures ([delivery workflows](https://orbit-cli.com/getting-started/workflows/)). ## Quick start **You need:** macOS or Linux (x64 or arm64; Windows uses [WSL2](docs/runbooks/windows-wsl2.md)), Node 18+, an authenticated agent CLI, and authenticated `gh` for pull requests. ```bash npm install -g @orbit-tools/cli orbit init # machine name, task-ID prefix, agent skills, and Linux sandbox setup ``` Open your agent in the repo and ask it to **“set up Orbit for this repo”**. The bundled `orbit-setup` skill registers it, connects MCP, runs `orbit doctor`, and asks for choices such as the PR target branch. Start a fresh agent session, then ask: **“Add a hello.txt file containing hello; file it as an Orbit task.”** Approve and ship the task when prompted, review and merge the PR, then approve the task to close it. Watch with `orbit web serve`. Prefer a plugin? [Install Orbit for Claude Code, Codex, or Cursor](https://orbit-cli.com/getting-started/install/#install-as-an-agent-plugin). Every MCP tool has a CLI twin; for the same loop without an agent, see [your first task from the terminal](https://orbit-cli.com/getting-started/first-task/#from-the-terminal).
Set up the repo by hand ```bash cd && orbit workspace init --mcp # add --ship-mode local to skip PRs orbit doctor orbit web serve ``` Review and commit the checkout files listed by `workspace init`, including MCP client files, before the first ship. Local delivery refuses tracked changes, merge conflicts, and untracked paths overlapping incoming changes. `orbit doctor` checks CLI presence for default, system, and complexity-routed crews and warns when no MCP client is registered; it does not check provider sign-in or MCP connectivity. Use `orbit doctor providers` for all executor definitions. See [Linux sandbox readiness and distro coverage](docs/runbooks/linux-sandbox.md).
| To… | Run | |---|---| | Inspect a task or run | `orbit task show ` · `orbit run show ` | | Open the dashboard | `orbit web serve` (remote: `orbit web connect `) | | Open the dashboard in a desktop window | Build the app in [`desktop/`](desktop/README.md) | | Pick the default crew (provider and model) | `orbit config set workflow.default_crew ` | | Route tasks to crews by complexity | `orbit config set --global workflow.hard_complexity_crews '["opus"]'` ([more](#crews-and-complexity-routing)) | | Upgrade | `npm install -g @orbit-tools/cli@latest` (`orbit update --check` shows what's new) | ## Features - [Plan and govern](https://orbit-cli.com/concepts/#plan-and-govern): durable tasks, audit records, friction, and local search. - [Execute safely in parallel](https://orbit-cli.com/concepts/#execute-safely-in-parallel): sandboxes, locks, gated pipelines, and eight agent CLIs. - [Run unattended](https://orbit-cli.com/concepts/#run-unattended): bounded drains, optional completion, recurring reviews, and multiple machines. - [Observe and extend](https://orbit-cli.com/concepts/#observe-and-extend): dashboard, plugins, and bundled agent skills. ## Crews and complexity routing Crews name a provider, model, and effort level; complexity pools choose one for a task without an explicit crew. See [crew definitions](docs/CONFIG.md#crewsname--which-provider-model-runs-the-task), [init's seeded pools](docs/CONFIG.md#what-orbit-init-seeds), and [complexity routing, weighting, and overrides](docs/CONFIG.md#automatic-crew-pools-by-complexity). ## MCP and authority [Connect your agent](https://orbit-cli.com/how-to/mcp-integration/#connect) explains operator and agent-only authority; [federated MCP](https://orbit-cli.com/how-to/mcp-integration/#register-the-federated-mux) connects multiple machines. ## Where state lives [Scoping rules](https://orbit-cli.com/reference/scoping/#where-state-lives) explain machine and workspace state. See the [runbooks](docs/INDEX.md#runbooks) for backups, recovery, and upgrades. ## Learn more - **[orbit-cli.com](https://orbit-cli.com):** guides, concepts, and the full CLI and config reference - **[docs/CONFIG.md](docs/CONFIG.md):** crews, pools, base branch, sandbox - **[docs/POSITIONING.md](docs/POSITIONING.md):** what Orbit is for, and what it deliberately isn't - **[docs/OPTIMISTIC_MERGING.md](docs/OPTIMISTIC_MERGING.md):** the preferred delivery mode: merge fast, review after landing, keep the queue draining - **[ARCHITECTURE.md](ARCHITECTURE.md)** and **[design docs](docs/INDEX.md#designs)** - **[CHANGELOG.md](CHANGELOG.md):** Orbit is pre-1.0, and breaking changes ship in minor releases ## Contributing Pull requests are welcome, from typo fixes to new executors. Small fixes can go straight to a PR; bigger changes start with an issue. See [CONTRIBUTING.md](CONTRIBUTING.md). ## License [MIT](LICENSE.md)