explaingit

can1357/oh-my-pi

Analysis updated 2026-06-24

5,755TypeScriptAudience · developerComplexity · 4/5Setup · easy

TLDR

Terminal coding assistant (omp command) with a 27k-line Rust core, support for ~40 model providers, 32 built-in tools, LSP integration, real debugger attach, and persistent Python and Bun kernels.

Mindmap

mindmap
  root((oh-my-pi))
    Inputs
      Project files
      Natural language tasks
      Model provider keys
    Outputs
      Code edits
      Tool runs
      Confirmation prompts
    Use Cases
      Terminal coding agent
      Cross-file refactoring
      Debugger-assisted fixes
    Tech Stack
      Rust
      TypeScript
      Python kernel
      Bun kernel
      LSP
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a coding agent in your terminal that can edit files, run shell commands, and ask for confirmation before applying changes.

USE CASE 2

Use omp's LSP integration to rename a symbol and have it update re-exports and aliased imports across files.

USE CASE 3

Attach lldb, dlv, or debugpy to a running process and step through frames while the agent reasons about the bug.

USE CASE 4

Spawn subagents that each get their own working copy and run isolated tasks in parallel.

What is it built with?

RustTypeScriptPythonBunLSP

How does it compare?

can1357/oh-my-pisantiq/bulletproof-nodejsvuejs/vetur
Stars5,7555,7565,752
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderateeasy
Complexity4/53/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Installs via a single curl, brew script, or Bun global install.

License is not stated in the available content.

In plain English

oh-my-pi (the command you actually type is omp) is a coding assistant that lives in your terminal. You point it at a project, you describe what you want, and it reads files, runs commands, edits code, and looks things up on your behalf, then asks you to confirm changes. It is a fork of an earlier project called Pi by Mario Zechner, with a lot more bundled in. The README claims support for 40 or so different model providers, 32 built-in tools, and around 27,000 lines of a Rust core that does the heavy lifting. A central pitch of the project is that the tool layer around the model has been tuned aggressively for accuracy. The README cites benchmark jumps for several models when run through omp instead of through a default tool layer: for example, Grok Code Fast 1 going from 6.7 percent to 68.3 percent on a coding test, MiniMax more than doubling its pass rate, and Grok 4 Fast using 61 percent fewer tokens because it stops getting stuck retrying bad edits. The point is that the same model behaves much better when the surrounding plumbing is solid. The features that go beyond a basic chat-with-files agent are the most distinctive part. omp ships with a persistent Python kernel and a Bun (JavaScript) kernel that the agent can run code in, and either kernel can call the agent's own read or search tools through a loopback bridge. It connects to Language Server Protocol features (the things your IDE uses for rename, jump-to-definition, find-references) so a request like rename this symbol updates re-exports and aliased imports across files. It can attach a real debugger to running processes (lldb for C, dlv for Go, debugpy for Python) and step through frames instead of asking the agent to add print statements. There is also a subagent system that splits a job into isolated workers, each with their own working copy, and returns structured results. Web search chains 14 ranked providers and feeds URLs back to the same read tool, so PDFs from arxiv come back as marked-up text. Installation is one curl, brew-style script, or a Bun global install.

Copy-paste prompts

Prompt 1
Install omp on macOS via the curl install script and configure it to use Grok Code Fast 1. Walk me through the first 5 minutes of usage.
Prompt 2
Use omp's subagent system to split a refactor across 4 isolated workers, each rewriting a different folder of a Next.js codebase.
Prompt 3
Set up omp with a persistent Python kernel and write a script that calls back into omp's read tool through the loopback bridge.
Prompt 4
Compare omp against Claude Code and Cursor for a Go codebase that needs LSP rename and dlv debugging. Which tools does omp add that the others lack?
Prompt 5
Configure omp's web search to chain its 14 ranked providers and feed PDF results from arxiv back into the read tool as marked-up text.

Frequently asked questions

What is oh-my-pi?

Terminal coding assistant (omp command) with a 27k-line Rust core, support for ~40 model providers, 32 built-in tools, LSP integration, real debugger attach, and persistent Python and Bun kernels.

What language is oh-my-pi written in?

Mainly TypeScript. The stack also includes Rust, TypeScript, Python.

What license does oh-my-pi use?

License is not stated in the available content.

How hard is oh-my-pi to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is oh-my-pi for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.