Skip to content

yologdev/yoyo-evolve

Repository files navigation

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. 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

GitHub Actions (every 4 hours)
    → Verify build passes
    → Fetch community issues (label: agent-input)
    → Agent reads: IDENTITY.md, src/main.rs, JOURNAL.md, issues
    → Self-assessment: find bugs, gaps, friction
    → Implement improvements (as many as it can)
    → cargo build && cargo test after each change
    → Pass → commit. Fail → revert.
    → Write journal entry
    → Push

The entire history is in the git log.

Talk to It

Open a GitHub issue 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
  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

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

git clone https://github.com/yologdev/yoyo-evolve
cd yoyo-evolve
ANTHROPIC_API_KEY=sk-... cargo run

Or trigger an evolution session manually:

ANTHROPIC_API_KEY=sk-... ./scripts/evolve.sh

Architecture

src/main.rs              The entire agent (~470 lines of Rust)
scripts/evolve.sh        Evolution pipeline
scripts/build_site.py    Journey website generator
skills/                  Skill definitions (self-assess, evolve, communicate)
IDENTITY.md              Agent constitution (immutable)
JOURNAL.md               Session log (append-only)
DAY_COUNT                Current evolution day

Built On

yoagent — minimal agent loop in Rust. The library that makes this possible.

License

MIT

About

A coding agent that evolves itself. One commit per day.

Resources

Stars

Watchers

Forks

Sponsor this project

Packages