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 declarellm.mode = "gateway". - An authenticated
ghCLI, able to push to and administer the repositories you want Ergane to target. bwraponPATH, used by the default runtime to sandbox agent work.gitanduv.- Python 3.11 or newer.
- A Node.js runtime, used by the agent CLI.
- A systemd user session, if you want
ergane worker installto 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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logSecurity 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 logA 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.