Oh-my-pi is an AI coding agent designed for terminal-based development, built as a fork of Mario Zechner's Pi project. The repository is written primarily in TypeScript with significant Rust components, comprising approximately 55,000 lines of Rust core code. It runs on the Bun runtime and is distributed via npm as the @oh-my-pi/pi-coding-agent package. The project supports 40+ AI providers, includes 32 built-in tools, offers 14 LSP operations, and provides 28 DAP operations for debugging capabilities.
The agent integrates deeply with development environments through Language Server Protocol support, allowing it to understand and manipulate code with the same knowledge an IDE possesses. When renaming symbols, the agent executes workspace/willRenameFiles operations to update re-exports, barrel files, and aliased imports automatically. The tool harness has been extensively optimized through real-world usage, with documented performance improvements across multiple models. For instance, Grok Code Fast 1 saw a tenfold lift in edit success rates when the edit format was improved, while Grok 4 Fast achieved 61% token reduction by eliminating retry loops on malformed diffs.
The codebase implements several distinctive features for agent-driven development. Code execution runs persistent Python and Bun worker kernels that can call back into the agent's own tools over a loopback bridge, enabling workflows where an agent loads data in Python, processes it in JavaScript, and maintains context across both environments. The debugger integration is native and comprehensive, supporting lldb for C binaries, dlv for Go services, and debugpy for Python processes, allowing the agent to attach to running processes, step through code, and inspect frames directly.
Stream rules provide time-traveling course correction by matching regex patterns against model output mid-token, aborting the stream, injecting rule reminders as system messages, and retrying from the same point without incurring context tax on every turn. Subagents enable task distribution across isolated worktrees with schema-validated typed results, eliminating prose parsing and merge conflicts. An advisor role pairs a second model to review every turn the main agent takes, injecting concerns or blockers inline while running on its own context and model.
Collaboration features include live session sharing via relay with QR codes and browser access, supporting both read-write pairing and read-only observation modes with client-side frame encryption. The web_search tool chains 18 ranked providers and converts results into structured markdown with preserved anchors, treating arxiv PDFs and web pages with the same tool surface as local files.
The implementation prioritizes native performance over shell-outs, linking ripgrep, glob, and find directly into the process rather than forking external binaries. Brush provides bash sessions that persist across tool calls. The same binary runs natively on macOS, Linux, and Windows without WSL bridges.
GitGenius tracking shows the repository has grown from 16,035 to 16,039 stargazers since July 4, 2026, with open issues increasing from 578 to 579. The project maintains a median issue and PR response latency of 0.0 hours with a mean of 5.7 hours across 2,036 tracked items. The most active labels are triaged with 1,408 occurrences, bug with 1,216, and prio:p2 with 765. Primary contributors tracked by GitGenius include roboomp with 10,640 events, can1357 with 2,200 events, and metaphorics with 98 events. The repository shares contributors with anomalyco/opencode, flutter/flutter, and microsoft/vscode.