Skip to content

narumiruna/pi-extensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

815 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧩 Pi Extensions for the Pi Coding Agent

npm scope License: MIT

Production-ready, independently installable Pi Coding Agent extension packages for AI coding workflows. This TypeScript monorepo publishes npm packages under @narumitw and gives Pi native tools, slash commands, and statusline integrations for LSP diagnostics and code actions across TypeScript, JavaScript, Python, Rust, Go, JSON, CSS, and more; Chrome DevTools Protocol browser automation; Firecrawl web scraping, crawling, and web search; Google GenAI grounding for Google Search, Maps, and URL context; Langfuse LLM observability; ChatGPT Codex account switching and usage status; GitHub pull request checks; autonomous goal mode with opt-in ordered queues; Codex-like plan mode; subagents; rich terminal statuslines; Cloudflare R2/S3 settings sync; public Telegraph page publishing; retry handling; side questions; and keep-awake automation.

Search keywords: Pi Coding Agent extensions, AI coding agent tools, npm Pi packages, LSP diagnostics, Language Server Protocol, Chrome DevTools Protocol, browser automation, web scraping, Firecrawl, Google GenAI grounding, Telegraph publishing, Langfuse, LLM observability, ChatGPT Codex tools, subagents, terminal statusline, Cloudflare R2 sync, S3 sync.

πŸ“¦ Pi extension packages

Install only the Pi extensions you need. Each package is published under the @narumitw npm scope and can be installed directly with the package-specific pi install npm:@narumitw/... command.

Pi extension What it adds Install
@narumitw/pi-btw πŸ’¬ /btw side-question command for asking quick questions without polluting the main conversation. pi install npm:@narumitw/pi-btw
@narumitw/pi-caffeinate β˜• Cross-platform sleep prevention while the Pi agent is processing long-running prompts. pi install npm:@narumitw/pi-caffeinate
@narumitw/pi-chrome-devtools 🌐 Native Chrome DevTools Protocol tools for listing tabs, navigating pages, evaluating JavaScript, and taking screenshots. pi install npm:@narumitw/pi-chrome-devtools
@narumitw/pi-codex-accounts πŸ” /codex-login, /codex-account, and /codex-logout for switching self-managed ChatGPT Codex subscription accounts without changing Pi's /login list. pi install npm:@narumitw/pi-codex-accounts
@narumitw/pi-codex-usage πŸ“Š /codex-status command and automatic statusline item for ChatGPT Codex subscription usage, using Pi auth first and Codex CLI only as fallback. pi install npm:@narumitw/pi-codex-usage
@narumitw/pi-firecrawl πŸ”₯ Firecrawl-powered web scraping, crawling, URL discovery, and web search tools for documentation and research workflows. pi install npm:@narumitw/pi-firecrawl
@narumitw/pi-github-pr πŸ”Ž Passive current-branch GitHub PR checks, review, and comment counts in the statusline. pi install npm:@narumitw/pi-github-pr
@narumitw/pi-goal 🎯 /goal mode that keeps the agent working until verified completion, with an opt-in experimental ordered queue. pi install npm:@narumitw/pi-goal
@narumitw/pi-google-genai πŸ”Ž Google GenAI grounding tools for Google Search, Maps, and URL context. pi install npm:@narumitw/pi-google-genai
@narumitw/pi-langfuse πŸͺ’ Langfuse traces for Pi agent runs, LLM generations, token usage, costs, and tool activity. pi install npm:@narumitw/pi-langfuse
@narumitw/pi-lsp 🧠 Language-agnostic LSP diagnostics and code actions for TypeScript, JavaScript, Python, Rust, Go, JSON, CSS, and more through configured language servers. pi install npm:@narumitw/pi-lsp
@narumitw/pi-plan-mode 🧭 Codex-like read-only /plan collaboration mode with safe exploration and implementation-ready plans. pi install npm:@narumitw/pi-plan-mode
@narumitw/pi-retry πŸ” Retry support for unknown provider errors, retryable Codex backend failures, websocket limits, and stalled streams. pi install npm:@narumitw/pi-retry
@narumitw/pi-statusline ✨ A rich Pi terminal statusline with model, tools, git branch/status, context usage, token totals, cost, and time. pi install npm:@narumitw/pi-statusline
@narumitw/pi-sync ☁️ Sync allowlisted Pi settings, skills, prompts, themes, extensions, and optional sessions through Cloudflare R2 or S3-compatible storage. pi install npm:@narumitw/pi-sync
@narumitw/pi-subagents πŸ€– Delegate work to specialized isolated subagents with single, parallel, and chained execution modes. pi install npm:@narumitw/pi-subagents
@narumitw/pi-telegraph πŸ“ Publish Markdown files and optionally enable agent tools to create, read, or edit public Telegraph pages. pi install npm:@narumitw/pi-telegraph

πŸš€ Quick start

Install a package from npm:

pi install npm:@narumitw/pi-goal

Try an extension once without adding it permanently:

pi -e npm:@narumitw/pi-statusline
pi -e npm:@narumitw/pi-sync

Use multiple Pi extensions together:

pi -e npm:@narumitw/pi-goal -e npm:@narumitw/pi-statusline -e npm:@narumitw/pi-lsp

πŸ› οΈ Extension use cases

🧠 Shared language-server workflows

Use @narumitw/pi-lsp to let Pi run configurable Language Server Protocol servers through one shared runner. Without custom config, it routes matching files through Biome, ty, Ruff, rust-analyzer, and gopls when those commands are available. Configure servers in .pi/pi-lsp.json, ~/.pi/agent/pi-lsp.json, or PI_LSP_CONFIG with simple { command, extensions } entries, then use Pi tools for diagnostics and source code actions. The older split packages @narumitw/pi-biome-lsp and @narumitw/pi-python-lsp are deprecated, kept for reference, and excluded from active workspace scripts.

🧬 JavaScript and TypeScript coding with Biome

Use @narumitw/pi-lsp to route TypeScript, JavaScript, JSON, CSS, and other supported files to biome lsp-proxy for diagnostics and source actions such as organize imports or fix-all code actions.

🌐 Browser automation and debugging

Use @narumitw/pi-chrome-devtools when you want the Pi agent to inspect browser tabs, navigate web apps, run JavaScript in Chrome, or capture screenshots through the Chrome DevTools Protocol.

πŸ”Ž Web scraping, crawling, and research

Use @narumitw/pi-firecrawl to give Pi native Firecrawl tools for scraping markdown or HTML, mapping URLs, crawling websites, and searching the web from inside an agent workflow.

πŸ”Ž Google GenAI grounding

Use @narumitw/pi-google-genai to give Pi Google Search, Google Maps, and URL-context grounding through Gemini Interactions with Pi Google auth or a private pi-google-genai.json config.

πŸ“ Public Telegraph publishing

Use @narumitw/pi-telegraph to publish local Markdown files with /telegraph create, or opt into agent tools that create raw/Markdown pages, retrieve them as Markdown/JSON, and apply confirmed partial edits. Credentials and tool selection stay in a private pi-telegraph.json file.

πŸͺ’ LLM observability

Use @narumitw/pi-langfuse to send Pi agent, generation, token usage, cost, and tool spans to Langfuse with credentials stored in a private pi-langfuse.json file.

πŸ” Codex subscription accounts

Use @narumitw/pi-codex-accounts to keep multiple ChatGPT Codex subscription accounts in a private pi-codex-accounts.json file and switch the active account with /codex-account. It does not add provider aliases or change Pi's built-in /login provider list.

πŸ“Š Codex usage status

Use @narumitw/pi-codex-usage to show ChatGPT Codex subscription usage and reset windows from Pi with /codex-status. When the current model uses openai-codex, it also shows compact quota status in the statusline. It uses Pi's OpenAI Codex auth first, so Codex CLI is optional.

πŸ”Ž GitHub pull request status

Use @narumitw/pi-github-pr to passively show the current branch PR number, checks state, review state, and comment/review count in Pi's statusline through the authenticated gh CLI.

🐍 Python coding with ty and Ruff

Use @narumitw/pi-lsp to route Python files to configured servers such as ty server for type diagnostics and ruff server for lint diagnostics or source actions such as import organization.

🎯 Autonomous task completion

Use @narumitw/pi-goal for long-running implementation, debugging, refactoring, or verification work where the agent should continue past planning and call goal_complete only after the active goal is done. Single-goal behavior remains the default. Set experimental.goals to true in ~/.pi/agent/pi-goal.json to add ordered /goal add, prioritize, drop-last, and skip operations while retaining the same singular command and tools.

🧭 Read-only planning mode

Use @narumitw/pi-plan-mode when you want a Codex-like /plan mode where the agent explores with read-only tools, asks structured questions, and produces an implementation-ready plan before editing.

