Skip to main content

Ergane

Ergane is an agentic software factory. It turns Spec Kit feature specs into merged, verified code by dispatching headless coding agents through an orchestrated DAG, with attributed per-node spend, mechanical acceptance-criteria verification, and merge-queue discipline.

This page takes a new operator from a bare machine to a dispatched epic. Every command below is real; run them in order.

What you must already have

  • A LiteLLM-shaped gateway. Ergane dispatches through a LiteLLM proxy that mints per-node virtual keys; standing one up is outside what Ergane does. The control plane will refuse llm.mode = "direct" with the same wording the parser uses: every attempt runs on its own model-constrained, TTL'd virtual key minted at the LiteLLM proxy, and a per-persona provider endpoint has no such key to mint, revoke or attribute. Put a LiteLLM-shaped gateway in front of the provider and declare llm.mode = "gateway".
  • An authenticated gh CLI, able to push to and administer the repositories you want Ergane to target.
  • bwrap on PATH, used by the default runtime to sandbox agent work.
  • git and uv.
  • Python 3.11 or newer.
  • A Node.js runtime, used by the agent CLI.
  • A systemd user session, if you want ergane worker install to run managed units under your user manager.

See factory/controlplane/config.py for the exact control-plane schema, and factory.yaml for the gate and loop composition this repository declares.

Getting the source

git clone <this-repository>
cd ergane

Installing Ergane

Run the control-plane interview and verify what it writes. The interview asks for environment variable names, not values; set those variables in your shell before running the commands that need them (scripts/ergane-env.sh is one operator-specific way to do that).

uv venv
uv pip install -e .
ergane install

Re-run the verification without the interview when you change the environment:

ergane install --verify

Installing the worker

Run the worker and operator bridge under systemd user supervision:

ergane worker install

Joining a repository

Join a git repository so Ergane can dispatch against it:

ergane init

To also wire the repository's GitHub side, run:

ergane init --wire

Onboarding a target repository

Register the repository with the engine:

ergane repo onboard <target-repo-path>

Dispatching your first epic

Start a compiled workgraph:

ergane build start <workgraph.json>

For the current state of every spec, run ergane spec list specs. For what an epic is doing right now, run ergane build status <epic-id>. For open defects, run ergane findings list.

Leaving

To remove a repository from the engine without touching its files:

nergane repo forget <repo-slug>

To remove the worker units:

nergane worker uninstall

Where the binding documents live

  • .specify/memory/constitution.md — the standards every node obeys.
  • docs/architecture.md — how the factory works.
  • docs/decisions.md — the immutable decision log.
  • CONTEXT.md — the vocabulary this repository uses.
  • scripts/ergane-env.sh — the shell environment the CLI commands expect.

Metadata

Release files for ergane-cli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for ergane-cli 0.1.0
File Interpreter ABI Platform
ergane_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Release files / ergane_cli-0.1.0-py3-none-any.whl

Download URL ergane_cli-0.1.0-py3-none-any.whl
Size 613.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0270a2d5edc61dc0e275f6eb462e92d5b0cdc61a83292db1c64eef83262d579c
BLAKE2b-256 checksum
How to use checksums
397411dd354caa91481e9f5605d1820ddfc638aadc56d3d09be01cccdbbb0ea5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Security for ergane-cli 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 1 file in this release has been uploaded with provenance metadata.

Attestation for ergane_cli-0.1.0-py3-none-any.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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