mirror of
https://github.com/earendil-works/pi.git
synced 2026-06-18 15:54:04 +08:00
462b3d21e3
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>
462b3d21e3
ยท
2026-04-14 20:33:05 +02:00
History
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)