yoyo-pi
Polished pi extension pack: Vim prompt editing, choice pickers, themes, status bars, file/todo sidebars, context snapshots, and plan mode.
Package details
Install yoyo-pi from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:yoyo-pi- Package
yoyo-pi- Version
0.1.5- Published
- Jun 1, 2026
- Downloads
- not available
- Author
- zy06637
- License
- MIT
- Types
- extension
- Size
- 1.4 MB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions/clear-context.ts",
"./extensions/vim-mode.ts",
"./extensions/choice-picker.ts",
"./extensions/kenx-infra/index.ts",
"./extensions/gr0k-hack/index.ts",
"./extensions/plan-mode/index.ts"
],
"image": "https://raw.githubusercontent.com/kenxcomp/yoyo-pi/main/docs/previews/status-bar.png"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
yoyo-pi
A polished extension pack for pi that makes the terminal coding-agent workflow faster, cleaner, and more ergonomic.
This is Kenx's daily pi setup, packaged as a reusable GitHub install: Vim-style prompt editing, custom TUI themes and status bars, Grok-style agent-status variants, right-side file/todo overlays, interactive choice pickers, context snapshots, and a read-only planning mode.
Highlights
- Vim prompt editing — toggle
/vimfor normal/insert/visual-style prompt control, with a status pill and external-editor fallback. - Custom TUI chrome — switch themes, full-screen background coverage, and eight status bar/input layouts with
/theme,/theme-bg, and/switch-statusbar. - Grok-style agent status —
/switch-agentStatus <1-9|v1-v9>switches among nine terminal-native thinking/executing/reading/writing readouts with the latest assistant text or latest tool log and current file, while edit/write renderers hide diffs and file contents. Hidden thinking placeholders are suppressed while this UI is enabled. - File tree / todo overlays — open a right-side file picker with
/filetreeorCtrl+Shift+F; monitor.plan/*.jsonltodos with/todoorCtrl+Shift+T. - Agent-friendly choice pickers —
single_choice,multiple_choice, andchoice_questionsgive models structured ways to ask users for decisions. - Context snapshots —
/clearsaves the current branch context, then/restore <name>brings it back later. - Plan mode —
/planexposes a sandboxedplan_agentthat writes implementation plans and todos under.plan/, previews the plan before exit, and carries forward only the original prompt plus plan context after approval.
Preview
Status bar & input variations
Interactive HTML preview: open the status bar playground.
Agent status variations
Interactive HTML preview: open the agent status playground.
Direct jumps: V1 · V2 phase tag · V3 · V4 · V5 · V6 · V7 · V8 · V9.
File tree overlay
Todo timeline sidebar
Choice pickers
Install
From npm after publishing:
pi install npm:yoyo-pi
Or install directly from GitHub:
pi install git:git@github.com:kenxcomp/yoyo-pi.git
Temporary test without installing:
pi -e git:git@github.com:kenxcomp/yoyo-pi.git
The unpinned Git URL follows main when you run pi update. Pin a tag only when you want a reproducible release, for example git:git@github.com:kenxcomp/yoyo-pi.git@v0.1.5.
After installing this package, remove or move the old local copies under ~/.pi/agent/extensions/ to avoid duplicate slash commands.
Commands and tools
| Area | Commands / tools | What it adds |
|---|---|---|
| Context snapshots | /clear, /restore <name> |
Save current branch context to .tmp/<name>.jsonl and restore it later. |
| Vim prompt mode | /vim [on|off|status] |
Vim-like modal prompt editor with external-editor fallback. |
| Choice pickers | single_choice, multiple_choice, choice_questions, /choice-demo [multi|questions] |
Inline-pill single select, compact multi-select, and tabbed batched questions. |
| TUI infrastructure | /theme <paper|light|dark>, /theme-bg <true|false>, /filetree, Ctrl+Shift+F, /switch-statusbar <1-8|0> |
Themes, optional full-TUI background fill, right-side overlay file picker, and custom statusbar/input UI. Runtime preferences are stored under ~/.pi/agent/state/kenx-infra.json. |
| Agent status UI | /switch-agentStatus <1-9|v1-v9|0|off|status> |
Nine Grok-style status widgets for thinking/executing/reading/writing plus compact built-in tool renderers. V2 uses a meaningful [agent] phase tag instead of a fake step count. See the HTML playground for matching previews. Edit/write show changed file names only; diffs, file contents, and duplicate hidden-thinking placeholders are hidden. Preferences are stored under ~/.pi/agent/state/gr0k-hack.json. |
| Plan/todo workflow | /plan, /todo <goal>, /todo [show|off|status], Ctrl+Shift+T, plan_agent |
Read-only plan mode delegates planning to agents/plan-agent.md; before exiting it displays the plan and asks whether to execute, shelve, or revise. Approved exits prune active LLM context to the original prompt plus plan handoff; todo mode writes/monitors .plan/todo.jsonl and asks the agent to keep statuses updated while executing. |
Development
This package intentionally lists Pi core packages as optional peerDependencies because Pi provides them at runtime.
The pi.extensions manifest explicitly lists entrypoints so extensions/plan-mode/sandbox.ts is not auto-loaded as a normal extension; it is only loaded by the child plan-agent process.
