Docs Roadmap

Roadmap

Full omp vs piex feature comparison on the Pi Extension API—extractable candidates and migration priorities.

Status

Six packages shipped (~4.2k LOC core). Priority is high-value, low-coupling features that fit the Extension API cleanly.

Full feature comparison of oh-my-pi (omp) vs piex, grounded in the pi Extension API—identify extractable candidates and set priorities.

Label legend

Each feature is tagged on two axes:

AxisTagMeaningExclusive
L1🆕 New capabilityPi lacks it; piex introduces it
L1EnhancementPi has a base; piex significantly upgrades/replaces
L1🔧 Platform adaptPure engineering bridge; semantics unchanged
L2📈 Metric-drivenValue is measurable (accuracy, tokens, latency, success)
L2UX-drivenInteraction / presentation (errors, progress, layout)

L1 tags are exclusive (exactly one). L2 tags are optional and stack with L1.


Progress overview

P0 — done

#PackageL1L2FeatureSourceLOC
1hashline➕ Enhancement📈 metrics (accuracy↑ tokens↓)hashline edit (overrides edit)omp318
2dap🆕 NewDAP debug — 14 adaptersomp2154
3lsp🆕 NewLSP — ~50 default serversomp1069
4plan🆕 New✨ UX (step approval, tool lock)Plan Mode (/plan + workflow)omp348
5review🆕 NewCode review (/review + tool, light)omp330
6 init 🆕 New ✨ UX /init guided AGENTS.md create/improve (prompt-only package) OpenCode
7theme-dark-terminal🆕 New✨ UXDark high-contrast terminal themeopencode-themes

7+ packages migrated (incl. xai-oauth), ~4219 LOC of core. Multi-agent review is TBD (needs subagent).

Distribution

L1Tier 1Tier 2Tier 3DoneTotal
🆕 New10119434
➕ Enhancement751114
🔧 Platform00011
Total171610649

OMP migration analysis

Tier 1 — high feasibility (native Extension API, high independence)

#CandidateFeatureL1L2Description
6todoTodo tool + /todo🆕✨ structured tasksAgent-callable todos: CRUD, phases, done/drop
7conflictConflict resolution🆕📈 fewer merge errorsconflict://N scheme, @ours/@theirs/@base markers
8ast-grepAST structural search🆕📈 more precise than regex50+ tree-sitter grammars via ast-grep-core
9ast-editAST structural edit🆕📈 precise edit, fewer tokensrewrite → preview → accept
10globFile findGlob path search, gitignore-aware (Pi has find)
11askStructured questions🆕✨ structured picksOption picker via interactive UI
12evalEval runtime🆕📈 persistent envShared Python/JS prelude environment
13web-searchWeb search🆕✨ structured + citesMulti-provider (25 backends)
14exportSession exportHTML export with tool cards (Pi has base /export)
15shareEncrypted shareEncrypted share server (Pi has /share Gist)
16dumpSession transcript🆕Plaintext transcript + LLM request JSON
17contextContext usage reportContext distribution (Pi: /session + ctx.getContextUsage())
18toolsTool visibilityList visible/available tools (Pi: getActiveTools())
19usageUsage statsPer-provider tokens/limits/reset (Pi tracks tokens)
20learningRule learning🆕📈 auto rulesExtract patterns → project rules
21resolutionresolve/apply🆕Pair with ast-edit: proposed → accept/discard
22changelogChangelog vieweromp/piex changelog (Pi has /changelog)

Tier 2 — medium (more adapt work, or partial Pi surface)

#CandidateFeatureL1L2Description
23browserBrowser control🆕Puppeteer Chromium + stealth
24ghGitHub integration🆕gh CLI wrap: repo, PR, issues, code search
25sshRemote SSH🆕One-shot remote commands
26commitAtomic commit split🆕📈 fewer bad commitsWorking tree → split → dependency order
27checkpointCheckpoint / rewind🆕✨ safer explorationCheckpoint + rewind with summary
28compactContext compactManual compact (summary/chunk/manual); Pi has /compact
29shakeContent trim🆕Drop tool results / large blobs from context
30memoryHindsight memory🆕📈 cross-sessionretain/recall/reflect + /memory; SQLite/embedding
31image-genImage generation🆕Gemini/GPT/xAI image models
32inspect-imageImage analysis🆕Vision model on local images
33ttsText-to-speech🆕xAI Grok Voice TTS
34btwSide questions🆕Ephemeral Q&A with current context, not written to session
35settingsSettings UIOpen settings picker; Pi has /settings
36branchBranch pickerSession tree, branch, fork; Pi has /fork//clone//tree
37modelModel switchRuntime model / fast mode; Pi has /model//scoped-models
38ext-dashboardExtension control🆕Extension/agent panel; Pi has install/list/remove CLI only

Tier 3 — high complexity (deep omp coupling)

#CandidateFeatureL1Why hard
39subagentParallel sub-agentsNeeds omp task orchestrator, worktree isolation, output-manager. Pi has basic createAgentSession() only
40advisorDual-model advisor🆕Parallel model sessions + turn injection; no multi-model Extension API
41collabReal-time collab🆕Relay protocol, WebSocket, participant sync
42marketplacePlugin marketplace🆕Marketplace manager + catalog
43goalGoal mode🆕Persistent autonomous goals + token budget
44vibeVibe mode🆕Continuous fast/good worker sessions
45loopLoop mode🆕Auto re-submit prompt each yield
46internal-schemesInternal URL schemes🆕pr://, issue://, skill://, … need deep tool integration
47config-inheritanceConfig auto-inherit🆕Read from .cursor/.claude/.gemini etc.
48forceForce tool choice🆕/force:<tool-name> for next turn

