pi-mono/packages/coding-agent/examples
nathyong 462b3d21e3
fix(coding-agent): do not inject bunfs script path into subagent prompts (#3002)
The presence of `process.argv[1]` in the current invocation does not
imply that the current `pi` process is being invoked as a script.
Specifically, in the case of a bun compiled binary, `process.argv[1]`
will be the virtual path `/$bunfs/root/pi`, which is not a real file on
the filesystem.  This causes the subagent extension to inject this path
into the child `pi` invocation, which is interpreted as part of the
prompt, which confuses the subagent.

This change uses the script only if it is not a bunfs virtual script

Co-authored-by: nathyong <nathyong@noreply.github.com>
2026-04-14 20:33:05 +02:00
..
extensions fix(coding-agent): do not inject bunfs script path into subagent prompts (#3002) 2026-04-14 20:33:05 +02:00
sdk refactor(coding-agent): replace AgentSessionRuntimeHost with closure-based AgentSessionRuntime 2026-04-03 20:14:12 +02:00
README.md refactor: rename custom provider examples 2026-01-25 00:18:13 +01:00
rpc-extension-ui.ts docs(coding-agent): document extension UI protocol in RPC docs, add examples (#1144) 2026-02-01 13:25:18 +01:00

Examples

Example code for pi-coding-agent SDK and extensions.

Directories

sdk/

Programmatic usage via createAgentSession(). Shows how to customize models, prompts, tools, extensions, and session management.

extensions/

Example extensions demonstrating:

  • Lifecycle event handlers (tool interception, safety gates, context modifications)
  • Custom tools (todo lists, questions, subagents, output truncation)
  • Commands and keyboard shortcuts
  • Custom UI (footers, headers, editors, overlays)
  • Git integration (checkpoints, auto-commit)
  • System prompt modifications and custom compaction
  • External integrations (SSH, file watchers, system theme sync)
  • Custom providers (Anthropic with custom streaming, GitLab Duo)

Documentation