@pb33f/printing-press
v0.0.27
Published
Installable npm wrapper for the pb33f printing-press CLI
Readme
printing-press: Agentic-first OpenAPI and AsyncAPI documentation
printing-press turns OpenAPI and AsyncAPI contracts into beautiful, fast, portable API documentation for humans and agents.
- Works 100% offline. Open the generated docs straight from disk, zip them, or share them as an archive
- Publish to any static host (GitHub Pages, S3, Netlify, Cloudflare Pages, a CDN)
- AI and agent output built in.
AGENTS.md,llms.txt, per-operation and per-model markdown, plus JSON artifacts - API catalogs built from directories of OpenAPI and AsyncAPI specs, with multi-version awareness
- Integrated diagnostics via vacuum reports rendered inline with the docs
- Mermaid / UML class diagrams auto-generated for complex schemas
Come chat with us
Need help? Have a question? Want to share your work? Join our discord and come say hi!
Documentation
See all the documentation at https://pb33f.io/printing-press/
- About printing-press
- Quick start
- Installing
- Rendering modes
- Navigation
- Agentic AI
- UML & class diagrams
- Diagnostics mode
- API catalog
- Configuring
- Generated outputs
Install
Install using curl
curl -fsSL https://pb33f.io/printing-press/install.sh | shFor CI environments, set GITHUB_TOKEN to avoid GitHub API rate limits:
GITHUB_TOKEN="${GITHUB_TOKEN}" curl -fsSL https://pb33f.io/printing-press/install.sh | shInstall using npm
npm i -g @pb33f/printing-pressThe npm package is the most convenient install path for Windows. Requires Node 20 or newer.
Install using Homebrew
brew install pb33f/taps/printing-pressInstall using Go
go install github.com/pb33f/printing-press@latestGo names the binary printing-press because it derives command names from the module path. For every other install method the binary is ppress.
Install using Docker
Docker images are published to both Docker Hub and GitHub Container Registry:
docker run --rm pb33f/printing-press:latest version
docker run --rm ghcr.io/pb33f/printing-press:latest versionRender docs from the current directory:
docker run --rm -v "$PWD:/work" -w /work pb33f/printing-press:latest ./openapi.yaml
docker run --rm -v "$PWD:/work" -w /work ghcr.io/pb33f/printing-press:latest ./openapi.yamlSee the installing docs for the full Docker recipes (read-only mounts, serving, port mapping, Linux user mapping).
Quick start
Step 1: Install ppress
curl -fsSL https://pb33f.io/printing-press/install.sh | shStep 2: Grab the sample train-travel spec
curl -o train-travel.yaml https://api.pb33f.io/bootstrap/train-travelStep 3: Print!
ppress ./train-travel.yamlOpen api-docs/index.html in your browser and you have static, offline OpenAPI or AsyncAPI docs with no server running.
The source API contract is not exposed by default. Set includeSpec: true in printing-press.yaml or pass --include-spec to copy it into the generated site and link source locations. Set includeSpec: false, or pass --include-spec=false to override an enabled config value, to keep the contract out of the rendered output.
To preview the published (web-hosted) layout locally, use --serve:
ppress --serve --output ./api-docs ./train-travel.yamlThen open http://127.0.0.1:9090.
Read the full docs at https://pb33f.io/printing-press/
printing-press is a product of Princess Beef Heavy Industries, LLC.
