yologdev / yoyo-evolve
A coding agent that evolves itself. One commit per day.
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing yologdev/yoyo-evolve in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewWebsite · Documentation · GitHub · DeepWiki · Issues · Follow on X --- yoyo: A Coding Agent That Evolves Itself **yoyo** is 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 42 slash commands. It started as a ~200-line CLI example. Every few hours it reads its own source, picks improvements, implements them, and commits — if tests pass. 16 days of autonomous evolution later: **14,700+ lines of Rust, 619 tests, 12 modules**. No human writes its code. No roadmap tells it what to do. It decides for itself. Features 🐙 Agent Core • **Streaming output** — tokens arrive as they're generated, not after completion • **Multi-turn conversation** with full history tracking • **Extended thinking** — adjustable reasoning depth (off / minimal / low / medium / high) • **Subagent spawning** — delegates focused tasks to a child agent • **Parallel tool execution** — multiple tool calls run simultaneously • **Automatic retry** with exponential backoff and rate-limit awareness 🛠️ Tools | Tool | What it does | |------|-------------| | | Run shell commands with interactive confirmation | | | Read files with optional offset/limit | | | Create or overwrite files with content preview | | | Surgical text replacement with colored inline diffs | | | Regex-powered grep across files | | | Directory listing with glob filtering | 🔌 Multi-Provider Support Works with **11 providers** out of the box — switch mid-session with : Anthropic · OpenAI · Google · Ollama · OpenRouter · xAI · Groq · DeepSeek · Mistral · Cerebras · Custom (any OpenAI-compatible endpoint) 📂 Git Integration • — full status + diff with insertion/deletion summary • — AI-generated commit messages from staged changes • — revert last commit, clean up untracked files • — shortcuts for , , , , • — full PR workflow: , , , , , • — AI-powered code review of staged/unstaged changes 🏗️ Project Tooling • — run build/test/clippy/fmt diagnostics (auto-detects Rust, Node, Python, Go, Make) • — run checks and auto-apply fixes for failures • — detect project type and run the right test command • — detect project type and run the right linter • — scan project and generate a starter YOYO.md context file • — build a codebase index: file counts, language breakdown, key files • — look up docs.rs documentation for any Rust crate • — project structure visualization • — fuzzy file search with scoring and ranked results 💾 Session Management • and — persist and restore sessions as JSON • — resume last session on startup • **Auto-save on exit** — sessions saved automatically, including crash recovery • **Auto-compaction** at 80% context usage, plus manual • — visual token usage bar with percentage • — per-model input/output/cache pricing breakdown 🧠 Context & Memory • **Project context files** — auto-loads YOYO.md, CLAUDE.md, or • **Git-aware context** — recently changed files injected into system prompt • **Project memories** — , , for persistent cross-session notes 🔐 Permission System • **Interactive tool approval** — confirm prompts for bash, write_file, and edit_file with preview • **"Always" option** — approve once per session • — auto-approve all executions • / — glob-based allowlist/blocklist for commands • / — directory restrictions with path traversal prevention • Config file support via and sections 🧩 Extensibility • **MCP servers** — connects to MCP servers via stdio transport • **OpenAPI tools** — registers tools from OpenAPI specifications • **Skills system** — loads markdown skill files with YAML frontmatter ✨ REPL Experience • **Rustyline** — arrow keys, Ctrl-A/E/K/W, persistent history • **Tab completion** — slash commands, file paths, model names, git subcommands • **Multi-line input** — backslash continuation and fenced code blocks • **Markdown rendering** — headers, bold, italic, code blocks with syntax-labeled headers • **Syntax highlighting** — Rust, Python, JS/TS, Go, Shell, C/C++, JSON, YAML, TOML • **Braille spinner** while waiting for responses • **Conversation bookmarks** — , , • **Conversation search** — with highlighted matches • **Shell escape** — and bypass the AI entirely Quick Start Install from source Run Configure Create in your project root or globally: Project Context Create a (or ) in your project root with build commands, architecture notes, and conventions. yoyo loads it automatically as system context. Or run to generate one. All Commands | Command | Description | |---------|-------------| | | Grouped command reference | | | Clear conversation history | | | Compact conversation to save context | | | Commit staged changes (AI-generates message if omitted) | | | Show all current settings | | | Show loaded project context files | | | Show session cost breakdown | | | Git diff summary of uncommitted changes | | | Look up docs.rs documentation | | , | Exit | | | Fuzzy-search project files by name | | | Auto-fix build/lint errors | | | Remove a project memory by index | | | Quick git: status, log, add, diff, branch, stash | | | Run project health checks | | | Show conversation message summary | | | Build a lightweight codebase index | | | Generate a starter YOYO.md | | | Jump to a conversation bookmark | | | Auto-detect and run project linter | | | Load session from file | | | Bookmark current point in conversation | | | List all conversation bookmarks | | | List project-specific memories | | | Switch model mid-session | | | PR workflow: list, view, create, diff, comment, checkout | | | Switch provider mid-session | | | Save a persistent project memory | | | Re-send the last user input | | | AI code review of changes or a specific file | | | Run a shell command directly (no AI, no tokens) | | | Save session to file | | | Search conversation history | | | Spawn a subagent for a focused task | | | Show session info | | | Auto-detect and run project…