omp: A Terminal Coding Agent With the IDE Wired In
can1357/oh-my-pi (omp) jumped onto GitHub trending: 9.4K stars, +333 today. Self-description: 'A coding agent with the IDE wired in.' That phrasing earns its keep. Most terminal coding agents (Codex, Claude Code, opencode, etc.) lean on shell + grep + maybe ripgrep. omp drags the heavy IDE infrastructure into the agent loop: LSP integration, language-server-aware diagnostics, Python/JS execution, browser automation, and subagent coordination as a first-class primitive.
It supports 40+ model providers and 32 built-in tools (read/write/edit/bash/eval/lsp/debug/browser/web search) plus what the author calls 'hash-anchored edits' (edits tied to content hashes so concurrent agent runs don't clobber each other) and 'time-traveling stream rules' for course correction mid-run. TypeScript core, Rust on the performance hot paths.
The thesis behind omp is that the IDE wasn't the wrong abstraction. It was the right one for humans, just not exposed to agents. Run LSP for the agent, not for the human, and a lot of code-review hallucination evaporates. Worth tracking as a counter-bet to the 'agents only need a shell' camp.
The other interesting choice is concurrency-as-design. Hash-anchored edits are an explicit answer to the problem of multiple agent runs touching the same files. Most CLIs duck this problem; omp treats it as central. That's a tell about where the author thinks coding-agent UX is going: parallel agents on the same repo, not serial single-threaded sessions.
Repo: https://github.com/can1357/oh-my-pi
← Back to all articles
It supports 40+ model providers and 32 built-in tools (read/write/edit/bash/eval/lsp/debug/browser/web search) plus what the author calls 'hash-anchored edits' (edits tied to content hashes so concurrent agent runs don't clobber each other) and 'time-traveling stream rules' for course correction mid-run. TypeScript core, Rust on the performance hot paths.
The thesis behind omp is that the IDE wasn't the wrong abstraction. It was the right one for humans, just not exposed to agents. Run LSP for the agent, not for the human, and a lot of code-review hallucination evaporates. Worth tracking as a counter-bet to the 'agents only need a shell' camp.
The other interesting choice is concurrency-as-design. Hash-anchored edits are an explicit answer to the problem of multiple agent runs touching the same files. Most CLIs duck this problem; omp treats it as central. That's a tell about where the author thinks coding-agent UX is going: parallel agents on the same repo, not serial single-threaded sessions.
Repo: https://github.com/can1357/oh-my-pi
Comments