VAEN – Package and import portable AI coding-agent Harnesses
OCI-backed .agent archives beat zip files for sharing agent setups.

Parsing JSON and managing agent state in pure awk is absolute terminal wizardry.
DevOps engineers and terminal power users
Aider · OpenInterpreter · Swe-agent
First cut was 6 KB of shell. Great for one-shots, unusable interactively. I was shocked it actually worked.
Started building up -- adding features — but with a self-imposed rule: no new dependencies, and sub 500 LOC. This thing had to be truly portable. Just sh, curl, awk. System primitives only.
Which means I did some genuinely disgusting things in awk, including JSON parsing and the OpenAI Responses tool loop with reasoning items carried across turns.
It's now ~400 lines. In the box: Anthropic + OpenAI, 7 tools (bash, read, write, edit, grep, find, ls), REPL, auto-compaction, checkpoint/resume, pipe mode, 90 no-API tests. Not in the box: TUI, streaming, images, OAuth, Windows, dignity.
Two honest things:
1. I stole/modified the system prompt and the architecture. Pi/Claude/Codex wrote the awk. I cannot read most of this code. This wasn't possible for me a year ago.
2. Heavily inspired by Pi (pi.dev) — same 7-tool surface, same exact-text edit model. Credit where it's due. Pi is awesome -- you should probably use them.
The agent loop itself is tiny. Almost everything else in a "real" agent CLI is DX and hardening. You can probably build your own harness exactly how you like it. Mario Zechner's AI Engineer talk on taking back control of your tools nudged me here.
The name is because it's a .sh file. The other thing it sounds like is, regrettably, also accurate.
OCI-backed .agent archives beat zip files for sharing agent setups.
Visualizes Claude Code rate limits locally without API calls or Node.js dependencies.
Color-coded burndown for Claude Code rate limits beats guessing mid-session.
Self-bootstrapping agent writes its own improvements in 100 lines of TypeScript.
CLI for managing shell aliases, but editing .zshrc directly is usually faster.
Portable .agents spec keeps skills separate from specific IDE plugins.