Skip to main content
Install with pip install pdfhell, or prefix commands with uvx. Every subcommand is non-interactive and exposes its current options through --help.

pdfhell list-traps

Print the 17 registered trap-family names, one per line.

pdfhell discover

Emit the capability catalog as JSON for agents and automation.

pdfhell make

Generate one PDF and its case JSON.
--trap and --seed identify the deterministic case. --out defaults to ./cases.

pdfhell build

Materialize a named suite without running a model.
Available suites are smoke, mini, mini-v2, mini-v3, mini-v4, and mini-v4-sample.

pdfhell run

Pixels-only mode requires pip install 'pdfhell[pixels]'. The report records the modality, DPI, and pdfium build so it cannot be mistaken for a PDF-input run. Provider credentials come from ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY, according to the model prefix.

pdfhell report

Print the summary and per-family breakdown from an existing run JSON without calling the provider again.
The report surfaces API errors separately. Treat a high error rate as an invalid experiment, not as model failure.

Exit behavior

  • Successful generation/reporting exits 0.
  • run exits nonzero when --fail-threshold is set and the measured pass rate is lower.
  • Invalid flags, missing credentials, malformed cases, and provider failures produce errors rather than a passing gate.
Use pdfhell <command> --help as the authoritative installed-version reference.