Documentation
pibarm is a pi package — the extensions and skills I use for planning, worktrees, presets, and watching agents work. Install it into whatever project you like.
Quick start
Install pibarm; its Pi package settings load Marionette independently, like Ponytail. Marionette owns planning and traversal while pibarm adds routing, task UI, notifications, and delegation context.
pi install git@github.com:leemeichin/pibarm.gitNerd Font glyphs
The TUI uses Nerd Font icons for the statusline and task widget. Install a Nerd Font, or they render as boxes.Main workflow
Plan first, edit later. pi inspects read-only, asks questions, and only executes after you approve — ideally in an isolated worktree.
/plan <task>
↓ pi inspects read-only, asks questions
/approve-plan worktree <name>
↓ changes happen in .pi/wt/<name>, not your checkout
/worktree-diff .pi/wt/<name>Plan mode is read-only
edit and write are disabled and bash is restricted until you approve the captured plan.Commands
A selection of the slash-commands pibarm adds. Press / in pi to browse them all.
Automatic agent panes
The standard subagent and worktree tools use a shared runner with matching tmux and Zellij adapters. The active multiplexer gets managed panes; outside one, pibarm creates a detached native session and prints its attach command. Without either, the same calls fall back headlessly.
run_subagents → automatic tmux/Zellij panes
run_worktree_agent → isolated branch in the same session
/agents # list or capture logs
/agents-attach # focus or print native attach command
/agents-kill all # stop children, never the parent sessionNo second agent API
Models keep usingrun_subagent, run_subagents, and run_worktree_agent; configuration chooses only the renderer.Notifications
waiting-notify.ts sends a local notification when a question is waiting — Kitty's escape, terminal-notifier, or an iTerm2-style fallback.
export PI_NOTIFY_COOLDOWN_SECONDS=60
export PI_NOTIFY_INCLUDE_QUESTION=1