AI GitHub
Pi for customizing a coding-agent harness
Explore a terminal coding agent and the libraries behind it.
Key Takeaways
- The monorepo exposes packages for model access, the terminal interface and the coding agent.
- Start with the terminal agent package or the library layer you intend to embed.
- Use a simple extension in a disposable checkout, then compare how it changes the tool calls available to a new session.
- Extensions run within the agent's environment.
How it works
The monorepo exposes packages for model access, the terminal interface and the coding agent. Extensions give developers a way to adapt the harness and its tools for a particular workflow.
What you need
Start with the terminal agent package or the library layer you intend to embed. Keep extensions and model-provider settings small enough to reproduce in another checkout.
What to try first
Use a simple extension in a disposable checkout, then compare how it changes the tool calls available to a new session. Keep the base task small enough to debug without the extension.
Add an extension command that only emits diagnostic output. It gives you an inexpensive way to learn how extension state and session state interact.
Where to look for failures
Extensions run within the agent's environment. Review their code and permissions before using them, and track which customizations a project depends on when sharing configuration.
Related Franklin pages
Compare how each agent exposes tools and where extensions execute. Start from an empty extension set and add one capability at a time so access stays understandable.
- Give a coding agent access to editor context, workspace files and approved tools. Cline for agent-assisted development in an editor
- Run a terminal coding assistant with project context and connected tools. Crush for terminal coding with configurable providers
For a library of development workflows that can complement a coding agent, see Franklin’s Superpowers profile. Superpowers
Project documentation
Try it for your workflow
Explore the project’s documentation for setup and usage, or save this page to a collection for later.
Read the project documentation ↗