@pi-unipi/unipi

All-in-one extension suite for Pi coding agent

Package details

extensionskill

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

  1. Create packages/your-package/ with package.json and index.ts
  2. Depend on @pi-unipi/core for constants and events
  3. Emit MODULE_READY on load
  4. Add to umbrella package dependencies and imports
  5. Run npm run typecheck

Running Tests

npm test

Contributing

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Run npm run typecheck and npm test
  5. Submit a pull request

Keep packages focused. One package, one responsibility. Use events for cross-package communication — no direct imports between packages.

License

MIT