satzstrom

CLI

Create a project, preview your document, check its layout, and save the PDF.

Usage
satzstrom <command> [options]satzstrom --versionsatzstrom --help

init

Creates a starter document without required props and installs its npm dependencies.

Signature
satzstrom init <directoryPath> [--example <name>]
Parameter
NameTypeDescription
directoryPathpathNew project directory.
--example?nameOptional gallery example, such as invoice. Copies editable files and installs dependencies.
Example
satzstrom init my-documentsatzstrom dev my-document/document.tsx

add

Adds a document, optionally from a gallery example, to a prepared TypeScript project.

Signature
satzstrom add <documentPath> [--example <name>]
Parameter
NameTypeDescription
documentPath.tsx pathNew file whose parent directory already exists.
--example?nameOptional gallery example, such as invoice.
Example
satzstrom add documents/monthly-report.tsx

dev

Starts the paginated live preview on 127.0.0.1 and typesets again automatically after changes.

Signature
satzstrom dev <documentPath> [--args <json> | --data <dataPath>] [--port 0] [--timeout 30000]
Parameter
NameTypeDescription
documentPathpathExact .tsx document file.
--args?JSON objectInline JSON object passed directly as component props; alternative to --data.
--data?pathJSON file with an object passed directly as component props; alternative to --args.
--timeout?millisecondsPositive render timeout; 30000 by default.
--port?0–65535Local port; 0 chooses an available port.
Example
satzstrom dev documents/report.tsx --data report.json --port 4173

check

Checks arguments, typesetting, and diagnostics without writing the final PDF.

Signature
satzstrom check <documentPath> [--args <json> | --data <dataPath>]  [--strict] [--debug-layout debug.pdf] [--overwrite]  [--pdfa 2a] [--pdfua 1] [--pdf-timestamp <ISO-8601|omit>]  [--timeout 30000]
Parameter
NameTypeDescription
documentPathpathExact .tsx document file.
--args?JSON objectInline JSON object passed directly as component props; alternative to --data.
--data?pathJSON file with an object passed directly as component props; alternative to --args.
--timeout?millisecondsPositive render timeout; 30000 by default.
--strict?FlagTreats layout warnings as errors.
--debug-layout?pathAlso writes a PDF with layout marks.
--pdfa?2aSelects PDF/A-2a output and checks its input requirements.
--pdfua?1Selects PDF/UA-1 output and checks its input requirements.
--pdf-timestamp?ISO-8601 | omitSets both PDF dates, or omits them for reproducible output; current render time by default.
--overwrite?FlagReplaces an existing debug PDF.
Example
satzstrom check documents/report.tsx --strict

inspect

Returns selected pages as PNG files, visible text, and optional layout explanations.

Signature
satzstrom inspect <documentPath> [--args <json> | --data <dataPath>]  [--start-page 0] [--end-page -1] --images|--text|--layout  [--out <directoryPath>] [--scale 1] [--debug] [--timeout 30000]
Parameter
NameTypeDescription
documentPathpathExact .tsx document file.
--args?JSON objectInline JSON object passed directly as component props; alternative to --data.
--data?pathJSON file with an object passed directly as component props; alternative to --args.
--timeout?millisecondsPositive render timeout; 30000 by default.
--start-page?integerFirst page of the inclusive one-based range; 0 with end-page -1 selects all pages.
--end-page?integerLast page of the inclusive one-based range; -1 with start-page 0 selects all pages.
--images?FlagWrites PNGs and returns their absolute paths.
--text?FlagReturns the visible text of every selected page.
--layout?booleanIncludes 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 pathDestination directory for PNGs.
--scale?>0–4Pixel density of the PNGs.
--debug?FlagAdds layout marks to PNGs.
Example
satzstrom inspect documents/report.tsx --start-page 2 --end-page 4 --images --text

render

Typesets the document and writes the final PDF.

Signature
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]
Parameter
NameTypeDescription
documentPathpathExact .tsx document file.
--args?JSON objectInline JSON object passed directly as component props; alternative to --data.
--data?pathJSON file with an object passed directly as component props; alternative to --args.
--timeout?millisecondsPositive render timeout; 30000 by default.
--out?PDF pathPDF destination; the document name with .pdf by default.
--overwrite?FlagReplaces existing output PDFs.
--strict?FlagTreats layout warnings as errors.
--debug-layout?pathAlso writes a PDF with layout marks.
--pdfa?2aSelects PDF/A-2a output and checks its input requirements.
--pdfua?1Selects PDF/UA-1 output and checks its input requirements.
--pdf-timestamp?ISO-8601 | omitSets both PDF dates, or omits them for reproducible output; current render time by default.
Example
satzstrom render documents/report.tsx --out dist/report.pdf --strict

setup

Downloads the pinned Chromium version and checks its integrity.

Signature
satzstrom setup

doctor

Checks the CLI runtime, Chromium, PDF tooling, and project dependencies.

Signature
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.

Signature
satzstrom mcp