From programmatic-doc-generation
Batch-render N PDFs from a directory of JSON data files against a Typst template. Use when the user wants to render many documents at once (e.g. a month of invoices, a batch of certificates) using a Typst template they already have or just scaffolded.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin programmatic-doc-generationThis skill uses the workspace's default tool permissions.
Render N PDFs in one pass: one Typst template + a directory of JSON payloads → one PDF per payload.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Render N PDFs in one pass: one Typst template + a directory of JSON payloads → one PDF per payload.
.typ file. If the user just ran new-typst-template, default to that output.*.json files, one per document.<data-dir>/../out/.typst compile processes to run in parallel. Default 4.typst is on PATH. If not, instruct install (cargo install typst-cli or distro package). Do not auto-install.#let data = json("data.json") pattern. If it hardcodes paths, fix or warn.For each <data-dir>/*.json:
data.json next to the template (or use Typst's --input flag if the template supports sys.inputs).typst compile <template.typ> <out-dir>/<basename>.pdf.Run with bounded parallelism (e.g. xargs -P or GNU parallel). Don't shell-out one process per doc serially for big batches.
After the run:
Write a render-report.json next to the output directory with the same data so downstream automation can consume it.
Template, data, and output paths are user-owned — they live wherever the user keeps them. The plugin only persists pointers and run history under $CLAUDE_USER_DATA_ROOT/state/last-batch.json (resolve via ${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/programmatic-doc-generation/).