Vibeleaderboard
Index / app
Visit github.com
Category
Developer Tools
Rank
Type
APP
Builder
can1357
Latest release
v18.2.0
Date

About

An AI coding agent for the terminal with hash-anchored edits and an optimized tool harness.

What it does

oh-my-pi runs coding sessions inside a terminal interface connected to language servers, debuggers, persistent Python and Bun workers, web research, and many model providers. It can split work among isolated subagents, attach a second model as an advisor, and share live sessions with collaborators.

Why it's ranked here

The breadth is unusually concrete: language-aware renames, debugger control, schema-validated subagent results, encrypted collaboration, session statistics, and in-process search and shell utilities sit under one interface. The repository also exposes reusable agent, AI, terminal UI, wire protocol, and utility packages. That scope brings meaningful setup and operational complexity.

What's good

Hash-based edit anchors reject changes against stale content instead of silently applying them. Language-server integration updates related imports and re-exports during renames. Subagents work in isolated worktrees and return typed results. Persistent Python and Bun kernels can call the agent's own tools. Generated shell completions derive from live command metadata, reducing drift.

Tradeoffs

The recommended package installation requires Bun 1.3.14 or newer. Stock Alpine needs additional C++ and GCC runtime libraries for the prebuilt musl binary. The broad surface includes model providers, native Rust components, language servers, debugger adapters, collaboration, memory, and dashboards, so adoption involves more moving parts than a narrow coding assistant.

How to use it well

It suits terminal-first engineers who want one agent to inspect, edit, debug, research, review, and coordinate larger repository changes. Use isolated subagents for parallel tasks, the advisor for independent scrutiny, and read-only collaboration links for observers. It is not a zero-dependency option for stock Alpine, nor a minimal single-provider client.

Technical notes+

The root package.json defines a Bun 1.3.14 workspace spanning packages/* and python/robomp/web, with TypeScript, Rust, Python, native builds, tests, linting, formatting, and release scripts. Cargo.toml defines a Rust 2024 workspace over crates/pi-* and crates/vendor/*, uses MIT licensing, enables fat LTO for release builds, and keeps panic unwinding so selected native boundaries can convert failures into rejected promises. packages/utils/src/cli.ts implements a dependency-free subset of the oclif command surface using Node built-ins, explicit command registration, and command-module imports only when invoked. packages/ai/src/index.ts, packages/agent/src/index.ts, packages/tui/src/index.ts, and packages/utils/src/index.ts expose library surfaces. packages/wire/src/index.ts defines dependency-free JSON protocol types for encrypted collaborative sessions, including chunked transcript snapshots and tolerant handling of unknown variants. packages/mnemopi/src/cli.ts exposes memory operations and launches an MCP server. packages/stats/src/server.ts serves dashboard APIs and static assets through Bun, sanitizes embedded archive paths, and binds the dashboard through a configured hostname and port.

Observed

License
MIT, declared in the Rust workspace metadata.
Languages
TypeScript and Rust are central; the workspace also contains Python components.
Package manager
The root workspace pins Bun 1.3.14.
Install surface
Install options include shell scripts, PowerShell, Homebrew, Bun global installation, and mise.
Interfaces
Terminal CLI and TUI, reusable TypeScript packages, an MCP server, collaboration wire protocol, and local dashboard HTTP APIs.
Platform support
macOS, Linux, and Windows; stock Alpine requires libstdc++ and libgcc.
Repository structure
A Bun monorepo is paired with a Rust workspace covering internal and vendored crates.

Read from README.md, Cargo.toml, package.json, packages/ai/src/index.ts, packages/tui/src/index.ts, packages/utils/src/cli.ts, packages/wire/src/index.ts, packages/agent/src/index.ts, packages/mnemopi/src/cli.ts, packages/stats/src/index.ts, packages/utils/src/index.ts, packages/stats/src/server.ts.

Tech Stack

Node.jsRustDockerTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.