pi-tropos0.13.0
Personal pi customization bundle — semantic code search, background agents, context-health indicator, session handoff/browser, clean footer and themes
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
pi-tropos
τρόπος (tropos) — way, manner, style. My way of pi.
Personal pi customization bundle. One package, installable anywhere.
Features
Dumb-zone detection — footer status
ctx Nk · N%, colored dim → yellow → red by the 100k-tokens / 40%-of-window rule (warns from 80% of that line). When a run settles in the dumb zone, a one-time confirm offers to auto-run/fresh; decline suppresses it until the session drops out of the dumb zone./fresh— summarize the current session, edit the summary, continue in a fresh session seeded with it. Old session preserved and linked viaparentSession./sessions [all]— browse and resume past sessions (project-scoped or everything). Unnamed sessions are auto-named from the first user message.commandcodetheme — dark monochrome inspired by commandcode.ai: onyx background (#0B0B0C), off-white text (#E4E4E7), slate-grey chrome, and color reserved for diagnostics (mint#4EFAAAsuccess, amber#F59E0Bwarning, crimson#EF4444error). Select via/settingsor"theme": "commandcode"insettings.json.kaapitheme — filter-coffee dark: deep espresso base (#15100D), latte-foam text (#E8DCCB), caramel accent (#D9984A), matcha success, terracotta error. Warm and caffeinated. Select via/settingsor"theme": "kaapi".Clean footer — one line:
project branchleft;in · out · cached · stored · $costplus the dumbzonectxgauge right. Zero-valued counters hide; no full paths, no cache-hit %, no session titles. Auto-named sessions are sanitized (no markdown junk).ctxis the live context snapshot; the others are cumulative session billing counters (cached/stored= provider prompt-cache reads/writes, re-read every turn). The counter with the highest share of session spend is highlighted in the accent color — typicallycached, which is why keeping ctx small (the dumb-zone rule) also saves money./zenmode — reading mode for brainstorming: collapses all tool output and shrinks the footer to$cost+ the ctx gauge./zenagain restores your previous state./bgbackground agents — run a task in a detachedpi -psubprocess while you keep working./bg <task>shares the working tree (confirms first when it's dirty);/bg -w <task>isolates in a git worktree on branchbg/<name>./bglists live tasks (elapsed + last log line),/bg show <name>follows the log tail-f style,/bg kill,/bg clean. Footer showsbg ●Nwhile any run; you're notified on completion. Tasks get task-derived names (/bg -nto override); bg sessions land in/sessions alltoo./peek <path>— transient code viewer: syntax-highlighted, line-numbered overlay. Scroll with ↑/↓/jk/PgUp/PgDn/g/G, Esc or q closes. Leaves no trace in the chat.Barista mascot — the working spinner becomes a steaming cup of kaapi; every other brew cycle it's a boba 🧋. Hidden thinking blocks read "Steeping…".
Semantic code search —
smritikosh_search/smritikosh_chunks/smritikosh_indextools plus IntelliJ-style background indexing, merged in from the standalonepi-smritikoshpackage (pi-tropos is now the only source — don't install both).grep/find/rgare blocked for repo exploration and redirected to semantic search, with a one-retry escape hatch for genuine literal-string matches. The CLI itself comes from PyPI, not from this package:/smritikosh-setup # uv tool install smritikosh /smritikosh-upgrade # uv tool upgrade smritikosh /smritikosh-status # binary, version, index stateVendoring the Python froze it at publish time — a CLI fix needed a pi-tropos release to reach anyone. From PyPI it tracks its own releases. Requires uv (
brew install uv), which brings its own Python.The CLI is checked against PyPI once a day in the background (never blocks startup, silent offline) and a newer release is mentioned in a toast. Fully hands-off: set
"autoUpgrade": truein~/.pi/agent/pi-smritikosh.json— off by default, because a CLI release can change the index schema and an automatic upgrade would then force a reindex mid-work.
Install
pi install npm:pi-tropos # from npm
pi install git:github.com/devsarvesh92/pi-tropos # from git
pi -e /path/to/oh-my-pi # try once, no install
Develop
npm install
npm run typecheck
No build step — pi loads the TypeScript directly.
Font (recommended)
pi inherits the terminal's font — it can't set one. In VS Code (where pi usually runs):
// settings.json
"terminal.integrated.fontFamily": "JetBrains Mono",
"terminal.integrated.fontSize": 14,
"terminal.integrated.lineHeight": 1.35,
"terminal.integrated.fontLigatures.enabled": true
Good code-reading fonts: JetBrains Mono (free, tall x-height, superb at small sizes —
brew install --cask font-jetbrains-mono), SF Mono (preinstalled on macOS),
Monaspace Neon (GitHub's family — brew install --cask font-monaspace), Berkeley
Mono (paid, beautiful). Size 13–14 + lineHeight 1.3–1.4 is the biggest readability win.