Devotd Github
NewCoding agents

michaelkinsy/pig v0.5.3 — The Pi Coding Agent Ported to Go

PiG is the repository that ports the TypeScript-based terminal coding agent Pi to Go and verifies how closely its behavior matches the original.

Repositorymichaelkinsy/pig ↗

PiG is the repository that ports the TypeScript-based terminal coding agent Pi to Go and verifies how closely its behavior matches the original.

GitHub description: 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.

stars
★ 742
Forks
56
Language
Go
License
MIT
Latest release
v0.5.3
Read original source ↗View on GitHub ↗

The latest release of michaelkinsy/pig is v0.5.3. PiG (Pi in Go) is the repository that ports the TypeScript-based terminal coding agent Pi to Go. It is a port that takes the original's behavior as its baseline, not an effort to design a separate new agent. The provided materials do not list what changed in v0.5.3, so the specific changes in this release cannot be confirmed. The source is the repository's GitHub materials.

The core of this project is checking how closely the Go implementation behaves the same way as the original. Of the 379 portable items, 355 have completed behavior verification, and all 617 upstream tests have been ported as well. PiG provides a binary that runs without Node.js, and it states that Pi's TypeScript extensions can run unmodified. It also documents the ability to write extensions in Go, Rust, and Python, and to bundle extensions, skills, and prompts into an agent called Piglet or to build them as standalone executables.

That said, not all portable items are complete. The materials separately record 57 items that are out of scope for porting, 102 partially ported items, and 12 items not yet started. Revealing the porting scope and the remaining work is useful, but this repository's technical novelty lies in porting and verifying the original behavior in Go rather than in designing a new agent.