Skip to main content

Local-first control plane for cross-agent AI software delivery

Project description

Orcho โ€” Production Harness for Agentic Software Delivery

PyPI Python 3.12+ License: Apache-2.0 CI DCO Release codecov OpenSSF Scorecard

Orcho is a production harness and control plane for agentic software delivery.

๐Ÿ“– Documentation: docs.orcho.dev

One orcho run end to end, sped up: the opening envelope, the pipeline map, the plan contract, plan validation, implement subtasks with attestations, review, final acceptance, the delivery commit, and the closing rollup

One orcho run end to end (mock pipeline, sped up). Interactive version with pause and scrub: docs.orcho.dev.

Use the coding agents you already trust; Orcho supervises the workflow around them: plan โ†’ implementation โ†’ review โ†’ repair โ†’ final acceptance.

It is built for work that needs more structure than a single interactive agent session:

  • one task or one coordinated change across several repositories;
  • explicit phase topology through profiles;
  • human/agent review gates with resume and retry;
  • durable run state: plans, diffs, findings, metrics, evidence;
  • CLI, SDK, and MCP control surfaces.

Which model runs which phase is fully configurable. Default: Claude (PLAN / BUILD / FIX) + Codex (REVIEW / QA). Assign Claude, Codex, or Gemini to any phase via env vars, profiles, or config.local.json.

Zero project-specific code โ€” all project context comes through plugin.py.


Install

orcho is the native CLI distribution โ€” it installs the core CLI and the MCP server (orcho-mcp). The recommended path is pipx, which keeps the CLI isolated from any project environment. Pick your OS below, or jump to the OS-agnostic Docker / direct engine paths.

Prerequisites on every OS: Python 3.12+, and for real (non---mock) runs at least one code-agent CLI (claude, codex, or gemini) on PATH.

macOS

brew install pipx        # skip if pipx is already installed
pipx ensurepath
pipx install orcho
orcho --help

Linux

python3 -m pip install --user pipx   # or: sudo apt install pipx / sudo dnf install pipx
python3 -m pipx ensurepath
pipx install orcho
orcho --help

Windows

Native Windows is supported and exercised in CI. Install Python 3.12+ and Git for Windows first, then, in PowerShell:

py -m pip install --user pipx
py -m pipx ensurepath
pipx install orcho
orcho --help

Prefer a Unix shell? Install into WSL2 using the Linux steps above. Full Windows notes โ€” agent-CLI paths, WSL2 layout, and pipe-based output streaming โ€” are in docs/expert/05_windows.md.

Docker

OS-agnostic. Use Docker to try Orcho without installing its Python package or agent CLIs on the host:

docker pull ghcr.io/symphos-ai/orcho
alias orcho='docker run --rm -it \
  -v "$PWD":/workspace \
  -v ~/.orcho-auth:/agent-auth:ro \
  ghcr.io/symphos-ai/orcho orcho'

orcho run --project /workspace --task "Add input validation to the login endpoint."

The image includes the core CLI and MCP server. See orcho Docker docs for credential bootstrap, MCP stdio setup, and custom project toolchains.

Direct engine dependency

OS-agnostic. Use pip when you intentionally want orcho-core in the active virtualenv, CI image, devcontainer, or custom image:

python -m pip install orcho-core

The orcho distribution depends on orcho-core; most CLI users should start with orcho, while integrators can depend on orcho-core directly. The orcho[mcp]/orcho[all] extras remain as no-op back-compat aliases.

For source-checkout setup, tests, and contribution workflow, see CONTRIBUTING.md.


Try the golden mock demo

Once orcho is installed (see Install above), the fastest zero-API proof is the single-project CLI demo. It creates a disposable git-backed fixture, runs the full mock pipeline, reviews the diff, and writes evidence. The bootstrap script is bash (macOS, Linux, or WSL2 / Git Bash on Windows):

examples/scripts/bootstrap_demo_1a.sh

Then paste the printed orcho run ... --mock command and inspect:

orcho evidence --format md --workspace /tmp/orcho_demo_1a/workspace-orchestrator
orcho status --workspace /tmp/orcho_demo_1a/workspace-orchestrator
orcho diff <run-id> --stat --workspace /tmp/orcho_demo_1a/workspace-orchestrator

Full walkthrough: docs/demos/demo-1a-single-project-cli.md.


First time? Start here

โ†’ docs/user/00_getting_started.md

The full path from zero to the first result: prerequisites โ†’ install โ†’ connect your project โ†’ first run.


How it works

Task
  โ†’ Claude  [PLAN]              writes the implementation plan
  โ†’ Codex   [validate_plan]     audits the plan
  โ†’ Claude  [BUILD]             implements the code
  โ†’ Codex   [REVIEW]            reviews the diff
  โ†’ Claude  [FIX]               fixes the findings
  โ†’ Codex   [final_acceptance]  final verdict

Core commands

# One project
orcho run --task "Add input validation to /api/login" --project ~/my-project

# Several projects at once
orcho cross --task "Add rate limiting: API + client" \
            --projects api:~/api client:~/client

# No API calls (test)
orcho run --mock --task "..." --project ~/my-project

# Plan only (no code)
orcho run --profile planning --task "..." --project ~/my-project

# Resume an interrupted run
orcho run --resume 20260503_104135

# Status, history, metrics
orcho status | orcho history | orcho metrics

