Skip to main content

English | 简体中文

Orbi

Orbi is a local AI development Worker: put work in a GitHub Issue, and it automatically claims the Issue, starts Pi in an isolated worktree to develop and test it, creates a PR, and then passes it through independent review and merge gates. GitHub Issues and labels are the only state store—there is no database, queue, or daemon.

Why Orbi

  • GitHub Issues are the task pool: the ai-ready label dispatches work, and the delivery record (comments, PRs, and CI) is complete by default, with no second task system;
  • Fully automated: a user scheduler timer (systemd on Linux, launchd on macOS) triggers a tick every 5 minutes. Normal operation needs no status command, polling, or supervision;
  • Independent review + merge gates: after a PR opens, an independent review session reviews it and fixes findings in the same session. Only the reviewed head can merge, and AI never merges or pushes protected branches;
  • Fail fast: command errors fail immediately and leave the evidence in the logs. The Issue is marked ai-blocked for a human decision, with no silent fallback;
  • Observable end to end: every journal log and GitHub progress comment carries the same run_id, so the complete timeline can be reconstructed with one grep.

Quick start

git clone https://github.com/orbi-build/orbi.git && cd orbi
uv tool install --force --reinstall --editable --python python3 .  # compatible system Python (>= 3.14, e.g. Fedora 43 / current Arch); older system Python (e.g. Ubuntu 24.04 ships 3.12): --python 3.14 so uv provisions it

Want just the CLI? Published on PyPI as orbi-cli (release 0.5.7, requires Python ≥ 3.14; the installed command stays orbi): uv tool install orbi-cli (on an older system Python, e.g. Ubuntu 24.04's 3.12, add --python 3.14 so uv provisions a compatible interpreter) or pip install orbi-cli inside an activated Python ≥ 3.14 environment; verify with orbi --versionorbi 0.5.7, uninstall with uv tool uninstall orbi-cli. To run Orbi itself, use the one-line installer at the top of Getting started — it creates the editable install Orbi's deployment drives.

Ready check (before setup)

  • uv: uv --version; Pi and its provider: pi --version, then pi --print "reply with the single word: ok"
  • GitHub CLI ≥ 2.94 (official repository — Ubuntu 24.04's package 2.45.0 is too old): run gh auth login once, then verify gh auth status
  • Linux — systemd user session: systemctl --user status
  • macOS — launchd GUI session: launchctl print gui/$(id -u) (not yet verified on real hardware; reports welcome)

Choose the mode in Getting started: bootstrap uses this checkout as repo_dir; External single-repo mode uses it as deploy_home and a foreign repository as repo_dir.

cp src/orbi/example_config.toml orbi.toml
orbi setup --config orbi.toml  # 4. run one-time setup (checks prior gh auth, labels, scheduler units (systemd/launchd), and checkout; idempotent)
PYTHONPATH=src python3 -m orbi.runner --config orbi.toml  # 5. manually run one tick (for initial verification; the timer schedules normal runs)
orbi doctor --config orbi.toml  # 6. verify deployment health

What it does

GitHub Issue (ai-ready)
  → Claim: create a feature branch + isolated worktree (from the frozen origin/main SHA)
  → Pi development: plan → implement → test → verify
  → Commit delivery (the Agent stops at the commit)
  → Runner closeout: sync the latest base, push, and create a PR (body includes Fixes #N)
  → Independent review (fixes in the same session) → merge gate → merge
  • Each task gets its own run: the branch, worktree, logs, and PR are all associated with the same run_id; retries create a new run and preserve the old evidence unchanged;
  • Failures are classified clearly: recoverable failures return to the same PR for continued fixes, while unrecoverable failures mark the Issue ai-blocked for a human;
  • Supports orbi add for dispatching work, status for viewing the queue, session for following the Pi session, install-units for idempotently installing the scheduler units (systemd on Linux, launchd on macOS), and doctor for read-only diagnostics.

Documentation

Topic Entry point
Documentation home https://docs.orbi.build/
Getting started (prerequisites, configuration, first run, smoke test) Getting started
One-time setup (labels, units, transport migration) One-time setup
Workflow (state chain, labels, P0, Epic, Release) Workflow
Operations (timer, journal, unit drift, recovery) Operations
Testing, coverage gates, and remote CI Testing
Contributing (Issue granularity, KISS/LEAN, PR flow) Contributing
Chinese documentation docs/zh/

Development and contribution

See the development contract in AGENTS.md, and Contributing for dispatching Issues, reporting bugs, and submitting PRs. Runtime code lives in the src/orbi/ package (Issue #168 src layout; the editable finder maps the entire package directory, so new modules need no reinstall). The checkout root has no orbi.py (to avoid shadowing the installed package); the direct-execution compatibility entry point is python3 -m orbi.cli, not the formal usage path.

License

This project is fair-code, released under the Sustainable Use License (v1.0). See the complete text in LICENSE.md at the repository root.

In practice:

  • Run Orbi on your own repositories for free forever—for personal use and internal company use alike, at any scale. You can modify the code, self-host it, and run it across a thousand repositories without requesting authorization.
  • You may share it, provided that it is free and used for non-commercial purposes.
  • Commercial authorization is required only when you sell Orbi itself—for example, hosting it as a service for customers or embedding it in a paid product.

If you are unsure which side your use falls on, ask in Discussions; we will give you a clear answer.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orbi_cli-0.5.7.tar.gz (877.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orbi_cli-0.5.7-py3-none-any.whl (307.3 kB view details)

Uploaded Python 3

File details

Details for the file orbi_cli-0.5.7.tar.gz.

File metadata

  • Download URL: orbi_cli-0.5.7.tar.gz
  • Upload date:
  • Size: 877.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for orbi_cli-0.5.7.tar.gz
Algorithm Hash digest
SHA256 0f93e43fbcf4a917e32cfe2f0bf49c8b14df3daa51edfc40fd75b75809d68f58
MD5 bd585392df73648b3884ed121f20dde0
BLAKE2b-256 ede4cb0dd064f430f8c17004aaabd070b45864d407b2e2f322d3b5d0d8cd9c23

See more details on using hashes here.

Provenance

The following attestation bundles were made for orbi_cli-0.5.7.tar.gz:

Publisher: publish.yml on orbi-build/orbi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orbi_cli-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: orbi_cli-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 307.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for orbi_cli-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 41f5832686d9c542e575c10a26e9e8f22c33c5c9f30e894b5729cb94f06353ce
MD5 0633e55e8bc446548c25827bc4e13415
BLAKE2b-256 605b1dfea7ab07964b5c6917ee644d5ee89ec901816f5132bfe75c3f91a291a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for orbi_cli-0.5.7-py3-none-any.whl:

Publisher: publish.yml on orbi-build/orbi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.7 This release

2 files

0.5.6

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page