satzstrom
CLI
Create a project, preview your document, check its layout, and save the PDF.
satzstrom <command> [options]satzstrom --versionsatzstrom --helpinit
Creates a starter document without required props and installs its npm dependencies.
satzstrom init <directoryPath> [--example <name>]| Name | Type | Description |
|---|---|---|
directoryPath | path | New project directory. |
--example? | name | Optional gallery example, such as invoice. Copies editable files and installs dependencies. |
satzstrom init my-documentsatzstrom dev my-document/document.tsxadd
Adds a document, optionally from a gallery example, to a prepared TypeScript project.
satzstrom add <documentPath> [--example <name>]| Name | Type | Description |
|---|---|---|
documentPath | .tsx path | New file whose parent directory already exists. |
--example? | name | Optional gallery example, such as invoice. |
satzstrom add documents/monthly-report.tsxdev
Starts the paginated live preview on 127.0.0.1 and typesets again automatically after changes.
satzstrom dev <documentPath> [--args <json> | --data <dataPath>] [--port 0] [--timeout 30000]| Name | Type | Description |
|---|---|---|
documentPath | path | Exact .tsx document file. |
--args? | JSON object | Inline JSON object passed directly as component props; alternative to --data. |
--data? | path | JSON file with an object passed directly as component props; alternative to --args. |
--timeout? | milliseconds | Positive render timeout; 30000 by default. |
--port? | 0–65535 | Local port; 0 chooses an available port. |
satzstrom dev documents/report.tsx --data report.json --port 4173check
Checks arguments, typesetting, and diagnostics without writing the final PDF.
satzstrom check <documentPath> [--args <json> | --data <dataPath>] [--strict] [--debug-layout debug.pdf] [--overwrite] [--pdfa 2a] [--pdfua 1] [--pdf-timestamp <ISO-8601|omit>] [--timeout 30000]| Name | Type | Description |
|---|---|---|
documentPath | path | Exact .tsx document file. |
--args? | JSON object | Inline JSON object passed directly as component props; alternative to --data. |
--data? | path | JSON file with an object passed directly as component props; alternative to --args. |
--timeout? | milliseconds | Positive render timeout; 30000 by default. |
--strict? | Flag | Treats layout warnings as errors. |
--debug-layout? | path | Also writes a PDF with layout marks. |
--pdfa? | 2a | Selects PDF/A-2a output and checks its input requirements. |
--pdfua? | 1 | Selects PDF/UA-1 output and checks its input requirements. |
--pdf-timestamp? | ISO-8601 | omit | Sets both PDF dates, or omits them for reproducible output; current render time by default. |
--overwrite? | Flag | Replaces an existing debug PDF. |
satzstrom check documents/report.tsx --strictinspect
Returns selected pages as PNG files, visible text, and optional layout explanations.
satzstrom inspect <documentPath> [--args <json> | --data <dataPath>] [--start-page 0] [--end-page -1] --images|--text|--layout [--out <directoryPath>] [--scale 1] [--debug] [--timeout 30000]| Name | Type | Description |
|---|---|---|
documentPath | path | Exact .tsx document file. |
--args? | JSON object | Inline JSON object passed directly as component props; alternative to --data. |
--data? | path | JSON file with an object passed directly as component props; alternative to --args. |
--timeout? | milliseconds | Positive render timeout; 30000 by default. |
--start-page? | integer | First page of the inclusive one-based range; 0 with end-page -1 selects all pages. |
--end-page? | integer | Last page of the inclusive one-based range; -1 with start-page 0 selects all pages. |
--images? | Flag | Writes PNGs and returns their absolute paths. |
--text? | Flag | Returns the visible text of every selected page. |
--layout? | boolean | Includes revision-bound layout explanations with source locations, margins, break rules and recorded rejected placements in millimetres. Works alone or alongside images and text. |
--out? | directory path | Destination directory for PNGs. |
--scale? | >0–4 | Pixel density of the PNGs. |
--debug? | Flag | Adds layout marks to PNGs. |
satzstrom inspect documents/report.tsx --start-page 2 --end-page 4 --images --textrender
Typesets the document and writes the final PDF.
satzstrom render <documentPath> [--args <json> | --data <dataPath>] [--out <outputPath>] [--overwrite] [--strict] [--debug-layout debug.pdf] [--pdfa 2a] [--pdfua 1] [--pdf-timestamp <ISO-8601|omit>] [--timeout 30000]| Name | Type | Description |
|---|---|---|
documentPath | path | Exact .tsx document file. |
--args? | JSON object | Inline JSON object passed directly as component props; alternative to --data. |
--data? | path | JSON file with an object passed directly as component props; alternative to --args. |
--timeout? | milliseconds | Positive render timeout; 30000 by default. |
--out? | PDF path | PDF destination; the document name with .pdf by default. |
--overwrite? | Flag | Replaces existing output PDFs. |
--strict? | Flag | Treats layout warnings as errors. |
--debug-layout? | path | Also writes a PDF with layout marks. |
--pdfa? | 2a | Selects PDF/A-2a output and checks its input requirements. |
--pdfua? | 1 | Selects PDF/UA-1 output and checks its input requirements. |
--pdf-timestamp? | ISO-8601 | omit | Sets both PDF dates, or omits them for reproducible output; current render time by default. |
satzstrom render documents/report.tsx --out dist/report.pdf --strictsetup
Downloads the pinned Chromium version and checks its integrity.
satzstrom setupdoctor
Checks the CLI runtime, Chromium, PDF tooling, and project dependencies.
satzstrom doctor [documentPath]Reports the running CLI version and the selected project's primitives version. A version difference is informational. PDF output profiles and layout checks are separate from independent PDF conformance validation.
mcp
Starts the local MCP server over stdio with doctor, init, add, check, inspect, and render.
satzstrom mcp