Connecting a project

Create your-project/.orcho/multiagent/plugin.py:

from pipeline.plugins import PluginConfig

plugin = PluginConfig(
    name="My Project",
    tech_stack="FastAPI + PostgreSQL",
    architecture="REST API. Routes: app/routes/, Services: app/services/",
    file_hints=["app/routes/", "app/services/", "tests/"],
    build_prompt_extra="Run: pytest -x after changes.",
    review_focus_extra="Check N+1 queries, missing validations.",
)

Without plugin.py, orcho runs in generic mode.


Package layout

orcho-core/
โ”œโ”€โ”€ cli/                            โ† CLI facade (orcho run / cross / statusโ€ฆ)
โ”œโ”€โ”€ sdk/                            โ† typed headless API for tools and embedders
โ”œโ”€โ”€ pipeline/
โ”‚   โ”œโ”€โ”€ project_orchestrator.py     โ† single-project pipeline
โ”‚   โ”œโ”€โ”€ cross_project/              โ† cross-project planning, dispatch, gates
โ”‚   โ”œโ”€โ”€ runtime/                    โ† profiles, steps, state, runner
โ”‚   โ”œโ”€โ”€ prompts/                    โ† composable prompt parts and contracts
โ”‚   โ”œโ”€โ”€ control/                    โ† handoff, resume, operator decisions
โ”‚   โ”œโ”€โ”€ engine/                     โ† sessions, logging, worktrees, run diff
โ”‚   โ”œโ”€โ”€ evidence/                   โ† evidence bundle and renderers
โ”‚   โ”œโ”€โ”€ profiles/                   โ† profile loading and validation
โ”‚   โ”œโ”€โ”€ sandbox/                    โ† command isolation backends
โ”‚   โ”œโ”€โ”€ skills/                     โ† skill discovery and injection
โ”‚   โ”œโ”€โ”€ plugins.py                  โ† PluginConfig + load_plugin()
โ”‚   โ””โ”€โ”€ checkpoint.py               โ† SQLite store (--resume)
โ”œโ”€โ”€ core/
โ”‚   โ”œโ”€โ”€ _prompts/                   โ† core prompt templates
โ”‚   โ”œโ”€โ”€ _config/                    โ† packaged defaults
โ”‚   โ”œโ”€โ”€ contracts/                  โ† plan/review/release schemas
โ”‚   โ”œโ”€โ”€ infra/                      โ† config, platform, binary discovery
โ”‚   โ”œโ”€โ”€ observability/              โ† logging, metrics, trace
โ”‚   โ”œโ”€โ”€ io/                         โ† retry, git helpers, prompt loader
โ”‚   โ””โ”€โ”€ context/                    โ† codemap builder (optional)
โ”œโ”€โ”€ agents/                         โ† runtimes, registry, stream parsers
โ””โ”€โ”€ tests/                          โ† unit, integration, acceptance, SDK contract tests

Documentation

The user-facing portal is docs.orcho.dev โ€” start there.

The in-repo docs below are the contributor & deep reference: the canonical engineering contracts the portal links into. Ordered from general to specific.

Level For whom Link
User You want to use the system docs/user/
Expert You tune prompts, plugins, and models docs/expert/
Integrator You author profiles, gates, and adapters docs/guides/
Reference Exact schemas and registries docs/reference/
Creator You develop the engine itself docs/creator/

Full index: docs/README.md.


Testing

pytest tests/ -q
pytest tests/unit/ -v
pytest tests/integration/ -v

Tests must not call real models. Use MockAgentProvider for pipeline-flow scenarios.


Key principles

  • Zero hardcoding โ€” all project context comes through plugin.py
  • DRY engine โ€” pipeline/engine/ is shared by both orchestrators
  • 3-level prompts โ€” project โ†’ workspace โ†’ core (always overridable)
  • Discoverable extension points โ€” workspace init creates safe .orcho/ guides and templates without overwriting local edits
  • Resumable โ€” --resume continues from the last checkpoint
  • Cross-platform โ€” macOS, Linux, Windows (native + WSL2)

Project details


Download files

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

Source Distribution

orcho_core-0.3.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

orcho_core-0.3.0-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file orcho_core-0.3.0.tar.gz.

File metadata

  • Download URL: orcho_core-0.3.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for orcho_core-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0257d332506d2719df95766fa4f901c13588f8a408c250049655704249e1fa3c
MD5 b706ed4bfdaafcef015386ce01a8a2d1
BLAKE2b-256 5c2f5ce3f937189619165ef4378f3d872e0e1f53b01cbc1e51dfd76e4ad42e25

See more details on using hashes here.

Provenance

The following attestation bundles were made for orcho_core-0.3.0.tar.gz:

Publisher: release.yml on symphos-ai/orcho-core

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

File details

Details for the file orcho_core-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: orcho_core-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for orcho_core-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bd732a4c500389b20f9e71cebc614edf4e52aa2c382681c5e85862ab8fb93ae
MD5 6bf5bd41ae1de2a543299ec9493b770c
BLAKE2b-256 4a86d1819b312f2251a26c21a32bab3adb3dbab3179e38ca70607eca2200b517

See more details on using hashes here.

Provenance

The following attestation bundles were made for orcho_core-0.3.0-py3-none-any.whl:

Publisher: release.yml on symphos-ai/orcho-core

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page