MichaelKinsy/PiG
PiG (Pi in Go) is a faithful Go port of upstream Pi, the TypeScript codebase behind the Pi coding agent. It is a parity-bound translation, not a rewrite: upstream behavior is the contract, and Go is the implementation language.
PiG – Pi コーディングエージェントの Go ネイティブ版
概要
- PiG は、Pi ターミナルベースのコーディングアシスタントを Go で書き直し、単一のネイティブバイナリにコンパイルしたものです。元の Pi(バージョン 0.87.1 に固定)との動作互換性を目指し、Node.js ランタイムなしでエージェントを実行できるようにします。
- Pi(TypeScript)で動作する拡張機能はそのまま実行でき、開発者は Go、Rust、Python で新しい拡張機能を書くこともできます。
重要性
- 元の Pi は、ターミナル上で動作する軽量な AI 搭載コーディングエージェントで、質問への回答、コード生成、ツール実行が可能です。PiG は、同じ体験をより速く起動し、サーバーや CI 環境へのインストールを容易にし、単一の実行ファイルとしてパッケージ化します。
- 上流の Pi ソースとの厳密な互換性マップを維持することで、PiG は Go の静的バイナリを好むユーザーや、エージェントを他の Go プログラムに組み込む必要があるユーザーにとって、ドロップイン代替品として機能します。
入手方法
| プラットフォーム | インストール方法 |
|---|---|
| macOS / Linux | curl -fsSL https://pi-in-go.dev/install.sh | sh |
| Windows (PowerShell) | `irm https://pi-in-go.dev/install.ps1 |
| 任意のプラットフォーム (Node) | npm install -g @pi-in-go/pig |
| 任意のプラットフォーム (Go) | go install github.com/MichaelKinsy/PiG/cmd/pig@latest |
| 手動 | GitHub Releases ページからリリースアーカイブをダウンロードするか、ソースからビルド(Go 1.27.1 が必要)。 |
クイックスタート
cd /path/to/your/project
pig # 対話型エージェントを起動
/pig login # OpenAI(または他の)API キーを提供
# これで、エージェントにコードの作成やファイルの説明などを依頼できます。
/login コマンドはデフォルトでシークレットをマスクします。/settings でマスクを無効にできます。
主要な概念
- Piglet – 拡張機能、スキル、プロンプトを YAML で記述した構成で、独自の実行ファイルにバンドルできます。リポジトリには、デフォルトの PiG Standard piglet(
piglets/standard/pig-standard.yaml)が同梱されています。 - 拡張 SDK – Go、Rust、Python、TypeScript で拡張機能を書くための公開パッケージ。
pig extension init <dir>で新しい拡張機能をスキャフォールドします。 - 互換性レイヤー – リポジトリには、Go コードが元の Pi ソースと同様に動作することを検証する完全なマッピング(
PORT_MAP.md)とテストカバレッジ(parity/coverage.md)が含まれています。相違点はDIVERGENCES.mdに記録されています。 - セキュリティ境界 – PiG は呼び出し元ユーザーの権限で実行され、モデル出力や実行ツールをサンドボックス化しません。信頼できない拡張機能は、コンテナや VM で隔離する必要があります。
プロジェクト構成(高レベル)
agent/– コアエージェントループとセッション処理。ai/– プロバイダーアダプター、モデルカタログ、認証ヘルパー。coding/– コーディングエージェント機能、拡張コントラクト、および「Piglet」パッケージング用の SDK。tui/– ターミナル UI コンポーネント。extensions/– Go、Rust、Python、TypeScript 用の言語固有 SDK。tests/– 上流の Pi に対する統合および互換性テスト。docs/– 公開ドキュメントサイト(https://pi-in-go.dev でホスト)。
開発と検証
make checkはメインテストゲートを実行します。make verifyは互換性カバレッジを更新します。make upstream-mirrorは、PiG が固定されている正確な Pi ソースを取得します。- CI バッジは、継続的インテグレーション、CodeQL セキュリティスキャン、OpenSSF スコアカード、ベストプラクティス準拠を示します。
ライセンスとガバナンス
- MIT ライセンス(
LICENSEを参照)。 - プロジェクトはオープンガバナンスモデルに従います(
GOVERNANCE.mdとMAINTAINERS.mdを参照)。 - 貢献は歓迎します。プロセスについては
CONTRIBUTING.mdを参照してください。
詳細情報
- 完全なドキュメント: https://pi-in-go.dev/docs/latest
- 上流の Pi リファレンス: https://github.com/earendil-works/pi
- コミュニティ: Discord 招待、Reddit コミュニティ、専用の X(Twitter)アカウント。
結論: PiG は、元の Pi と同じ AI 駆動のターミナルコーディングアシスタント体験を提供しますが、スクリプト、npm、go install でインストールでき、複数の言語で拡張できる、高速で単一バイナリの Go プログラムとして提供されます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト