A minimal AI coding agent for the terminal. Chat with an LLM and give it tools to read, edit, search, and inspect your codebase.
LM Studio, OpenCode Zen, OpenCode Go, and GitHub Copilot
Read, write, and list files, run shell commands, search code, check git status, and fetch web pages
Load reusable prompt-engineering skills from markdown files
Multi-turn conversations with session management and PRD export
Interactive model selection on startup
Published as a container image to Docker Hub and GHCR
One-command installation that automatically detects your platform, downloads the latest release, and installs it to your chosen directory.
curl -fsSL https://christianhelle.com/puny/install | bash
irm https://christianhelle.com/puny/install.ps1 | iex
INSTALL_DIR=$HOME/.local/bin curl -fsSL https://christianhelle.com/puny/install | bash
$install = irm https://christianhelle.com/puny/install.ps1
& ([scriptblock]::Create($install)) -InstallDir "$env:USERPROFILE\bin"
Each session is identified by a UUID. A new session is created on every start and /reset. Use /sessions to list saved sessions and /prune to clean up old ones. In /plan mode, once you confirm the plan is ready, the model saves the final PRD as both plan.md and plan.html to the session folder via the save_prd tool.
Start LM Studio, load a model with tool-calling support, then:
puny
puny --provider opencode --api-key YOUR_API_KEY
puny --provider opencode-go --api-key YOUR_API_KEY
puny --provider copilot