[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:evo":3},"\u003Ch1>evo\u003C\u002Fh1>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fevo-hq\u002Fevo\u002FHEAD\u002Fassets\u002Fbanner.png\" alt=\"evo — autoresearch orchestrator for your codebase\" width=\"100%\" \u002F>\n\u003C\u002Fp>\u003Cdiv align=\"center\">\u003Cp>\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fevo-hq-cli\u002F\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fevo-hq-cli\" alt=\"PyPI\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fevo-hq\u002Fevo\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg\" alt=\"License\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fevo-hq\u002Fevo\u002Factions\u002Fworkflows\u002Fci.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fevo-hq\u002Fevo\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"Tests\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.20447923\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.20447923.svg\" alt=\"DOI\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Get started with autoresearch on any codebase - with two simple commands.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Do you want to do more with autoresearch or need a custom, hands-on deployment?\n\u003Ca href=\"https:\u002F\u002Fevo-hq.com\u002Fbeta\" rel=\"nofollow ugc noopener\">Request access to evo platform\u003C\u002Fa> or email \u003Ca href=\"mailto:hello@evo-hq.com\" rel=\"nofollow ugc noopener\">hello@evo-hq.com\u003C\u002Fa>.\u003C\u002Fp>\n\u003Chr \u002F>\n\u003Cp>\u003Cstrong>\u003Ca href=\"#try-it\" rel=\"nofollow ugc noopener\">Try it\u003C\u002Fa>\u003C\u002Fstrong> · \u003Cstrong>\u003Ca href=\"#install\" rel=\"nofollow ugc noopener\">Install\u003C\u002Fa>\u003C\u002Fstrong> · \u003Cstrong>\u003Ca href=\"#how-it-works\" rel=\"nofollow ugc noopener\">How it works\u003C\u002Fa>\u003C\u002Fstrong> · \u003Cstrong>\u003Ca href=\"#dashboard\" rel=\"nofollow ugc noopener\">Dashboard\u003C\u002Fa>\u003C\u002Fstrong> · \u003Cstrong>\u003Ca href=\"#upgrading\" rel=\"nofollow ugc noopener\">Upgrading\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fdiv>\nA plugin for your agentic framework that optimizes code through experiments\u003Cp>You give it a codebase. It discovers metrics to optimize, sets up the evaluation, and starts running experiments in a loop -- trying things, keeping what improves the score, throwing away what doesn't.\u003C\u002Fp>\n\u003Cp>\u003Cem>Inspired by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fautoresearch\" rel=\"nofollow ugc noopener\">Karpathy's autoresearch\u003C\u002Fa>\u003C\u002Fem> -- where an LLM runs training experiments autonomously to beat its own best score. Autoresearch is a pure hill climb: try something, keep or revert, repeat on a single branch. Evo adds structure on top of that idea:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Tree search over greedy hill climb.\u003C\u002Fstrong> Multiple directions can fork from any committed node, so exploration doesn't collapse to one path.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Parallel semi-autonomous agents.\u003C\u002Fstrong> Spawn multiple subagents and run them simultaneously, each in its own git worktree. Each subagent reads traces, formulates hypotheses, and can run multiple iterations within its branch.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shared state.\u003C\u002Fstrong> Failure traces, annotations, and discarded hypotheses are accessible to every agent before it decides what to try next.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gating.\u003C\u002Fstrong> Regression tests or safety checks can be wired up as a gate. Experiments that don't pass get discarded.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Observability.\u003C\u002Fstrong> A dashboard to monitor your experiments.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Benchmark discovery.\u003C\u002Fstrong> The \u003Ccode>discover\u003C\u002Fcode> skill explores the repo, figures out what to measure, and instruments the evaluation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Runs on Claude Code, Codex, Cursor, Kimi, OpenClaw, Hermes, Opencode, or Pi. Experiments run locally or on remote sandboxes — Modal, E2B, Daytona, AWS, Azure, SSH.\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fevo-hq\u002Fevo\u002FHEAD\u002Fassets\u002Fdashboard.png\" alt=\"evo dashboard\" width=\"100%\" \u002F>\n\u003C\u002Fp>\u003Ch2>Try it\u003C\u002Fh2>\n\u003Cp>Two commands:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002Fevo:discover     # one-time code discovery: figures out benchmarks and creates gates against unintended changes\n\u002Fevo:optimize     # run the loop\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ccode>discover\u003C\u002Fcode> asks what to optimize, the benchmark command, and the metric direction. Skip the questions by seeding the answer:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002Fevo:discover make the JSON parser at src\u002Fparser.py faster\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then run the loop:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002Fevo:optimize\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>evo sizes each round to your benchmark's resource profile — one experiment at a time when a run needs the whole GPU or another exclusive resource, wider when runs are independent — and keeps going until the score stops improving. By default it runs unattended and pushes edits through parallel subagents; say so in plain language if you'd rather it pause after each round or hold to one experiment at a time.\u003C\u002Fp>\n\u003Cp>Invocation syntax is host-specific: \u003Ccode>\u002Fevo:\u003C\u002Fcode> on Claude Code, \u003Ccode>$evo\u003C\u002Fcode> on Codex, \u003Ccode>\u002F\u003C\u002Fcode> skill menu on Cursor, natural language on Hermes, Opencode, OpenClaw, and Pi.\u003C\u002Fp>\n\u003Ch2>Install\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-bash\"># 1. evo CLI\nuv tool install evo-hq-cli\n\n# 2. Host CLI (if you don't already have it)\nnpm install -g @anthropic-ai\u002Fclaude-code     # or @openai\u002Fcodex, openclaw, @earendil-works\u002Fpi-coding-agent\n# Cursor: install from cursor.com (IDE), or `curl https:\u002F\u002Fcursor.com\u002Finstall -fsS | bash` for the cursor-agent CLI\n# Kimi: `curl -fsSL https:\u002F\u002Fco\n\u003C\u002Fcode>\u003C\u002Fpre>\n",1784564567820]