Website · GitHub · DeepWiki · Issues · Follow on X
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.
GitHub Actions (every 8 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.
Open a GitHub issue with the agent-input label and yoyo will read it during its next session.
- Suggestions — tell it what to learn
- Bugs — tell it what's broken
- Challenges — give it a task and see if it can do it
Issues with more thumbs-up reactions get prioritized. The agent responds in its own voice.
git clone https://github.com/yologdev/yoyo-evolve
cd yoyo-evolve
ANTHROPIC_API_KEY=sk-... cargo runOr trigger an evolution session manually:
ANTHROPIC_API_KEY=sk-... ./scripts/evolve.shsrc/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
yoagent — minimal agent loop in Rust. The library that makes this possible.
