# Satzstrom Quickstart

> Agentenfreundliche Markdown-Version von https://satzstrom.com/quickstart.

Satzstrom erzeugt ein eigenständiges React-Projekt, installiert seine Abhängigkeiten und öffnet eine lokale paginierte Vorschau. Die npm-Pakete der 0.1.0 Public Preview sind bis zur ausdrücklichen Release-Freigabe nicht öffentlich verfügbar.

## Neues Projekt

```sh
npm install -g satzstrom
satzstrom init mein-dokument
cd mein-dokument
satzstrom dev
```

- **init** erzeugt alle Projektdateien und installiert die Abhängigkeiten.
- **dev** richtet die gepinnte Browser-Laufzeit bei Bedarf ein und startet die lokale paginierte Vorschau.
- **render** schreibt ohne weiteren Pfad `document.pdf`. Vorschau und PDF verwenden dieselbe Paginierung.

## Projektdateien

- **document.tsx** ist dein React-Dokument. Hooks und normale Komponenten funktionieren darin unverändert.
- **styles.css** wird automatisch geladen. Weitere CSS-Imports, CSS Modules oder PostCSS bleiben normale Projektdateien.
- **data.json** enthält optionale Eingabedaten, die ein benannter Zod-Schema-Export vor Layout und Render validieren kann.
- **package.json** enthält React, die Satzstrom-Primitives und jede Library, die dein Dokument verwendet.
- **tsconfig.json** ist eine normale TypeScript-Konfiguration für dein eigenständiges Dokumentprojekt.

## Kleinstes Dokument

```tsx
import { Document, Page } from '@satzstrom/primitives';

export default function Report() {
  return (
    <Document title="Mein Bericht" lang="de">
      <Page size="A4">
        <h1>Hallo Satzstrom.</h1>
      </Page>
    </Document>
  );
}
```

`Document` ist die Wurzel und trägt die PDF-Metadaten. `Page` erzeugt genau eine frei gestaltete physische Seite. Ein längerer Bericht verwendet zusätzlich `PageMaster`, damit Inhalt über beliebig viele Seiten fließen kann.

## Bestehendes Projekt

```sh
cd mein-typescript-projekt
satzstrom add monatsbericht --install
satzstrom dev monatsbericht
```

Ohne `--install` bleibt das Manifest unverändert. Mit `--dir documents` bestimmst du den Zielordner. Satzstrom respektiert den Package Manager aus Manifest oder Lockfile.

## Prüfen und rendern

- **satzstrom check --strict** validiert Daten und macht jede Layoutwarnung zum Buildfehler.
- **satzstrom page 3 --debug** rendert eine einzelne Seite als PNG und blendet Layoutgrenzen ein.
- **satzstrom render** erzeugt das finale PDF, optional auch als PDF/A-2a und PDF/UA-1.

## Weitere Informationen

- [Dokumentation](https://satzstrom.com/docs)
- [Beispiele](https://satzstrom.com/examples)
- [MCP-Integration](https://satzstrom.com/mcp)
- [Features](https://satzstrom.com/features)
