@pi-unipi/footer

Persistent status bar for Unipi — subscribes to UNIPI_EVENTS and renders key stats from all unipi packages

Package details

extensionskill

Install @pi-unipi/footer from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@pi-unipi/footer
Package
@pi-unipi/footer
Version
0.1.4
Published
May 1, 2026
Downloads
102/mo · 102/wk
Author
neuron-mr-white
License
MIT
Types
extension, skill
Size
162 KB
Dependencies
1 dependency · 2 peers
Pi manifest JSON
{
  "extensions": [
    "src/index.ts"
  ],
  "skills": [
    "skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@pi-unipi/footer

Persistent status bar at the bottom of the terminal. Shows live stats from all Unipi packages — compactor tokens saved, memory count, MCP status, Ralph loops, workflow state, kanboard tasks, notifications.

Subscribes to events from every package and renders segments using Pi's setFooter + setWidget APIs. Responsive layout adjusts to terminal width, with a secondary row for narrow terminals.

Commands

Command Description
/unipi:footer Toggle footer on/off
/unipi:footer <preset> Switch preset (default, minimal, compact, full, nerd, ascii)
/unipi:footer sep:<style> Change separator style
/unipi:footer icon:<style> Change icon style (nerd, emoji, text)
/unipi:footer on / /unipi:footer off Enable/disable explicitly
/unipi:footer-settings Open settings TUI for per-group/per-segment toggles

Special Triggers

Footer subscribes to events from every Unipi package:

Group Events Segments
core Pi SDK model, thinking, path, git, context_pct, cost, tokens, session
compactor COMPACTOR_STATS_UPDATED session_events, compactions, tokens_saved, compression_ratio
memory MEMORY_STORED/DELETED/CONSOLIDATED project_count, total_count, consolidations
mcp MCP_SERVER_STARTED/STOPPED/ERROR servers_total, servers_active, tools_total
ralph RALPH_LOOP_START/END/ITERATION_DONE active_loops, total_iterations, loop_status
workflow WORKFLOW_START/END current_command, sandbox_level, command_duration
kanboard Direct registry read docs_count, tasks_done, tasks_total, task_pct
notify NOTIFICATION_SENT platforms_enabled, last_sent

Footer works even if packages load after it — late-arriving events update the cache.

Presets

Preset Description
default Balanced: model, thinking, path, git, context, cost + compactor + memory + ralph
minimal Essentials only: path, git, context
compact Core + key stats: model, git, cost, context + compactor + memory
full Everything from all groups
nerd Full + hostname + time + session + extensions
ascii Core segments with ASCII icons

Segment Groups

Group Default Data Source
core ON Pi SDK (ctx.sessionManager, footerData)
compactor ON COMPACTOR_STATS_UPDATED event
memory ON MEMORY_STORED/DELETED/CONSOLIDATED events
mcp ON MCP_SERVER_STARTED/STOPPED/ERROR events
ralph ON RALPH_LOOP_START/END/ITERATION_DONE events
workflow ON WORKFLOW_START/END events
kanboard ON Kanboard registry (direct read)
notify OFF NOTIFICATION_SENT event
status_ext ON footerData.getExtensionStatuses()

Configurables

Settings in ~/.pi/agent/settings.json under unipi.footer:

{
  "unipi": {
    "footer": {
      "enabled": true,
      "preset": "default",
      "separator": "powerline-thin",
      "iconStyle": "nerd",
      "groups": {
        "compactor": {
          "show": true,
          "segments": {
            "session_events": true,
            "compactions": true,
            "tokens_saved": true
          }
        }
      }
    }
  }
}

Separator Styles

Style Look
powerline Thick powerline arrows
powerline-thin Thin powerline arrows (default)
slash /
pipe |
dot Middle dot
ascii > <

Icon Styles

Style Description
nerd Nerd Font glyphs (auto-detected)
emoji Unicode symbols (works on most terminals)
text Plain text abbreviations (works everywhere)

When iconStyle is not set, footer auto-detects Nerd Font support and defaults to nerd if available, emoji otherwise.

Responsive Layout

Wide terminal (>120 cols):
  model | thinking | path | git | context | cost | compactions | tokens_saved | project_count

Narrow terminal (<120 cols):
  Row 1: model | thinking | path | git | context | cost
  Row 2: compactions | tokens_saved | project_count | ralph | workflow

License

MIT