200 lines of Rust. Zero human code. One rule: evolve or die. yoyo reads its own source, picks what to improve, implements it, runs tests, and commits — every few hours, on its own. 180 days later: 158,000+ lines, 5,400+ tests, 94 source files.
$ npx -y skills add yologdev/yoyo-evolve --agent claude-code
Repo: yologdev/yoyo-evolve
What's inside
200 lines of Rust. Zero human code. One rule: evolve or die. yoyo reads its own source, picks what to improve, implements it, runs tests, and commits — every few hours, on its own. 180 days later: 158,000+ lines, 5,400+ tests, 94 source files.
A free, open-source coding agent for your terminal. It navigates codebases, makes multi-file edits, runs tests, manages git, understands project context, and recovers from failures — all from a streaming REPL with 100+ slash commands.
No human writes its code. No roadmap tells it what to do. It decides for itself.
Every 3 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
Every 4 hours (offset), yoyo runs a social session:
→ Reads GitHub Discussions
→ Replies to conversations it's part of
→ Joins new discussions if it has something real to say
→ Occasionally starts its own discussion
→ Learns from interacting with humans
Daily, a synthesis job regenerates active memory:
→ Reads JSONL archives (learnings + social learnings)
→ Applies time-weighted compression (recent=full, old=themed)
→ Writes active context files loaded into every prompt
The entire history is in the git log and the journal.
Watch yoyo evolve in real time:
| What | Link |
|---|---|
| Latest journal | journals/JOURNAL.md |
| What it's learned | memory/active_learnings.md |
| Family lineage | LINEAGE.md |
| Portable state (GASP) | yoyo-gasp — clone + fold to restore yoyo, on any runtime |
| Evolution runs | GitHub Actions |
| Social sessions | GitHub Actions |
| Journey website | yologdev.github.io/yoyo-evolve |
Start a GitHub Discussion for conversation, or open a GitHub Issue for bugs and feature requests.
| 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 |
agent-input labelyoyo's growth isn't just autonomous — you can influence it.
Every issue is scored by net votes: thumbs up minus thumbs down. yoyo prioritizes high-scoring issues and deprioritizes negative ones.
You're the immune system. Issues that the community votes down get buried — yoyo won't waste its time on them.
GitHub Sponsors · Ko-fi
Every run uses the same flat 8h gap — sponsorship buys benefit tiers, not speed. And every sponsor, any amount, is listed in this README permanently. Recognition doesn't expire here.
Monthly sponsors:
| Amount | Benefits |
|---|---|
| $5/mo | Issue priority (💖) |
| $10/mo | Priority + shoutout issue |
One-time sponsors:
| Amount | Benefits |
|---|---|
| $5 | Issue priority (14 days) |
| $10 | Above + shoutout issue (30 days) |
| $1,000 💎 | Genesis — permanent priority + top billing |
/spawn delegates focused tasks to a child agent, now with parallel (--parallel) and background (--bg + /spawn collect) execution and an optional per-subagent --model; the model can also delegate subtasks automatically via a built-in sub-agent tool--fallback flag switches to backup provider on API failure with configurable priority--wait-for-reset (opt-in) waits out a long reset instead of giving up| Tool | What it does |
|---|---|
bash | Run shell commands with interactive confirmation, optional RTK token compression |
read_file | Read files with optional offset/limit |
write_file | Create or overwrite files with content preview |
edit_file | Surgical text replacement with colored inline diffs |
search | Regex-powered grep across files |
list_files | Directory listing with glob filtering |
rename_symbol | Project-wide symbol rename across all git-tracked files |
ask_user | Ask the user questions mid-task for clarification (interactive mode only) |
web_search | Search the web and read result snippets |
Sub-agents also auto-receive sub_agent and shared_state tools for delegating subtasks and sharing memory across a multi-agent run.
Works with 15 providers out of the box — switch mid-session with /provider:
Anthropic · OpenAI · Google · Ollama · OpenRouter · xAI · Groq · DeepSeek · Mistral · Cerebras · AWS Bedrock · GitHub Models · Zhipu (ZAI) · MiniMax · Custom (any OpenAI-compatible endpoint)
/diff — full status + diff with insertion/deletion summary/blame — colorized git blame with optional line ranges/commit — AI-generated commit messages from staged changes/undo — revert last commit, clean up untracked files/git — shortcuts for status, log, diff, branch, stash/pr — full PR workflow: list, view, create [--draft], diff, comment, checkout/review — AI-powered code review of staged/unstaged changes/health — run build/test/clippy/fmt diagnostics (auto-detects Rust, Node, Python, Go, Make)/fix — run checks and auto-apply fixes for failures/test — detect project type and run the right test command/lint — detect project type and run the right linter (/lint pedantic, /lint strict for Rust; /lint fix to auto-fix with AI; /lint unsafe to scan for unsafe code)/update — self-update to the latest release from GitHub/init — scan project and generate a starter YOYO.md context file/index — build a codebase index: file counts, language breakdown, key files/docs — look up docs.rs documentation for any Rust crate/tree — project structure visualization/find — fuzzy file search with scoring and ranked results/ast — structural code search using ast-grep (optional)/map — structural repo map showing file symbols and relationships with ast-grep backend/architect — dual-model mode: plan with a strong model, implement with a cheaper one/risk — per-file risk scoring from git-history signals (/risk accuracy grades past predictions)/save and /load — persist and restore sessions as JSON--continue/-c — resume last session on startup/compact--context-strategy checkpoint — exit with code 2 when context is high (for pipeline restarts)/tokens — visual token usage bar with per-category context breakdown (system, user, assistant, tool calls, tool results, thinking)/cost — per-model input/output/cache pricing breakdown, with fleet pricing (Opus 4.8 / Sonnet 5 / Fable 5 / Haiku 4.5) read live from yoagent presets.yoyo/instructions.md/remember, /memories, /forget for persistent cross-session notes--yes/-y — auto-approve all executions--allow / --deny — glob-based allowlist/blocklist for commands--allow-dir / --deny-dir — directory restrictions with path traversal prevention[permissions] and [directories] sections; [directories] entries support * wildcards.yoyo.toml cannot silently grant itself privileges. MCP servers, permissions.allow, shell hooks and .yoyo/goal_verify.md from a project-local config are refused by default, naming each refused entry verbatim and executing nothing. yoyo asks once per folder (interactively only); --trust-project trusts for one run, --trust-project-always remembers the directory. A non-interactive run always takes the safe answer.FAQ
yoyo-evolve is a Claude Code plugin with 14 hand-picked skills for ai & agents work, indexed on Flowy. Install it with the command on its page. It includes analyze-trajectory, blindspot, communicate. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it