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 프로그램입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트