The runtime
Pi-Bolt
An ahead-of-time compiled build of Pi. It runs your agent, tools and sessions. The model still does the reasoning; a faster executable is not a smarter model.
A practical guide for the unconvinced.
You don’t need a wall of extensions. Start with Pi-Bolt, add fast lookup, and give your agent a few good defaults. That’s the setup.
One guide. Optional extras clearly marked. No magic claims.
# a small setup, on purpose
$ pi-bolt
$ pi-bolt install
npm:opensec-pi-fff
# then tell your agent
“Use codemode.
Find faster.
Build the thing.”
Pi is the coding-agent harness. Pi-Bolt is its ahead-of-time compiled build: the same workflow in a native executable. You don’t need Node.js just to run Pi-Bolt.
curl -fsSL https://pi-bolt.opensec.in/install.sh | shirm https://pi-bolt.opensec.in/install.ps1 | iexReview remote install scripts before running them. On Android, use supported Termux; the installer handles its glibc setup. Check platform requirements.
pi-bolt --version
pi-boltRun /login inside Pi-Bolt and connect your chosen provider. Provider access and model usage may have their own costs. Update the runtime later with pi-bolt update.
pi-bolt, not pi bolt and not pi. Pi and Pi-Bolt can coexist and share ~/.pi/agent.For the Anthropic-based workflow, add the auth extension. For faster repository lookup, add fff. If the installer already added fff, skip that command.
pi-bolt install npm:@gotgenes/pi-anthropic-auth
pi-bolt install npm:opensec-pi-fffRestart Pi-Bolt after installing, then use /login for the provider you need. Review third-party packages before installing them: extensions execute code.
Fast path lookup and content search. A practical everyday addition.
A live task list for multi-step work. Helpful, not required.
Separate agents for delegated work. Add when parallel work is useful, not by default.
The installer offers these three extensions; you do not have to accept them. Todo: opensec-pi-todo. Subagents: opensec-pi-subagents.
Tell your agent: “Set Pi to use +codemode and only mode.” Here is what that means in ~/.pi/agent/settings.json:
{
"defaultTools": [
"+codemode"
],
"codemode": {
"mode": "only"
}
}+codemode adds codemode without removing the default tools. only hides direct tool declarations so the model calls tools through JavaScript orchestration instead.
One script can run independent lookups together, chain dependent operations, and return a concise result instead of pages of output. Less back-and-forth is the goal—not a guaranteed token saving.
Preserve existing settings and tool selections. Use /reload after changes, or restart the session. Codemode is orchestration, not an extra security boundary.
Your global instructions belong in ~/.pi/agent/AGENTS.md. Ask the agent to append these rules while preserving what is already there.
## Code lookup
Prefer pi-fff: fffind for paths, ffgrep for content.
Results are ranked and capped. Paginate or use rg to confirm exhaustive results.
## Skills
Always use npx skills to manage skills.
Always pass -a pi when adding skills.
Check installed skills for the project's technologies and apply relevant ones.
Review unfamiliar skills before running their scripts.
## Tool orchestration
Use codemode to batch independent calls with Promise.allSettled,
chain dependent calls, and filter large output before returning it.“Install the relevant Astro skills for Pi.” The agent should use npx skills to discover and manage them, with -a pi when adding them. You don’t need to repeat your preference in every project.
npx skills list -a piThe skills CLI uses Node.js/npm. That is separate from Pi-Bolt’s standalone runtime. Skills are instructions; review their source and any scripts they include.
Select the Pi provider, then set its binary path to Pi-Bolt’s executable, not the default pi. Resolve the actual path on the machine where T3 runs:
command -v pi-boltOn Windows, use (Get-Command pi-bolt).Source in PowerShell. Paste the resolved path into T3’s Pi binary setting, then start a fresh Pi session.
MCP connects the agent to external tools. This workflow uses the Pi MCP adapter:
pi-bolt install npm:pi-mcp-adapterRestart, then use the adapter’s /mcp interface to add your server endpoints and complete any authentication. For Astro work, Astro MCP supplies official documentation; Raven MCP supplies design guidance.
/mcp replaces the built-in session integration. Don’t configure both expecting them to merge; follow the documentation for the route you choose.MCP is optional. You can write code with Pi’s file and shell tools alone. Never commit server tokens or paste credentials into a prompt.
Install Pi-Bolt and connect a model first. Then paste this into your agent. It is deliberately explicit about preserving your existing configuration.
Set up my Pi-Bolt workflow. Read my existing configuration first and preserve unrelated settings.
1. Check that pi-bolt is installed. Use pi-bolt, not pi, for all Pi commands.
2. Install npm:@gotgenes/pi-anthropic-auth if I need Anthropic authentication. Let me complete /login; never ask me to paste credentials into chat.
3. Install npm:opensec-pi-fff if it is not already installed. Do not install todo or subagents unless I request them.
4. Merge these settings into ~/.pi/agent/settings.json:
"defaultTools": ["+codemode"]
"codemode": { "mode": "only" }
Preserve existing tool selections and other codemode options.
5. Add to ~/.pi/agent/AGENTS.md: Prefer pi-fff: fffind for file paths and ffgrep for content. Results are ranked and capped; paginate or confirm with rg when exhaustive results matter.
6. Add to that same file: Always use npx skills to manage skills. When adding skills, pass -a pi so they target Pi only. Inspect relevant installed skills and use them automatically.
7. If I use T3 Code, configure its Pi provider to launch the resolved absolute path of pi-bolt, not pi.
8. If I need MCP, inspect the installed version and existing setup first. This workflow uses npm:pi-mcp-adapter. Avoid configuring native MCP and the adapter as competing integrations. Add only the servers I request.
9. Verify the resulting configuration and explain any login or restart I must complete. Do not overwrite existing files wholesale.This is an instruction, not an unattended installer. Provider login and any permission approvals still belong to you.
Know what you’re adding.
The harness runs the session. Extensions add capabilities. Skills add instructions. MCP connects services. Keep those jobs separate.
The runtime
An ahead-of-time compiled build of Pi. It runs your agent, tools and sessions. The model still does the reasoning; a faster executable is not a smarter model.
Provider access
The @gotgenes/pi-anthropic-auth extension adds Anthropic authentication support. Install it when using that provider, then complete its login flow. It does not make model usage free.
Code discovery
Fast, git-aware lookup: fffind locates paths and ffgrep searches their contents. Ranked results keep common lookups focused; they are not an exhaustive inventory.
Tool orchestration
Lets the model write small JavaScript scripts that call tools. Batch independent work and return just the useful results. “Only” changes tool exposure, not the tools’ underlying permissions.
Task knowledge
Reusable instructions loaded for relevant work, such as Astro, design or deployment. They guide the agent; they are not model training or an MCP connection.
External tools
Connects Pi to Model Context Protocol servers. This setup uses pi-mcp-adapter. Current Pi also has native MCP; choose one route and follow that route’s configuration.
Framework reference
Searches official Astro documentation so the agent can check current APIs and deployment guidance instead of guessing. Used to build this guide.
Design guidance
Provides design principles, patterns and review tools. Used here for clear, scannable onboarding content. Guidance helps judgment; it does not replace testing.
Your workspace
A UI and orchestration layer that can run Pi as a provider. Point its Pi binary setting to pi-bolt. T3 is optional: Pi-Bolt also works directly in your terminal.
Publishing
Hosts this Astro site as static assets at pi.anazhd.com, under the Worker name pi-onboard. No database, paid AI endpoint or server-rendering adapter is needed for the guide.
For the skeptics
This guide was built with Astro, informed by Astro MCP and Raven MCP, and prepared for Cloudflare Workers. The useful test is a working result—not how many tools were installed.
To compare efficiency, keep the task, model, reasoning level and permissions fixed. Record input, output and cache tokens separately, along with elapsed time and whether the result passed testing.
Runtime speed ≠ model-token efficiency. Compilation can reduce local overhead. Token consumption depends on prompts, context, tool output and model behavior. One run is an observation, not a controlled benchmark.
Read the upstream runtime benchmarks