CLI im Überblick
formfeed ist das Kommandozeilenwerkzeug, mit dem Sie Vorlagen als Code bearbeiten und alles erledigen, was Sie sonst in der App durchklicken würden.
npx formfeed --help
Es braucht Node.js 22 oder neuer. Die Installation beschreibt die globale Installation und die Anmeldung.
Was es kann
| Aufgabe | Befehle | Braucht die API |
|---|---|---|
| Anmelden und den Schlüssel prüfen | login, logout, whoami | ja |
| Die Benutzerkonfiguration lesen und schreiben | config list, config get, config set | nein |
| Einen Workspace löschen | workspaces delete | ja |
| Ein Projekt anlegen, Vorlagen synchronisieren | init, templates list, templates pull, templates diff, templates push | ja |
| Vorschau mit Hot-Reload | dev | nein (nur das echte Rendering nutzt sie) |
| Prüfen und testen | validate, test | nein |
| Das XML einer E-Rechnung aus einem Datensatz schreiben | einvoice | nein |
| Ein echtes PDF oder Bild rendern oder eine Word- oder PowerPoint-Vorlage füllen | render | ja (kostenlos mit einem Test-Schlüssel; das PDF einer Word- oder PowerPoint-Vorlage braucht den Starter-Plan) |
| Word-, Excel-, PowerPoint- und andere Office-Dateien in PDF umwandeln | pdf convert | ja (ab dem Starter-Plan) |
| Brand Kit und geteilte Partials synchronisieren | brand pull, partials list, partials pull, partials push | ja |
| Die Dateibibliothek synchronisieren | files list, files push, files pull, files delete | ja |
| Renderings ansehen und aufräumen | renders list, renders get, renders delete-outputs | ja |
| Ein Produktions-Rendering nachstellen, als Datensatz oder Test | renders pull | ja |
| Webhooks lokal entwickeln | listen, webhooks resend, trigger | ja |
| Geänderte Vorlagen in einem Pull Request als Vorschau zeigen | ci preview | ja |
| Typen für Vorlagendaten erzeugen | types | nur mit --remote oder --channel oder außerhalb eines Projekts |
| Release Channels verschieben, promoten und zurückrollen | channels list, channels set, channels promote, channels rollback, channels delete | ja |
| Aus anderen Diensten importieren | import apitemplate, import pdfmonkey, import jsreport | nein (PDFMonkey und apitemplate.io mit --key werden über deren eigene API gelesen) |
Die Offline-Befehle nutzen dieselbe Template-Engine wie die Formfeed-Server; was validate akzeptiert, rendert also auch in Produktion. Das gilt auch für Word- und PowerPoint-Vorlagen: Die CLI füllt sie auf Ihrem Rechner, nur die Umwandlung in PDF läuft über die API.
Die Befehle, die die API brauchen, verwenden den Schlüssel aus --api-key, FORMFEED_API_KEY oder der gespeicherten Anmeldung, in dieser Reihenfolge. Allein der Schlüssel entscheidet, in welchem Workspace sie arbeiten; siehe Konfiguration.
Die fünf Befehle, die Sie am häufigsten brauchen
formfeed dev invoice # Live-Vorschau unter http://localhost:4400
formfeed validate # jede Vorlage gegen ihren Standard-Datensatz prüfen
formfeed test # jeden Datensatz rendern und mit den genehmigten Snapshots vergleichen
formfeed render invoice --out invoice.pdf # das PDF, das die API aus Ihren lokalen Dateien erzeugt
formfeed templates push --publish # ausliefern
Skripte
Jeder Befehl akzeptiert --json: Er gibt dann statt der Textzeilen ein einziges JSON-Dokument auf stdout aus. Die CLI stellt nie eine Rückfrage und läuft deshalb ohne Weiteres unbeaufsichtigt. --ci verhindert nur, dass formfeed login einen Browser öffnet; eine gesetzte Umgebungsvariable CI wirkt genauso und schaltet zusätzlich die Fortschrittszeile ab, die lange Befehle in einem Terminal zeichnen. Ohne --json gehen Fehler als error: … auf stderr. Die Exit-Codes sind stabil und unter Exit-Codes dokumentiert:
formfeed renders list --status failed --since 2026-09-01T00:00:00Z --all --json | jq -r '.data[].id'
Weiter
- Vorlagen als Code: der ganze Arbeitsablauf, Schritt für Schritt.
- Befehle: jeder Befehl und jedes Flag.
- Konfiguration:
formfeed.json, Umgebungsvariablen, Rangfolge. - Einsatz in der CI: GitHub Actions und GitLab CI.