About this project
CLI Printing Press is a generator that produces command-line tools and MCP servers for arbitrary APIs or websites, with a strong emphasis on being usable by AI agents. It is written in Go and distributed as a binary plus a set of agent skills (slash commands) that drive the binary.
What it does
- Reads official API documentation, studies popular community CLIs and MCP servers, and can also reverse-engineer undocumented APIs by capturing browser traffic.
- Accepts an OpenAPI spec, a website URL, or a HAR file as input.
- Produces two binaries per API: a Cobra-based CLI (`<api>-pp-cli`) and an MCP server (`<api>-pp-mcp`), sharing the same client, store, and auth code.
- Generates research documents, verification proofs, and a quality score alongside the code.
Key design points
- Local-first data layer: domain-specific SQLite tables, FTS5 full-text search, incremental sync with cursor tracking, and a `sql` command for direct queries. Commands like `sync`, `search`, and `sql` work offline.
- Compound commands: once data is local, commands such as `stale`, `health`, `bottleneck`, and `reconcile` can join across resources and analyze history.
- Agent-native output: human-readable tables in a terminal, automatic JSON when piped, `--compact` for reduced token output, typed exit codes (0/2/3/4/5/7), `--dry-run`, `--select`, `--csv`, `--stdin`, and other flags on every command.
- Dual interface: the CLI targets shell-based agents, while the MCP server targets IDE integrations such as Claude Desktop and Cursor.
- Verification: scorecard, dogfooding, proof-of-behavior, and optional live API smoke tests are used to catch hallucinated paths, dead flags, and auth mismatches.
Workflow
- Installation is via a shell script that runs `go install` for the generator and installs the skills through the `skills` npm CLI. Claude Code is the default and best-tested target; Codex is supported with an `--agent codex` flag.
- Inside an agent session, `/printing-press <app-name>` starts a generation run. Additional commands include `/printing-press-reprint`, `/printing-press-polish`, `/printing-press-publish`, and `/printing-press-amend`.
- The pipeline runs through phases: resolve/reuse, research brief, ecosystem absorb gate, browser-sniff gate, generate, build the GOAT, shipcheck, and optional live smoke test. A longer 9-phase managed pipeline is documented for users who want to stop, resume, or re-run individual steps.
- Output is organized under `~/printing-press/` with separate directories for active runs, published CLIs, and archived manuscripts.
Notable concepts
- "Non-Obvious Insight" (NOI): a one-sentence reframing of what an API is really useful for, used as the creative basis for generated commands.
- "Absorb and transcend": cataloging features from existing tools and MCP servers, matching them, then adding compound capabilities enabled by local data.
- A "creativity ladder" from simple endpoint wrappers up to behavioral insight commands.
Requirements and caveats
- Requires Go 1.26.6 or newer, Node/npm for `npx`, and a skills-supported agent (Claude Code tested).
- The README makes performance and quality claims (for example, token savings and speed) that are the project's own assertions rather than independently verified benchmarks.
- The repository no longer carries a source catalog; published CLIs are maintained in a separate library repository.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.