Priority recommendations

P0 — do now (high value, low complexity)

PriorityPackageL1L2Rationale
P0-1todo🆕Everyday task management; pure tool registration; ~1 day
P0-2conflict🆕📈Frequent git pain; clean scheme registration
P0-3ask🆕Structured picks beat free-form questions; Pi has ctx.ui.select/confirm

P1 — near term (standalone tools, controllable deps)

PriorityPackageL1L2Rationale
P1-1ast-grep🆕📈AST search > regex; needs CLI or native binding
P1-2ast-edit🆕📈Pairs with ast-grep
P1-3web-search🆕Multi-backend; can start with 1–2 free backends
P1-4gh🆕GitHub via gh CLI or Octokit
P1-5eval🆕📈Persistent Python/JS; security careful
P1-6memory🆕📈Hindsight; SQLite/embedding

P2 — medium / long term

PriorityPackageL1L2Rationale
P2-1browser🆕Puppeteer + stealth; heavy but independent
P2-2commit🆕📈Atomic commit analysis needs deep diff understanding
P2-3checkpoint🆕Needs session state management
P2-4ssh🆕Needs SSH client capability
P2-5subagentWait for richer Pi Extension API

Unprioritized (Pi already has a base; marginal value TBD)

PackageL1Pi baselineExtra value
globfindgitignore awareness
export/export (HTML/JSONL)tool-card render, agent-callable
share/share (Gist)encrypted share server
dump🆕plaintext transcript to clipboard
context/sessiondetailed distribution
toolsgetActiveTools()slash exposure
usagetoken trackingper-provider breakdown
learning🆕auto rule learning
resolution🆕pairs with ast-edit
changelog/changelogdelta TBD
compact/compactalternate strategies
shake🆕content trim
btw🆕side questions
settings/settingsdifferentiated UI
branch/fork//clone//treebetter nav
model/model//scoped-modelsbetter UX
ext-dashboard🆕extension control panel

Done vs upstream deltas

hashline

omppiexDelta
Built-in edit is hashlinepi.registerTool({ name: "edit", ... }) override✅ equivalent
Node native fspolyfill: Bun.file()readFileSync⚠️ Node polyfill (127 LOC)

dap

omppiexDelta
14 adapters14 adapters
Bun.spawn()child_process.spawn()⚠️ 3 sites
Bun.sleep()setTimeout promise⚠️ 1 site

lsp

omppiexDelta
~50 default servers~50 default servers
multi-file layoutsingle-file slim (570 + 499 JSON)⚠️ ~60% less code
native highlight + TUIpure JSON-RPC⚠️ highlight omitted

plan

omppiexDelta
full-screen plan-review-overlayselect("Execute/Stay/Refine")⚠️ simplified
Plan TOC sidebarnone⚠️ omitted
sub-agent plan passnone⚠️ omitted

review

omppiexDelta
multi-agent parallel reviewsingle-agent direct review⚠️ light strategy A
TUI overlay findingstext output⚠️ no TUI overlay
4 review modes4 modes
Diff parse + noise filterfull port

Architecture comparison

Dimensionomppipiex
RuntimeBun (TS + Rust)Node.js (TS)Node.js (TS)
Tool registrationbuilt-inbuilt-in + Extension APIpure Extension API
Slash commandsbuilt-in + file discovery22 built-ins + Extension APIpure Extension API
TUIown (pi-tui)own TUIinherits Pi TUI
ModelsModelRegistry (40+ providers)40+ built-in providersinherits Pi models
SessionSessionManager + persistenceJSONL + session treeinherits Pi session
Sub-agentsfull task orchestratorbasic APITBD
ExtensibilityPlugin + Skill + RuleExtension + Package + Skillpure Extension Package
Internal schemes12 URL schemesnonenone
Rust native4 crates ~55k LOCvia hashline indirectlyvia Pi indirectly

Methodology

Priority rests on three factors:

  1. Extension API fit: can it be done with registerTool / registerCommand / on event / ctx.ui?
  2. Dependency isolation: does it need omp internals (SessionManager / ModelRegistry / own TUI)?
  3. User value: real daily workflow lift

Tier definitions:

  • Tier 1: API fit + low coupling → extract and ship
  • Tier 2: API fit + medium coupling → adapter needed, feasible
  • Tier 3: API gap or high coupling → wait for Pi, or drop

When is Pi “equivalent”?

Pi surfaceRule
Same-named tool/commandcompare capability; same name ≠ equivalent
Same name, different impl“Enhancement”; note Pi baseline
API exposed but not toolized“Enhancement” (data without UX)
Fully missing“New capability”

Next

Still to migrate (from oh-my-pi)

  • Plan review overlay (full-screen TUI approval)
  • Plan TOC sidebar
  • Multi-agent review (parallel sub-agents)

To explore (other agents)

  • Claude Code interaction patterns
  • OpenCode extension mechanisms
  • Other strong agent features

Per-package details live in each package’s README.md.

Source Markdown: docs/roadmap.md