surfacer
Generate the interface instead of writing it.
Hand-written CLIs drift. --json lands on some commands, a banner breaks the parse, a subcommand never reaches --help. Every gap costs an agent a retry.
surfacer maps a surface once, then generates every interface from that one descriptor. When the surface moves, you re-run recon.
One IR, many interfaces
11 ops
news-ycombinator-com - Hacker News
USAGE
news-ycombinator-com <command> [key=value ...]
COMMANDS
ask ask
formatdoc formatdoc
front front
index-html index html
jobs jobs
newcomments newcomments
newest newest
news news
show show
threads threads
id=Hunter17
user user
id=Hunter17
FLAGS
--json Print the raw response body
--help Show this helpRead live from examples/.
Install
curl -fsSL https://surfacer.dev/install.sh | shNo release yet. Build from source: cargo install --git https://github.com/crafter-station/surfacer surfacer