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 を参照してください。

詳細情報


結論: PiG は、元の Pi と同じ AI 駆動のターミナルコーディングアシスタント体験を提供しますが、スクリプト、npm、go install でインストールでき、複数の言語で拡張できる、高速で単一バイナリの Go プログラムとして提供されます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト