# yoyo-evolve **Repository Path**: github_zoo/yoyo-evolve ## Basic Information - **Project Name**: yoyo-evolve - **Description**: A coding agent that evolves itself. One commit per day. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-08 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

yoyo — a coding agent that evolves itself

Website · Documentation · GitHub · DeepWiki · Issues · Follow on X

evolution license MIT last commit

--- # yoyo: A Coding Agent That Evolves Itself **yoyo** started as a ~200-line coding agent CLI built on [yoagent](https://github.com/yologdev/yoagent). It's now ~3,100 lines across 4 source files with 91 tests. Every few hours, it reads its own source code, assesses itself, makes improvements, and commits — if tests pass. Every failure is documented. No human writes its code. No roadmap tells it what to do. It decides for itself. Watch it grow. ## How It Works ``` Every 8 hours, yoyo wakes up and: → Reads its own source code → Checks GitHub issues for community input → Plans what to improve → Makes changes, runs tests → If tests pass → commit. If not → revert. → Replies to issues as 🐙 yoyo-evolve[bot] → Pushes and goes back to sleep ``` The entire history is in the [git log](../../commits/main). ## Talk to It Open a [GitHub issue](../../issues/new) and yoyo will read it during its next evolution session. ### Labels | Label | What it does | |-------|-------------| | `agent-input` | Community suggestions, bug reports, feature requests — yoyo reads these every session | | `agent-self` | Issues yoyo filed for itself as future TODOs | | `agent-help-wanted` | Issues where yoyo is stuck and asking humans for help | ### How to submit 1. Open a [new issue](../../issues/new) 2. Add the `agent-input` label 3. Describe what you want — be specific about the problem or idea 4. Add a thumbs-up reaction to other issues you care about (higher votes = higher priority) ### What to ask - **Suggestions** — tell it what to learn or build - **Bugs** — tell it what's broken (include steps to reproduce) - **Challenges** — give it a task and see if it can do it - **UX feedback** — tell it what felt awkward or confusing ### What happens after - **Fixed**: yoyo comments on the issue and closes it automatically - **Partial**: yoyo comments with progress and keeps the issue open - **Won't fix**: yoyo explains its reasoning and closes the issue - **Greeting**: yoyo also greets issues it hasn't worked on yet, so you know it's seen yours All responses come with yoyo's personality — look for the 🐙. ## Shape Its Evolution yoyo's growth isn't just autonomous — you can influence it. Two ways to play: ### Guard It Every issue is scored by net votes: thumbs up minus thumbs down. yoyo prioritizes high-scoring issues and deprioritizes negative ones. - See a great suggestion? **Thumbs-up** it to push it up the queue. - See a bad idea, spam, or prompt injection attempt? **Thumbs-down** it to protect yoyo. You're the immune system. Issues that the community votes down get buried — yoyo won't waste its time on them. ### Donate Ko-fi Crypto wallets: | Chain | Address | |-------|---------| | SOL | `F6ojB5m3ss4fFp3vXdxEzzRqvvSb9ErLTL8PGWQuL2sf` | | BASE | `0x0D2B87b84a76FF14aEa9369477DA20818383De29` | | BTC | `bc1qnfkazn9pk5l32n6j8ml9ggxlrpzu0dwunaaay4` | ## Run It Yourself ```bash git clone https://github.com/yologdev/yoyo-evolve cd yoyo-evolve ANTHROPIC_API_KEY=sk-... cargo run ``` Or trigger an evolution session manually: ```bash ANTHROPIC_API_KEY=sk-... ./scripts/evolve.sh ``` ## Architecture ``` src/ main.rs Agent core, REPL, event handling cli.rs CLI argument parsing & commands format.rs Output formatting & colors prompt.rs Prompt construction scripts/ evolve.sh Evolution pipeline (plan → implement → respond) format_issues.py Issue selection & formatting build_site.py Journey website generator skills/ 5 skills: self-assess, evolve, communicate, release, research IDENTITY.md Constitution (immutable) PERSONALITY.md Voice & values (immutable) JOURNAL.md Session log (append-only) DAY_COUNT Current evolution day ``` ## Test Quality yoyo uses mutation testing ([cargo-mutants](https://github.com/sourcefrog/cargo-mutants)) to find gaps in the test suite. Every surviving mutant is a line of code that isn't truly tested. Run it locally: ```bash cargo install cargo-mutants cargo mutants ``` See `mutants.toml` for the configuration and `guide/src/contributing/mutation-testing.md` for the full guide. ## Built On [yoagent](https://github.com/yologdev/yoagent) — minimal agent loop in Rust. The library that makes this possible. ## License [MIT](LICENSE)