@pi-unipi/unipi
All-in-one extension suite for Pi coding agent
Package details
Install @pi-unipi/unipi from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@pi-unipi/unipi- Package
@pi-unipi/unipi- Version
0.1.18- Published
- May 1, 2026
- Downloads
- 1,360/mo · 1,360/wk
- Author
- neuron-mr-white
- License
- MIT
- Types
- extension, skill
- Size
- 1.8 MB
- Dependencies
- 19 dependencies · 4 peers
Pi manifest JSON
{
"extensions": [
"node_modules/@pi-unipi/workflow/index.ts",
"node_modules/@pi-unipi/ralph/index.ts",
"node_modules/@pi-unipi/memory/index.ts",
"node_modules/@pi-unipi/info-screen/index.ts",
"node_modules/@pi-unipi/subagents/src/index.ts",
"node_modules/@pi-unipi/btw/extensions/btw.ts",
"node_modules/@pi-unipi/web-api/src/index.ts",
"node_modules/@pi-unipi/utility/src/index.ts",
"node_modules/@pi-unipi/ask-user/index.ts",
"node_modules/@pi-unipi/mcp/src/index.ts",
"node_modules/@pi-unipi/compactor/src/index.ts",
"node_modules/@pi-unipi/notify/index.ts",
"node_modules/@pi-unipi/milestone/index.ts",
"node_modules/@pi-unipi/kanboard/index.ts",
"node_modules/@pi-unipi/command-enchantment/src/index.ts",
"node_modules/@pi-unipi/footer/src/index.ts",
"node_modules/@pi-unipi/updater/src/index.ts",
"node_modules/@pi-unipi/input-shortcuts/src/index.ts"
],
"skills": [
"node_modules/@pi-unipi/workflow/skills",
"node_modules/@pi-unipi/ralph/SKILL.md",
"node_modules/@pi-unipi/memory/skills",
"node_modules/@pi-unipi/btw/skills",
"node_modules/@pi-unipi/ask-user/skills",
"node_modules/@pi-unipi/mcp/skills",
"node_modules/@pi-unipi/utility/skills",
"node_modules/@pi-unipi/compactor/skills",
"node_modules/@pi-unipi/notify/skills",
"node_modules/@pi-unipi/milestone/skills",
"node_modules/@pi-unipi/kanboard/skills",
"node_modules/@pi-unipi/updater/skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Unipi
18 packages that turn Pi into a full development workstation. Structured workflows, persistent memory, parallel agents, web research, notifications, context management, and a live status bar — all wired together through a shared event system.
One command installs everything:
pi install npm:@pi-unipi/unipi
What You Get
Workflow — 20 commands that take ideas to shipped code. Brainstorm, plan, execute in worktrees, review, consolidate. The agent follows skill files step by step.
Ralph — Long-running loops that persist across sessions. Start a task, iterate through checklist items, resume after crashes. Progress tracked, state saved.
Memory — SQLite + vector search stores facts, preferences, and decisions. Project-scoped and global. The agent remembers what you told it last week.
Compactor — Zero-LLM context engine. 6-stage pipeline hits 95%+ token reduction at zero API cost. Session continuity, sandbox execution, FTS5 search.
Subagents — Parallel execution with file locking. Spawn background agents to research, fix, or build while the main agent keeps going.
Web API — Web search, page reading, content summarization. Smart-fetch engine with browser-grade TLS fingerprinting — free, no API key. Paid providers as fallbacks.
MCP — Browse 7,800+ MCP servers, add them interactively. Tools from servers register automatically as Pi tools.
Notify — Push notifications to native OS, Gotify, Telegram, or ntfy. Per-event platform routing. Configure once, get alerts everywhere.
Footer — Persistent status bar showing live stats from every package. Responsive layout, presets, per-segment toggling.
BTW — Side conversations that run in parallel. Ask questions without interrupting the main agent.
Ask User — Structured input for decision gates. Single-select, multi-select, freeform. The agent asks instead of guessing.
Milestone — Track project goals across workflow cycles. MILESTONES.md stays in sync with specs, plans, and completed work.
Kanboard — Web UI and TUI overlay for kanban boards. Parses all workflow documents into cards with progress indicators.
Info Screen — Dashboard overlay showing module status, tools, and custom data groups.
Utility — Environment info, diagnostics, cleanup, name badge, and Shiki-powered diff rendering.
Updater — Checks npm for new versions on session start. Changelog browser and readme browser in TUI overlays.
Input Shortcuts — Keyboard shortcuts via vim-style chord overlay. Stash/restore, undo/redo, clipboard, thinking toggle.
Architecture
Packages discover each other through events, not direct imports. Core defines the event types and constants. Every package emits MODULE_READY on load and subscribes to events it cares about.
┌─────────────────────────────────────────────────────────┐
│ Core │
│ Events, Constants, Utilities │
└───────────────────────┬─────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────┐
│ Workflow │ │ Compactor│ │ Memory │
│ Skills │ │ Engine │ │ Store │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
└──────────────────┼──────────────────┘
▼
┌──────────┐
│ Footer │ ← Subscribes to all events
└──────────┘
Coexists triggers enhance behavior when packages are installed together. Workflow skills detect subagents and inject parallel strategies. All skills get MCP tools when MCP is installed. Web-api adds web research to investigation skills. Each package works standalone.
Commands (Brief)
| Category | Prefix | Examples |
|---|---|---|
| Workflow | /unipi: |
brainstorm, plan, work, review-work, consolidate, quick-work, debug, fix |
| Ralph | /unipi:ralph |
start, stop, resume, status |
| Memory | /unipi:memory- |
process, search, consolidate, forget |
| Compactor | /unipi:compact |
compact, stats, settings, preset |
| Notify | /unipi:notify- |
settings, test, set-tg, set-ntfy |
| MCP | /unipi:mcp- |
add, settings, sync, status |
| Web | /unipi:web- |
settings, cache-clear |
| BTW | /btw |
question, new, tangent, inject, summarize |
| Utility | /unipi: |
env, doctor, status, cleanup, name-badge |
| Milestone | /unipi:milestone- |
onboard, update |
| Kanboard | /unipi:kanboard |
toggle, doctor |
| Footer | /unipi:footer |
toggle, settings |
| Updater | /unipi: |
readme, changelog, updater-settings |
| Info | /unipi:info |
dashboard, settings |
Agent Tools (Brief)
| Tool | Package | What It Does |
|---|---|---|
ralph_start / ralph_done |
ralph | Loop control |
spawn_helper / get_helper_result |
subagents | Parallel agents |
memory_store / memory_search / memory_delete |
memory | Memory CRUD |
web_search / web_read / web_llm_summarize |
web-api | Web research |
notify_user |
notify | Push notifications |
ask_user |
ask-user | User input |
compact / session_recall / sandbox |
compactor | Context management |
ctx_batch / ctx_env |
utility | Batch execution, env info |
Development
git clone https://github.com/Neuron-Mr-White/unipi.git
cd unipi
npm install
npm run typecheck
Project Structure
unipi/
├── packages/
│ ├── core/ # Shared constants, events, utilities
│ ├── workflow/ # 20 skill-based commands
│ ├── ralph/ # Iterative loops
│ ├── memory/ # SQLite + vector search
│ ├── compactor/ # Context engine
│ ├── subagents/ # Parallel execution
│ ├── web-api/ # Web research
│ ├── mcp/ # MCP server integration
│ ├── notify/ # Push notifications
│ ├── footer/ # Status bar
│ ├── btw/ # Side conversations
│ ├── ask-user/ # Structured input
│ ├── milestone/ # Goal tracking
│ ├── kanboard/ # Kanban visualization
│ ├── info-screen/ # Dashboard overlay
│ ├── utility/ # Diagnostics, diff rendering
│ ├── updater/ # Auto-update, browsers
│ ├── input-shortcuts/ # Keyboard shortcuts
│ └── unipi/ # Umbrella package
├── .unipi/ # Runtime data (specs, plans, worktrees)
└── CHANGELOG.md
Adding a Package
- Create
packages/your-package/withpackage.jsonandindex.ts - Depend on
@pi-unipi/corefor constants and events - Emit
MODULE_READYon load - Add to umbrella package dependencies and imports
- Run
npm run typecheck
Running Tests
npm test
Contributing
- Fork the repo
- Create a feature branch
- Make your changes
- Run
npm run typecheckandnpm test - Submit a pull request
Keep packages focused. One package, one responsibility. Use events for cross-package communication — no direct imports between packages.
License
MIT