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

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트