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.