DocPull CLI recipes
August 20, 2026 ยท View on GitHub
These examples cover the supported release surface: context dependencies, v3 pack contracts, validation/preparation, exports, Context CI, document parsing, OpenAPI packs, explicit rendering, and monitors.
Project Context
docpull init stripe-docs
docpull add stripe react postgres
docpull install
docpull sync
docpull deps
docpull diff
docpull review
docpull export context-pack --target codex
Pack Contract
docpull https://docs.example.com -o packs/docs
docpull pack validate packs/docs --level raw
docpull pack prepare packs/docs --eval-grade
docpull pack validate packs/docs --level eval
docpull export packs/docs --format openai-vector-jsonl -o exports/openai.jsonl
Local Inputs
docpull parse ./handbook.pdf -o packs/handbook --backend auto
docpull openapi-pack ./openapi.json -o packs/api
docpull feed-pack ./feed.xml -o packs/feed
docpull paper-pack ./paper.md arxiv:1706.03762 -o packs/papers
docpull repo-pack psf/requests -o packs/repo
docpull package-pack pypi:requests -o packs/package
docpull standards-pack rfc:9110 -o packs/standard
docpull dataset-pack ./metrics.csv -o packs/dataset
docpull transcript-pack ./meeting.vtt -o packs/transcript
Context CI
docpull ci --prepare
Minimal GitHub Actions step:
- run: pip install docpull
- run: docpull ci --prepare
Rendering
Rendering is off by default. Explicit rendering uses the canonical
agent-browser --json contract locally and inside supported cloud sandboxes.
docpull render https://example.com/app --runtime local --check
DOCPULL_RENDER_TRUSTED_BROWSER_TARGETS=1 \
docpull render https://example.com/app --runtime local -o rendered
Cloud rendering remains explicit:
DOCPULL_RENDER_TRUSTED_BROWSER_TARGETS=1 \
docpull render https://example.com/app --runtime e2b --budget 1
Release Smoke
Run the real-data free/local surface smoke before cutting a release candidate:
python scripts/release_a_plus_check.py --strict
python scripts/real_feature_smoke.py --json --full-mcp --strict-ci --auth-matrix --monitor-soak-minutes 10
release_a_plus_check.py --strict requires synchronized generated metadata and
a clean git status --short; run it from the exact tree you intend to tag.
Cloud/keyed lanes stay explicit:
python scripts/real_feature_smoke.py --include-cloud --json
Monitors
docpull monitor init
docpull monitor list
docpull monitor run
docpull monitor report