Merged
Conversation
Contributor
Author
|
realizing that starting pre v0.4.0 wasn't such a great idea :D brb |
ab2221b to
ee39fdb
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive PI (https://pi.dev/) integration to Smithers as a workflow CLI backend. The implementation follows the existing CLI agent patterns established by ClaudeCodeAgent, CodexAgent, and GeminiAgent, while adding PI-specific features like RPC mode with extension UI callbacks.
Changes:
- Adds
PiAgentclass that wraps the PI CLI with support for text, json, and RPC modes - Implements RPC mode with bidirectional JSON event streaming and extension UI request handling
- Adds comprehensive unit tests with fake PI process mocks
- Adds integration test script for manual verification with real PI installation
- Updates documentation with PI-specific guides and support matrix
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
src/agents/cli.ts |
Adds PiAgent class, PiExtensionUiRequest/Response types, and runRpcCommand function for RPC mode support |
tests/pi-support.test.ts |
Comprehensive unit tests covering CLI argument building, RPC mode, extension UI callbacks, and error handling |
scripts/test-pi-integration.sh |
Manual integration test script that validates PI agent with real PI CLI and moonshot/kimi provider |
docs/integrations/cli-agents.mdx |
Updates CLI agents documentation to include PiAgent with full option reference |
docs/integrations/pi-integration.mdx |
New guide explaining PI + Smithers integration patterns and use cases |
docs/integrations/pi-support-matrix.mdx |
Documents supported PI features and known limitations |
docs/integrations/pi-human-verification-checklist.mdx |
Manual testing checklist for PI integration validation |
docs/docs.json |
Adds new PI documentation pages to the docs navigation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
dde9058 to
48b05dc
Compare
…id characters - Remove invalid `\\` characters at start of runRpcCommand and test import - Add missing createInterface import from node:readline - Add PiAgentOptions, PiExtensionUiRequest, PiExtensionUiResponse, RunRpcCommandOptions types - Implement PiAgent class with full CLI flag surface, text/json/rpc mode support - Fix buildCommand return type and test type narrowing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds https://pi.dev/ support to Smithers
Here is the spec used for development with codex-5.3 and codex-5.2 as well as manual verification using Smithers myself with Pi + scripts/test-pi-integration.sh (you'll need to have the pi binary installed and pi-mono repo checkedout locally)