πŸ“¨ Remote Telegram session chat

@narumitw/pi-telegram-bot and @narumitw/pi-wait-what are deprecated and kept under extensions/deprecated/ for reference.

πŸ€– Delegated subagents

Use @narumitw/pi-subagents when you want the Pi agent to delegate scouting, planning, review, or implementation work to isolated worker processes with single, parallel, or chained execution.

✨ Better agent ergonomics

Use @narumitw/pi-btw, @narumitw/pi-caffeinate, @narumitw/pi-retry, and @narumitw/pi-statusline to improve day-to-day Pi coding agent sessions with side questions, sleep prevention, automatic retry hints, and a more informative terminal UI.

πŸ§‘β€πŸ’» Local development

Install dependencies from the repository root:

npm install

Run the full repository check:

npm run check

Try a package locally:

pi -e ./extensions/pi-btw
pi -e ./extensions/pi-caffeinate
pi -e ./extensions/pi-chrome-devtools
pi -e ./extensions/pi-codex-accounts
pi -e ./extensions/pi-codex-usage
pi -e ./extensions/pi-firecrawl
pi -e ./extensions/pi-github-pr
pi -e ./extensions/pi-goal
pi -e ./extensions/pi-google-genai
pi -e ./extensions/pi-langfuse
pi -e ./extensions/pi-lsp
pi -e ./extensions/pi-plan-mode
pi -e ./extensions/pi-retry
pi -e ./extensions/pi-statusline
pi -e ./extensions/pi-sync
pi -e ./extensions/pi-subagents
pi -e ./extensions/pi-telegraph

Preview npm package contents before publishing:

npm run pack:btw
npm run pack:caffeinate
npm run pack:chrome-devtools
npm run pack:codex-accounts
npm run pack:codex-usage
npm run pack:firecrawl
npm run pack:github-pr
npm run pack:goal
npm run pack:google-genai
npm run pack:langfuse
npm run pack:lsp
npm run pack:plan-mode
npm run pack:retry
npm run pack:statusline
npm run pack:sync
npm run pack:subagents
npm run pack:telegraph

Publishing note for new scoped packages: just npm-public @narumitw/pi-new-extension only changes visibility for an already-published package. If npm returns 404 for a brand-new package, create it first with the new package's workspace name, for example:

npm publish --workspace @narumitw/pi-new-extension --access public

πŸ—‚οΈ Repository structure

extensions/
β”œβ”€β”€ deprecated/
β”‚   β”œβ”€β”€ pi-auto-thinking/
β”‚   β”œβ”€β”€ pi-biome-lsp/
β”‚   β”œβ”€β”€ pi-python-lsp/
β”‚   β”œβ”€β”€ pi-sidebar/
β”‚   β”œβ”€β”€ pi-telegram-bot/
β”‚   └── pi-wait-what/
β”œβ”€β”€ pi-btw/
β”œβ”€β”€ pi-caffeinate/
β”œβ”€β”€ pi-chrome-devtools/
β”œβ”€β”€ pi-codex-accounts/
β”œβ”€β”€ pi-codex-usage/
β”œβ”€β”€ pi-firecrawl/
β”œβ”€β”€ pi-github-pr/
β”œβ”€β”€ pi-goal/
β”œβ”€β”€ pi-google-genai/
β”œβ”€β”€ pi-langfuse/
β”œβ”€β”€ pi-lsp/
β”œβ”€β”€ pi-plan-mode/
β”œβ”€β”€ pi-retry/
β”œβ”€β”€ pi-statusline/
β”œβ”€β”€ pi-sync/
β”œβ”€β”€ pi-subagents/
└── pi-telegraph/

Each production extension package contains its own package.json, README.md, LICENSE, tsconfig.json, and TypeScript source under src/. Experimental extensions live under extensions/experimental/, remain covered by root checks, and may be published only through an explicit local maintainer recipeβ€”not publish-all or GitHub workflows. Deprecated packages live under extensions/deprecated/ and are excluded from workspace scripts.

πŸ“„ License

MIT. See LICENSE.

About

Independently installable Pi Coding Agent extensions for AI coding workflows: LSP diagnostics/code actions for TypeScript, JavaScript, Python and more, Chrome DevTools automation, Firecrawl web scraping, Google GenAI/Gemini grounding, Codex tools, statuslines, subagents, and S3/R2 sync.

Topics

Resources

License

Stars

165 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors