@herbertgao/pi-extensions

Aggregate installer for HerbertGao-maintained Pi extensions.

Packages

Package details

extensionskilltheme

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

$ pi install npm:@herbertgao/pi-extensions
Package
@herbertgao/pi-extensions
Version
2026.9.0
Published
Sep 5, 2026
Downloads
2,336/mo · 1,036/wk
Author
herbertgao
License
MIT
Types
extension, skill, theme
Size
40 MB
Dependencies
73 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./node_modules/@dietrichgebert/ponytail/pi-extension/index.js",
    "./node_modules/@herbertgao/pi-cc-extensions/extensions/index.ts",
    "./node_modules/@tifan/pi-copy-response/src/index.ts",
    "./node_modules/@herbertgao/resume-from/shims/pi/extensions/resume-from.js",
    "./node_modules/@tifan/pi-handoff/src/index.ts",
    "./node_modules/@tifan/pi-handoff/src/session-query.ts",
    "./node_modules/@tifan/pi-inline-skills/src/index.ts",
    "./node_modules/@tifan/pi-mermaid-open/src/index.ts",
    "./node_modules/@tifan/pi-preferred-thinking/src/index.ts",
    "./node_modules/@tifan/pi-recap/src/index.ts",
    "./node_modules/@tifan/pi-rename/src/index.ts",
    "./node_modules/@herbertgao/pi-subagents/src/index.ts",
    "./node_modules/@juicesharp/rpiv-ask-user-question/index.ts",
    "./node_modules/@herbertgao/pi-bark/src/index.ts",
    "./node_modules/@luxusai/pi-hindsight/extensions/index.ts",
    "./node_modules/@narumitw/pi-btw/dist/index.ts",
    "./node_modules/@narumitw/pi-caffeinate/dist/index.ts",
    "./node_modules/@pi-plugins/fast-mode/dist/index.mjs",
    "./node_modules/pi-mcp-adapter/index.ts",
    "./node_modules/pi-lens/dist/index.js",
    "./node_modules/pi-web-access/index.ts",
    "./node_modules/remote-pi/dist/index.js",
    "./node_modules/@czottmann/pi-automode/extensions/auto-mode.ts",
    "./node_modules/pi-footer/src/index.ts"
  ],
  "themes": [
    "./node_modules/@herbertgao/pi-cc-extensions/themes/cc-dark.json",
    "./node_modules/@herbertgao/pi-cc-extensions/themes/cc-light.json"
  ],
  "skills": [
    "./node_modules/@czottmann/pi-automode/skills",
    "./node_modules/@dietrichgebert/ponytail/skills",
    "./node_modules/@luxusai/pi-hindsight/skills",
    "./node_modules/pi-mcp-adapter/skills",
    "./node_modules/pi-lens/skills"
  ]
}

Security note

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

README

@herbertgao/pi-extensions

Aggregate installer for HerbertGao-maintained Pi extensions and pinned upstream companions.

Install

pi install npm:@herbertgao/pi-extensions

Requires Node.js 24 or newer and Pi 0.84.4 or newer.

The package bundles 4 active @herbertgao/* child packages—pi-bark, pi-cc-extensions, resume-from, and pi-subagents—plus the following upstream packages under their original names:

  • @dietrichgebert/ponytail@4.9.0
  • @juicesharp/rpiv-ask-user-question@2.8.0
  • @luxusai/pi-hindsight@0.12.0
  • @narumitw/pi-btw@0.57.0
  • @narumitw/pi-caffeinate@0.49.7
  • @pi-plugins/fast-mode@0.1.10
  • @tifan/pi-copy-response@0.2.6
  • @tifan/pi-handoff@2.2.0
  • @tifan/pi-inline-skills@1.0.5
  • @tifan/pi-mermaid-open@0.2.0
  • @tifan/pi-preferred-thinking@1.0.1
  • @tifan/pi-recap@0.4.6
  • @tifan/pi-rename@0.6.0
  • pi-mcp-adapter@2.31.0
  • pi-footer@0.5.1
  • pi-lens@4.1.3
  • pi-web-access@0.27.0
  • remote-pi@0.7.0
  • @czottmann/pi-automode@1.15.0

Pi loads their extensions and skills through node_modules/ paths inside one package root. The upstream companions are pinned and bundled, not forked or renamed.

Bark notifications

@herbertgao/pi-bark sends localized Bark pushes when a user-facing Pi run fully settles or @juicesharp/rpiv-ask-user-question needs an answer. Notifications include emoji-labeled machine/path metadata and support the bundled official Pi badge through Bark's icon parameter. Configure it in $PI_CODING_AGENT_DIR/bark.json (normally ~/.pi/agent/bark.json); see the package README. Without a valid endpoint it stays inactive.

@narumitw/pi-caffeinate@0.49.7 uses the host platform's sleep inhibitor during each Pi agent run. On macOS, /caffeinate sleep keeps the system awake while allowing the display to sleep; /caffeinate display also keeps the display awake. It releases the inhibitor when the run or session ends.

@herbertgao/resume-from@0.2.0 keeps Claude Code sessions associated with their original repository when the active transcript later moves into a nested cwd. pi-lens@4.1.3 expands language routing and bounds retained diagnostic facts across multi-root sessions. pi-automode@1.15.0 preserves dynamic providers on legacy registries. pi-web-access@0.27.0 adds configurable fetch deadlines and answer models plus isolated GitHub clone runtimes. Preferred Thinking 1.0.1 preserves an explicit subagent --thinking choice. Deprecated @tifan/pi-titlebar-spinner is no longer bundled; Rename remains the single owner of Herdr tab naming.

pi-stash is no longer bundled: /btw already preserves the main editor draft while handling side questions outside the main conversation. Prior @herbertgao/pi-stash releases remain available but are no longer maintained here.

If pi-footer was installed separately before upgrading to an aggregate release that includes it, remove the standalone source shown by pi list so only the bundled copy loads. For the pinned standalone install used while preparing this integration:

pi remove npm:pi-footer@0.5.1

Recommended footer

pi-footer is enabled by the aggregate. To use the recommended compact layout for MCP, Auto mode, LSP, Ponytail, Remote Pi, and Subagents, copy the bundled example to Pi's user config directory:

agent_dir="${PI_CODING_AGENT_DIR:-$HOME/.pi/agent}"
mkdir -p "$agent_dir/extensions"
cp "$agent_dir/npm/node_modules/@herbertgao/pi-extensions/examples/pi-footer.json" \
  "$agent_dir/extensions/pi-footer.json"

The same copy is linked here as examples/pi-footer.json. The example preserves the native path, Git branch, session, token/context, model, and thinking information. It uses a gray separator and shows Remote Pi/Subagents only when those extensions publish status. Restart Pi or run /reload after copying. Existing config is intentionally never overwritten automatically.

For the intended compact status text, merge these optional companion settings into existing files rather than replacing the files:

// ~/.pi/agent/mcp.json
{
  "settings": {
    "mcpFooterStatus": "compact",
    "showStatusIcon": false
  }
}

// ~/.pi-lens/config.json
{
  "widget": {
    "visible": false
  }
}

The copy command replaces an existing pi-footer.json; review or back it up first. Only one footer-replacement extension should be enabled at a time. Use /footer for interactive changes.

Pi 0.84.1 or newer should use native fullscreen TUI mode.

Hindsight memory server

@luxusai/pi-hindsight is enabled by the aggregate, but automatic memory network I/O stays behind its setup gate until a server and coding bank are configured. Run /hindsight for guided setup. Prefer a self-hosted, authenticated endpoint reachable only over Tailscale or another private network; use one shared coding bank with stable project tags for cross-host development, and keep user memory disabled unless explicitly needed.

Remote Pi trust boundary

Configure REMOTE_PI_RELAY to a private relay, preferably reachable only through Tailscale or another private network, before first running /remote-pi. TLS/Tailscale protects traffic in transit but the relay process can read routed content; remote-pi@0.7.0 is not end-to-end encrypted.

Known accepted 0.7.0 limitations: pairing URI/token data is persisted in Pi session data and may enter model context during its short validity window; local broker/supervisor IPC trusts processes running as the same OS user; cancelling first-time setup can retain its cwd lock until Pi exits. Do not use the public relay or run untrusted local processes if those boundaries are unacceptable.

See the repository README for the complete package list and provenance.

License

MIT. Bundled upstream notices are included in THIRD_PARTY_NOTICES.md.