Mario Zechner's Minimal Coding Agent

Table of content
Mario Zechner's Minimal Coding Agent

Mario Zechner created libGDX, a Java game framework that won a Duke’s Choice Award. He wrote Beginning Android Games and spent 20+ years in R&D and game development. Now he builds AI coding tools.

His pi-coding-agent strips everything out: 4 tools, no permission prompts, no sub-agents, no MCP. It benchmarks competitively against tools with far more code.

Background

PeriodWork
2004-2010Computer graphics research, PhD
2010-2015libGDX development, Beginning Android Games
2015-2024R&D engineering, various companies
2024-presentAI agent tooling (pi-mono)

Zechner lives in Austria and maintains an active blog documenting his experiments with AI coding tools.

Why he built it

Zechner got frustrated with existing agents injecting context “behind your back that isn’t even surfaced in the UI.” He wanted:

Most coding agents fail on all three. They hide system prompts, spawn invisible sub-agents, store sessions in opaque formats.

Four tools

Pi uses four tools:

read   — Read file contents
write  — Write file contents
edit   — Edit file sections
bash   — Execute shell commands

No specialized file operations. The model uses bash for ls, grep, find. Zechner’s take: frontier models have been “RL-trained up the wazoo” and already know what a coding agent needs. Adding more tools wastes context.

His system prompt is under 1,000 tokens. Claude Code’s is much longer.

YOLO mode

Pi runs without permission prompts:

Zechner calls security prompts “security theater.” Once an agent can write and execute code, asking permission for individual operations does nothing. Either you trust the agent or you don’t.

# Install and run
npm install -g @mariozechner/pi-coding-agent
pi

What pi excludes

FeatureWhy
Built-in to-dos“To-do lists generally confuse models more than they help”
Plan modeUse PLAN.md files instead
MCP serversToken overhead. Playwright MCP uses 7-9% of context before you start
Sub-agents“Using a sub-agent mid-session is a sign you didn’t plan ahead”
Background bashUse tmux for better observability
Permission systemSecurity theater

Same logic for each: keep context clean, maintain observability, avoid hidden state.

Session management

Pi lets you branch and resume conversations at any point:

# View session tree
/sessions

# Resume from a specific point
/resume <session-id>

# Branch from current state
/branch

Sessions export to HTML. The /share command uploads to secret GitHub gists. Boris Cherny’s parallel workflow uses git worktrees for similar isolation.

AGENTS.md and skills

Project instructions load from AGENTS.md files:

# AGENTS.md

## Project Context
This is a TypeScript monorepo using pnpm workspaces.

## Conventions
- Use `pnpm` not `npm`
- Tests live in `__tests__` directories
- Run `pnpm check` before committing

AGENTS.md loads hierarchically: global settings, then project overrides. No complex system prompt engineering needed. Compare this to Jesse Vincent’s Superpowers which uses a similar hierarchical skill system.

Skills are on-demand instruction files:

# Load a skill
/skill typescript-strict

# Skills are just markdown files
~/.pi/skills/typescript-strict.md

Multi-provider support

Pi supports 15+ LLM providers:

Switch models mid-conversation:

/model claude-sonnet-4
# or Ctrl+P to cycle

Context transfers when you switch. The agent summarizes and continues with the new model.

The TUI

Most terminal UIs flicker. Pi uses retained-mode TUI with differential rendering, so only changed portions redraw. Zechner built @mariozechner/pi-tui to solve this.

The pi-mono toolkit:

PackagePurpose
pi-aiMulti-provider LLM interface
pi-agent-coreAgent runtime with tool calling
pi-coding-agentThe CLI
pi-tuiFlicker-free terminal UI
pi-web-uiWeb components for chat
pi-momSlack bot
pi-podsvLLM deployment

VibeTunnel

VibeTunnel turns any browser into a terminal:

vibetunnel start
# Access from phone, tablet, anywhere
# https://your-tunnel.vibetunnel.io

The terminal session persists on your machine while you connect from anywhere.

Takeaways

PrincipleHow
Minimal toolset4 tools handle everything
Transparent contextUnder 1000 token system prompt
External statePlans and todos in version-controlled files
No permission theaterTrust the agent or don’t use it
Session branchingResume and fork at any point
Provider agnosticSwitch models mid-conversation

Next: Thorsten Ball’s Agentic Coding Vision

Topics: ai-coding open-source agents automation