Git-backed experiment loops for coding agents
Project description
autoevolve
autoevolve lets coding agents run git-backed experiment loops autonomously. It gives agents a lightweight workflow for branching, recording results, and comparing experiments without needing heavy external dependencies, databases, or services.
Initialize it inside a project, let it set up the files your coding agents need, and then let the agents iterate through experiments, branch into new research directions, and explore ideas on their own.
[!NOTE]
autoevolvecan create many experiment branches and worktrees. Try it in a repo where extra git history won’t be a problem, or use a new repo.
Install
pip install autoevolve-cli
Quickstart
1. Initialize autoevolve in an existing git repo:
autoevolve init
autoevolve init walks you through the setup for your coding harness and problem:
SKILL.mdorPROGRAM.md: the instructions your coding agent reads to useautoevolvePROBLEM.md: the goal, metric, constraints, and validation setup for your problem
For an example problem to try, see the circle packing example repo.
2. Tell your agent to read PROGRAM.md or activate the skill depending on your setup:
Read PROGRAM.md, then start working.
# If using skills
$autoevolve # Codex
/autoevolve # Claude Code
From there, your agent should start working in the repo as usual. This works best if your agent is running with dangerously skip permissions/yolo mode. Experiment commits will include:
EXPERIMENT.json: the structured record of the experiment, including summary, metrics, and any references to other experimentsJOURNAL.md: the narrative record of the experiment, which could include the hypothesis, changes made, outcomes, reflections, etc.
3. Start the TUI to monitor your agent's progress:
autoevolve dashboard
CLI
Here’s the CLI surface: Human commands handle setup and monitoring, Lifecycle manages experiments, and Inspect and Analytics help your agents review the experiment state.
Usage: autoevolve [OPTIONS] COMMAND [ARGS]...
Git-backed experiment loops for coding agents.
Options:
--help Show this message and exit.
Human:
init Set up PROBLEM.md and agent instructions.
validate Check that the repo is ready for autoevolve.
update Update detected prompt files to the latest version.
dashboard Open the experiment dashboard.
Lifecycle:
start Create a managed experiment branch and worktree.
record Validate, commit, and remove the current managed worktree.
clean Remove stale managed worktrees for this repository.
Inspect:
status Show the current experiment status.
log Show experiment logs.
show Show experiment details.
compare Compare two experiments.
lineage Show experiment lineage around one ref.
Analytics:
recent List the most recent recorded experiments.
best List the top experiments for one metric.
pareto List the Pareto frontier for selected metrics.
Examples:
autoevolve start tune-thresholds "Try a tighter threshold sweep" --from 07f1844
autoevolve record
autoevolve log
autoevolve recent --limit 5
autoevolve best --max benchmark_score --limit 5
Run "autoevolve <command> --help" for command-specific details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autoevolve_cli-0.1.1.tar.gz.
File metadata
- Download URL: autoevolve_cli-0.1.1.tar.gz
- Upload date:
- Size: 563.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5f341e2afc110991449a3c6028256d9d78bdee4cc9ba6a763bebcc35af20e2d
|
|
| MD5 |
e40beb6c586c754470753bac20b0db0c
|
|
| BLAKE2b-256 |
a70cb835caa8f3a16649d9089f8ead6c64c950abef259857d0da6e1b7e263957
|
Provenance
The following attestation bundles were made for autoevolve_cli-0.1.1.tar.gz:
Publisher:
publish.yml on wiskojo/autoevolve
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autoevolve_cli-0.1.1.tar.gz -
Subject digest:
c5f341e2afc110991449a3c6028256d9d78bdee4cc9ba6a763bebcc35af20e2d - Sigstore transparency entry: 1170833582
- Sigstore integration time:
-
Permalink:
wiskojo/autoevolve@97f824617c4e5a78b8adf42579090b9c11b901c3 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/wiskojo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@97f824617c4e5a78b8adf42579090b9c11b901c3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file autoevolve_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: autoevolve_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 47.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3f1903cd147c362ea05aac8f47a0b6c70011731a7a9ee6248983ee8a21aae17
|
|
| MD5 |
ff089402580c2e14bcf74b3a32379cb1
|
|
| BLAKE2b-256 |
0048474b79fec0a23bef7d26076e5a8eaa25c2e9a73005eae437fca7e9ab6367
|
Provenance
The following attestation bundles were made for autoevolve_cli-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on wiskojo/autoevolve
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autoevolve_cli-0.1.1-py3-none-any.whl -
Subject digest:
e3f1903cd147c362ea05aac8f47a0b6c70011731a7a9ee6248983ee8a21aae17 - Sigstore transparency entry: 1170833616
- Sigstore integration time:
-
Permalink:
wiskojo/autoevolve@97f824617c4e5a78b8adf42579090b9c11b901c3 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/wiskojo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@97f824617c4e5a78b8adf42579090b9c11b901c3 -
Trigger Event:
push
-
Statement type: