Skip to content

Instantly share code, notes, and snippets.

@senrecep
Created August 10, 2026 23:24
Show Gist options
  • Select an option

  • Save senrecep/87fa8452231b02f793adb364a8224006 to your computer and use it in GitHub Desktop.

Select an option

Save senrecep/87fa8452231b02f793adb364a8224006 to your computer and use it in GitHub Desktop.
pi coding agent setup: full extension set migrated from Claude Code (27 packages, vetted)
#!/usr/bin/env bash
#
# pi-setup.sh
#
# Sets up the pi coding agent (github.com/earendil-works/pi) with the
# extension set I use after migrating from Claude Code.
#
# Where these picks come from: a full scan of the pi.dev catalog
# (5,330 packages, August 2026) mapped against my Claude Code setup,
# then an npm check on every candidate before installing. None of them
# ship install-time scripts, the maintainers match the catalog authors,
# and every repo exists and is active. Three packages failed that check
# and are listed at the bottom with the reasons.
#
# Everything installs globally into ~/.pi/agent.
# Undo any of it with: pi remove npm:<name>
set -euo pipefail
if ! command -v pi >/dev/null 2>&1; then
echo "pi is not installed. On macOS: brew install pi"
echo "Otherwise see https://github.com/earendil-works/pi"
exit 1
fi
install() {
echo "==> $1"
pi install "npm:$1"
}
# ---------------------------------------------------------------
# Core replacements for what Claude Code had built in.
# Pi's core only ships seven tools (read, bash, edit, write, grep,
# find, ls). Everything else below fills a gap on purpose left open.
# ---------------------------------------------------------------
# The one package that matters most. Bridges an existing MCP config
# into pi, so serena, context7, exa, github-mcp and the rest keep
# working. Without it, no MCP server does anything.
install pi-mcp-adapter
# Web search, URL fetching, PDF extraction, YouTube transcripts, repo
# cloning. Replaces WebSearch and WebFetch. Needs a provider key
# (Brave, Tavily, Jina and others are supported).
install pi-web-access
# Subagent delegation, the Agent/Task equivalent. Same author as
# pi-mcp-adapter and pi-web-access (nicobailon), whose packages are
# built to work together.
install pi-subagents
# Fan-out orchestration with real per-agent model routing: an agent()
# call accepts model: 'provider/modelId', so the main session can run
# on an expensive model while bulk work goes to a cheap one. This is
# the piece that makes a multi-provider setup useful in practice.
install @quintinshaw/pi-dynamic-workflows
# Durable background shell tasks. Pi core has no background bash and
# the docs suggest tmux; this adds it as a proper tool instead.
install pi-background-tasks
# Todo list rendered as a live overlay. Survives /reload and
# conversation compaction, which is the failure mode that makes most
# todo tools useless.
install @juicesharp/rpiv-todo
# Structured questions with typed options instead of the model
# guessing. Same author as the todo package, designed as a pair.
install @juicesharp/rpiv-ask-user-question
# Read-only /plan mode, Codex style.
install @narumitw/pi-plan-mode
# LSP, linters, formatters and type checking in one package. Replaces
# the six separate LSP plugins I ran under Claude Code.
install pi-lens
# Persistent memory plus session search plus secret scanning before
# anything gets stored. SQLite FTS5 under the hood.
install pi-hermes-memory
# Deterministic path-level permissions enforced across every tool at
# once: read, bash (cat/grep included), edit, and MCP. Symlinks are
# resolved before the check, so they can't be used to slip past a
# deny rule. I want this before pointing any cheap "contributor"
# tier model at a repo, because telling a model "don't read .env"
# in a prompt is a request, not enforcement.
install @gotgenes/pi-permission-system
# YAML-defined hooks: tool guards, session hooks, notifications.
install pi-yaml-hooks
# Blocks destructive git and filesystem commands before they execute.
# Cheap insurance for autonomous runs.
install cc-safety-net
# Browser automation as a native tool. The Playwright replacement.
install pi-agent-browser-native
# Status bar: model, thinking level, context usage with color
# warnings at 70% and 90%, token and cost figures, git status.
# Closest thing to the HUD I had in Claude Code.
install pi-powerline-footer
# 73 agent skills covering process discipline (debugging, TDD, plan
# writing). The superpowers equivalent in the pi ecosystem.
install bigpowers
# Reviews recently changed code for clarity and consistency. The
# /simplify equivalent.
install pi-simplify
# Session search and management, plus its own compaction handling.
# Overlaps a bit with pi-hermes-memory on session search; if the two
# ever inject duplicate memory context, I'll drop one.
install pi-goosedump
# Interactive git worktree management and workspace switching.
install @narumitw/pi-worktree
# Cron-style recurring and one-shot prompts. I picked this over
# @amaster.ai/pi-task-scheduler, which had eight maintainers I
# couldn't place and a repo whose name didn't match the package.
# This one is by tintinweb, a known security researcher.
install pi-schedule-prompt
# Autonomous goal loop: give it an objective, it keeps working until
# done. The autopilot/ralph equivalent.
install @narumitw/pi-goal
# Semantic codebase search: embeddings, symbol discovery, call graph.
# Replaces what serena and codegraph did for me.
install opencode-codebase-index
# Google NotebookLM bridge: notebooks, sources, chat, Studio
# artifacts.
install @bacnh85/pi-notebooklm
# ---------------------------------------------------------------
# HUD and observability add-ons.
# ---------------------------------------------------------------
# Per-provider usage and rate-limit budgets via /usage, with a live
# statusline widget. With several providers configured, this is how
# I see which quota is close to running out.
install @sreetej510/pi-usage
# Usage statistics dashboard across pi sessions.
install @tmustier/pi-usage-extension
# Inspect the system prompt and the full LLM context in scrollable
# overlay popups. Useful for figuring out where the tokens went.
install @agnishc/edb-context-viewer
# Live event stream and a local web dashboard for pi sessions, for
# watching an agent from outside the terminal.
install @spences10/pi-observability
echo
echo "Done. Restart pi to activate everything."
echo "Check the result with: pi list"
# ---------------------------------------------------------------
# Deliberately NOT installed, and why:
#
# @amaster.ai/pi-task-scheduler
# Eight maintainers with no track record I could find, and the
# linked repo is just named "pi". pi-schedule-prompt covers the
# same ground.
#
# pi-code, pi-cc-extensions
# Both bundle their own todo, memory, web and subagent tools.
# Installing them next to the dedicated packages above would
# register duplicate tools.
#
# @vigolium/piolium
# 480K monthly downloads for a package that was 18 days old at
# v0.0.13. Those numbers don't add up, so it stays out until
# someone audits the repo.
#
# Remaining manual steps after this script:
# 1. Connect providers: /login inside pi, or export API keys
# (ANTHROPIC_API_KEY, ZAI_API_KEY, KIMI_API_KEY, ...).
# 2. Point pi-mcp-adapter at your existing MCP config.
# 3. Pick a search provider key for pi-web-access.
# 4. Add deny rules to @gotgenes/pi-permission-system for secret
# files (.env, appsettings*.json) before routing work to any
# data-sharing model tier.
# ---------------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment