-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Background
Recent work in the Copilot SDK has focused on bundling the GitHub Copilot CLI binary to simplify distribution and eliminate manual installation steps:
- Go SDK bundling support: PR #414 by Quim Muntal (merged Feb 12, 2026) introduces embedding the CLI binary directly in Go applications. The PR describes a mechanism for embedding, unpacking, versioning, file locking, and hash validation.
- Python wheel fix: PR #419 by Steve Sanderson (Feb 10, 2026) ensures the bundled CLI binary has executable permissions.
- Cross-platform bundling: The v0.1.23 release notes highlight "Bundling" (PR #382) as a key feature across SDKs.
Commit references:
Proposal
Adopt the CLI bundling approach for Planeteer's Node.js/TypeScript distribution. This would eliminate the current requirement for users to separately install @github/copilot CLI and authenticate before using Planeteer.
Implementation approach:
- Investigate if the TypeScript/JavaScript SDK supports bundling (or if it requires custom packaging)
- If supported: Add bundling configuration to
package.jsonbuild scripts - If not yet supported: Create a postinstall script that downloads the correct CLI binary for the user's platform (similar to Electron's approach)
- Update
src/services/copilot.tsto check for bundled CLI first, falling back to system-installed CLI - Handle auto-updates: Check CLI version on startup and download newer versions if available
- Update README prerequisites to remove the manual CLI installation step
Benefit
- Zero-config experience: Users can run
npm install -g planeteer && planeteerwithout manual CLI setup - Version consistency: Bundling ensures Planeteer uses a CLI version that's been tested with the SDK version
- Distribution simplicity: Single npm package contains everything needed
- Reduced support burden: Eliminates "CLI not found" errors and authentication confusion
- Onboarding speed: New users can start using Planeteer in seconds, not minutes
Acceptance Criteria
- Bundled CLI binary included in npm package for Linux, macOS, and Windows
-
src/services/copilot.tsdetects bundled CLI location and uses it by default - Fallback logic: if bundled CLI missing/corrupt, attempt to use system-installed CLI
- Version check on startup compares bundled CLI version with latest available
- Auto-update mechanism downloads newer CLI versions to user's home directory cache
- File locking prevents concurrent update attempts (if multiple Planeteer instances run)
- Hash validation ensures downloaded binaries aren't corrupted
- README prerequisites section updated to reflect zero-config installation
- Build script generates platform-specific packages or uses universal bundling approach
- Integration test verifies bundled CLI works on fresh system without pre-installed CLI
AI generated by Weekly Enhancement Suggestions
Reactions are currently unavailable