{"id":51414072,"url":"https://github.com/spences10/my-pi","last_synced_at":"2026-07-04T17:30:39.834Z","repository":{"id":350753317,"uuid":"1208128417","full_name":"spences10/my-pi","owner":"spences10","description":"Composable pi coding agent with MCP, LSP, agent chains, prompt presets, and local eval telemetry","archived":false,"fork":false,"pushed_at":"2026-06-27T17:40:29.000Z","size":4618,"stargazers_count":55,"open_issues_count":20,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-27T19:16:45.035Z","etag":null,"topics":["cli","coding-agent","evals","llm","lsp","mcp","pi","pi-package","sqlite","telemetry","typescript"],"latest_commit_sha":null,"homepage":"https://my-pi.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spences10.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-11T21:23:11.000Z","updated_at":"2026-06-27T17:39:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e9fb1e2-80bf-4f4b-9a35-b3040156b236","html_url":"https://github.com/spences10/my-pi","commit_stats":null,"previous_names":["spences10/my-pi"],"tags_count":490,"template":false,"template_full_name":null,"purl":"pkg:github/spences10/my-pi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spences10%2Fmy-pi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spences10%2Fmy-pi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spences10%2Fmy-pi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spences10%2Fmy-pi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spences10","download_url":"https://codeload.github.com/spences10/my-pi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spences10%2Fmy-pi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35130722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","coding-agent","evals","llm","lsp","mcp","pi","pi-package","sqlite","telemetry","typescript"],"created_at":"2026-07-04T17:30:39.762Z","updated_at":"2026-07-04T17:30:39.822Z","avatar_url":"https://github.com/spences10.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# my-pi\n\n[![Semgrep](https://github.com/spences10/my-pi/actions/workflows/semgrep.yml/badge.svg)](https://github.com/spences10/my-pi/actions/workflows/semgrep.yml)\n[![built with vite+](https://img.shields.io/badge/built%20with-Vite+-646CFF?logo=vite\u0026logoColor=white)](https://viteplus.dev)\n[![tested with vitest](https://img.shields.io/badge/tested%20with-Vitest-6E9F18?logo=vitest)](https://vitest.dev)\n\nMy curated [Pi](https://pi.dev) distribution: a ready-to-run\ncoding-agent CLI with MCP, LSP, skills, recall, redaction, telemetry,\nteam mode, prompt presets, and other handy extensions prewired.\n\n![my-pi package preview](./assets/pi-package-preview.png)\n\nBuilt on the\n[@earendil-works/pi-coding-agent](https://github.com/badlogic/pi-mono)\nSDK. Use the full distribution directly, or install individual\n`@spences10/pi-*` packages into your own Pi setup.\n\n## Quick start\n\n```bash\npnpx my-pi@latest\n# or: npx my-pi@latest / bunx my-pi@latest\n```\n\n## Two ways to use my-pi\n\n### 1. Run the full distribution\n\nUse `my-pi` if you want the complete, opinionated setup:\n\n```bash\npnpx my-pi@latest\n```\n\nThis is its own CLI wrapper around Pi. Do not install the root package\nwith `pi install npm:my-pi`.\n\n### 2. Install individual Pi packages\n\nMost extensions in this repo are also published as normal Pi packages:\n\n```bash\npi install npm:@spences10/pi-lsp\npi install npm:@spences10/pi-mcp\npi install npm:@spences10/pi-redact\n```\n\nUse this path if you already have your own Pi setup and only want\nselected features. Package READMEs are the source of truth for install\ninstructions, commands, configuration, and runtime behavior.\n\n## What you get\n\n- **Pi-native CLI + SDK wrapper** — interactive TUI, print mode, JSON\n  mode, RPC mode, and programmatic runtime creation.\n- **Project-aware MCP tools** — stdio and HTTP/streamable-HTTP servers\n  from `mcp.json`, scoped so sensitive or noisy tools only load for\n  the projects and orgs where they belong.\n- **Project-aware skills** — discover, enable, disable, import, and\n  sync Pi-native skills, with different skill sets per project.\n- **LSP tools** — diagnostics, hover, definitions, references, and\n  document symbols via language servers.\n- **Context sidecar** — local SQLite storage for oversized tool\n  output, keeping long results searchable without flooding chat\n  context.\n- **Guardrails** — Svelte and coding-preference checks that block\n  configured anti-patterns before agents write them.\n- **Prompt presets** — base presets plus additive prompt layers with\n  per-project persistence.\n- **Secret safety** — redaction plus reminders to use secret-safe\n  environment loading.\n- **Recall, telemetry, and observability** — local support for\n  prior-session lookup, evals, latency analysis, live event streams,\n  and operational debugging.\n- **Git UI** — interactive source-control staging and commit support.\n- **Team mode** — local RPC teammate orchestration with tasks and\n  mailboxes.\n- **Themes and TUI helpers** — visual polish and shared modal\n  primitives.\n\n## Requirements\n\n- Node.js `\u003e=24.15.0`\n- pnpm 11 for local development\n- Pi authentication via `pi auth`, provider environment variables, or\n  supported OAuth flows\n\n`my-pi` uses native `node:sqlite` through context, telemetry, and\nobservability packages. The CLI suppresses Node's expected\n`node:sqlite` `ExperimentalWarning`; standalone package/API consumers\nown their process warning policy until Node marks it stable.\n\n## Common usage\n\n```bash\n# full TUI\npnpx my-pi@latest\n\n# one-shot print mode\npnpx my-pi@latest \"summarize this repo\"\npnpx my-pi@latest -P \"explicit print mode\"\n\n# NDJSON events for scripts/agents\npnpx my-pi@latest --json \"list all TODO comments\"\n\n# RPC mode for team/agent orchestration\npnpx my-pi@latest --mode rpc\n\n# local live observability dashboard\npnpx my-pi@latest\n# then run /observability in the TUI to open the browser dashboard\npnpx my-pi@latest observability\n```\n\nPi handles model authentication natively. For provider-specific model\nexamples, see the Pi docs and the relevant extension/package README.\n\nUmans.ai is available as a built-in provider. Run `/login`, choose API\nkey auth, then choose Umans; select models like `umans/umans-coder` or\n`umans/umans-flash`. The provider can also read `UMANS_API_KEY` and\ncan be disabled with `--no-umans-provider`.\n\nOpenRouter Fusion is configured by default: `my-pi` injects a\nnon-Anthropic Fusion panel/judge only for `openrouter/fusion`.\nConfigure it in `~/.pi/agent/my-pi-settings.json` under\n`openRouterFusion`, e.g.\n`{\"openRouterFusion\":{\"analysisModels\":[\"deepseek/deepseek-v3.2\"],\"judgeModel\":\"~openai/gpt-latest\",\"force\":false}}`.\nFusion is forced by default with `tool_choice: \"required\"`; set\n`force: false` to let OpenRouter decide whether deliberation is\nneeded. Env vars `MY_PI_FUSION_ANALYSIS_MODELS`,\n`MY_PI_FUSION_JUDGE_MODEL`, and `MY_PI_FUSION_FORCE` still work as\noverrides. Disable with `--no-openrouter-fusion-config`.\n\n## Reusable Pi packages\n\nInstall the full distribution with `pnpx my-pi@latest`, or install\nselected extensions into vanilla Pi:\n\n```bash\n# Bash/Zsh/Fish\npi install npm:@spences10/pi-{context,lsp,team-mode}\n```\n\nFull package list here:\n\n| Package                                                                            | Purpose                                                    |\n| ---------------------------------------------------------------------------------- | ---------------------------------------------------------- |\n| [`@spences10/pi-coding-preferences`](./packages/pi-coding-preferences/README.md)   | Configurable coding-workflow guardrails                    |\n| [`@spences10/pi-confirm-destructive`](./packages/pi-confirm-destructive/README.md) | Destructive action confirmations                           |\n| [`@spences10/pi-context`](./packages/pi-context/README.md)                         | Scoped SQLite FTS overflow cache for oversized tool output |\n| [`@spences10/pi-git-ui`](./packages/pi-git-ui/README.md)                           | Interactive source-control staging UI                      |\n| [`@spences10/pi-lsp`](./packages/pi-lsp/README.md)                                 | LSP-backed diagnostics and symbol tools                    |\n| [`@spences10/pi-mcp`](./packages/pi-mcp/README.md)                                 | MCP server integration and `/mcp`                          |\n| [`@spences10/pi-nopeek`](./packages/pi-nopeek/README.md)                           | `nopeek` reminder for secret-safe environment loading      |\n| [`@spences10/pi-observability`](./packages/pi-observability/README.md)             | Live local event stream and browser dashboard              |\n| [`@spences10/pi-omnisearch`](./packages/pi-omnisearch/README.md)                   | `mcp-omnisearch` reminder for verified web research        |\n| [`@spences10/pi-recall`](./packages/pi-recall/README.md)                           | `pirecall` reminder and background sync                    |\n| [`@spences10/pi-redact`](./packages/pi-redact/README.md)                           | Output redaction and `/redact-stats`                       |\n| [`@spences10/pi-harness`](./packages/pi-harness/README.md)                         | Ephemeral task harness runtime                             |\n| [`@spences10/pi-skills`](./packages/pi-skills/README.md)                           | Skill management, import, and sync                         |\n| [`@spences10/pi-sqlite-tools`](./packages/pi-sqlite-tools/README.md)               | `mcp-sqlite-tools` reminder for safer SQLite database work |\n| [`@spences10/pi-svelte-guardrails`](./packages/pi-svelte-guardrails/README.md)     | Svelte pattern guardrails                                  |\n| [`@spences10/pi-team-mode`](./packages/pi-team-mode/README.md)                     | Local team mode with RPC teammates, tasks, and mailboxes   |\n| [`@spences10/pi-telemetry`](./packages/pi-telemetry/README.md)                     | Local SQLite telemetry and `/telemetry`                    |\n| [`@spences10/pi-themes`](./packages/pi-themes/README.md)                           | Bundled theme pack for Pi                                  |\n\nShared helper packages such as `@spences10/pi-child-env`,\n`@spences10/pi-project-trust`, `@spences10/pi-settings`, and\n`@spences10/pi-tui-modal` are published as dependencies and are not\npackages to install via `pi install`.\n\n## Project structure\n\n```text\napps/\n  web/                     Landing page for discovering my-pi and its packages\nsrc/\n  index.ts                 CLI entry point\n  api.ts                   Programmatic API\n  extensions/              Root-only built-ins and distro wiring\npackages/\n  pi-*/                    Reusable Pi packages and shared support packages\n.pi/\n  presets.json             Optional project prompt presets\n  presets/*.md             Optional project prompt preset files\nmcp.json                   Project MCP server config\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspences10%2Fmy-pi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspences10%2Fmy-pi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspences10%2Fmy-pi/lists"}