spences10
my-pi
TypeScriptโœจ New

Composable pi coding agent with MCP, LSP, agent chains, prompt presets, and local eval telemetry

Last updated Jul 9, 2026
80
Stars
12
Forks
29
Issues
+6
Stars/day
Attention Score
62
Language breakdown
No language data available.
โ–ธ Files click to expand
README

my-pi

Semgrep built with vite+ tested with vitest

My curated Pi distribution: a ready-to-run coding-agent CLI with MCP, LSP, skills, recall, redaction, telemetry, team mode, prompt presets, and other handy extensions prewired.

my-pi package preview

Built on the @earendil-works/pi-coding-agent SDK. Use the full distribution directly, or install individual @spences10/pi-* packages into your own Pi setup.

Quick start

pnpx my-pi@latest

or: npx my-pi@latest / bunx my-pi@latest

Two ways to use my-pi

1. Run the full distribution

Use my-pi if you want the complete, opinionated setup:

pnpx my-pi@latest

This is its own CLI wrapper around Pi. Do not install the root package with pi install npm:my-pi.

2. Install individual Pi packages

Most extensions in this repo are also published as normal Pi packages:

pi install npm:@spences10/pi-lsp
pi install npm:@spences10/pi-mcp
pi install npm:@spences10/pi-redact

Use this path if you already have your own Pi setup and only want selected features. Package READMEs are the source of truth for install instructions, commands, configuration, and runtime behavior.

What you get

  • Pi-native CLI + SDK wrapper โ€” interactive TUI, print mode, JSON
mode, RPC mode, and programmatic runtime creation.
  • Project-aware MCP tools โ€” stdio and HTTP/streamable-HTTP servers
from mcp.json, scoped so sensitive or noisy tools only load for the projects and orgs where they belong.
  • Project-aware skills โ€” discover, enable, disable, import, and
sync Pi-native skills, with different skill sets per project.
  • LSP tools โ€” diagnostics, hover, definitions, references, and
document symbols via language servers.
  • Context sidecar โ€” local SQLite storage for oversized tool
output, keeping long results searchable without flooding chat context.
  • Guardrails โ€” Svelte and coding-preference checks that block
configured anti-patterns before agents write them.
  • Prompt presets โ€” base presets plus additive prompt layers with
per-project persistence.
  • Secret safety โ€” redaction plus reminders to use secret-safe
environment loading.
  • Recall, telemetry, and observability โ€” local support for
prior-session lookup, evals, latency analysis, live event streams, and operational debugging.
  • Git UI โ€” interactive source-control staging and commit support.
  • Team mode โ€” local RPC teammate orchestration with tasks and
mailboxes.
  • Themes and TUI helpers โ€” visual polish and shared modal
primitives.

Requirements

  • Node.js >=24.15.0
  • pnpm 11 for local development
  • Pi authentication via pi auth, provider environment variables, or
supported OAuth flows

my-pi uses native node:sqlite through context, telemetry, and observability packages. The CLI suppresses Node's expected node:sqlite ExperimentalWarning; standalone package/API consumers own their process warning policy until Node marks it stable.

Common usage

# full TUI
pnpx my-pi@latest

one-shot print mode

pnpx my-pi@latest "summarize this repo" pnpx my-pi@latest -P "explicit print mode"

NDJSON events for scripts/agents

pnpx my-pi@latest --json "list all TODO comments"

RPC mode for team/agent orchestration

pnpx my-pi@latest --mode rpc

local live observability dashboard

pnpx my-pi@latest

then run /observability in the TUI to open the browser dashboard

pnpx my-pi@latest observability

Pi handles model authentication natively. For provider-specific model examples, see the Pi docs and the relevant extension/package README.

Umans.ai is available as a built-in provider. Run /login, choose API key auth, then choose Umans; select models like umans/umans-coder or umans/umans-flash. The provider can also read UMANSAPIKEY and can be disabled with --no-umans-provider.

OpenRouter Fusion is configured by default: my-pi injects a non-Anthropic Fusion panel/judge only for openrouter/fusion. Configure it in ~/.pi/agent/my-pi-settings.json under openRouterFusion, e.g. {"openRouterFusion":{"analysisModels":["deepseek/deepseek-v3.2"],"judgeModel":"~openai/gpt-latest","force":false}}. Fusion is forced by default with tool_choice: "required"; set force: false to let OpenRouter decide whether deliberation is needed. Env vars MYPIFUSIONANALYSISMODELS, MYPIFUSIONJUDGEMODEL, and MYPIFUSION_FORCE still work as overrides. Disable with --no-openrouter-fusion-config.

Reusable Pi packages

Install the full distribution with pnpx my-pi@latest, or install selected extensions into vanilla Pi:

# Bash/Zsh/Fish
pi install npm:@spences10/pi-{context,lsp,team-mode}

Full package list here:

| Package | Purpose | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------- | | @spences10/pi-coding-preferences | Configurable coding-workflow guardrails | | @spences10/pi-confirm-destructive | Destructive action confirmations | | @spences10/pi-context | Scoped SQLite FTS overflow cache for oversized tool output | | @spences10/pi-git-ui | Interactive source-control staging UI | | @spences10/pi-lsp | LSP-backed diagnostics and symbol tools | | @spences10/pi-mcp | MCP server integration and /mcp | | @spences10/pi-nopeek | nopeek reminder for secret-safe environment loading | | @spences10/pi-observability | Live local event stream and browser dashboard | | @spences10/pi-omnisearch | mcp-omnisearch reminder for verified web research | | @spences10/pi-recall | pirecall reminder and background sync | | @spences10/pi-redact | Output redaction and /redact-stats | | @spences10/pi-harness | Ephemeral task harness runtime | | @spences10/pi-skills | Skill management, import, and sync | | @spences10/pi-sqlite-tools | mcp-sqlite-tools reminder for safer SQLite database work | | @spences10/pi-svelte-guardrails | Svelte pattern guardrails | | @spences10/pi-team-mode | Local team mode with RPC teammates, tasks, and mailboxes | | @spences10/pi-telemetry | Local SQLite telemetry and /telemetry | | @spences10/pi-themes | Bundled theme pack for Pi |

Shared helper packages such as @spences10/pi-child-env, @spences10/pi-project-trust, @spences10/pi-settings, and @spences10/pi-tui-modal are published as dependencies and are not packages to install via pi install.

Project structure

apps/
  web/                     Landing page for discovering my-pi and its packages
src/
  index.ts                 CLI entry point
  api.ts                   Programmatic API
  extensions/              Root-only built-ins and distro wiring
packages/
  pi-*/                    Reusable Pi packages and shared support packages
.pi/
  presets.json             Optional project prompt presets
  presets/*.md             Optional project prompt preset files
mcp.json                   Project MCP server config
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท spences10/my-pi ยท Updated daily from GitHub