CLI
@setzkasten-cms/cli bringt drei Befehle mit: init für das initiale Setup, check zum Prüfen der Konfiguration und adopt zum Einbinden bestehender Astro-Komponenten.
Installation
# Global installieren
npm install -g @setzkasten-cms/cli
# Oder direkt ohne Installation nutzen
npx @setzkasten-cms/cli init setzkasten init
Führt einen interaktiven Setup-Wizard aus. Fragt GitHub-Owner, Repo, Branch, Auth-Provider und Admin-Pfad ab. Generiert am Ende eine fertige setzkasten.config.ts und zeigt das passende astro.config.mjs-Snippet.
$ setzkasten init
┌ Setzkasten CMS einrichten
│
◇ GitHub Owner (User oder Organisation)
│ meine-org
│
◇ GitHub Repository-Name
│ meine-website
│
◇ Branch
│ main
│
◇ GitHub OAuth einrichten?
│ Ja
│
◇ GitHub OAuth Client ID
│ Oauth1234...
│
└ Fertig! Setzkasten ist bereit. setzkasten check
Prüft nicht-interaktiv ob alle Voraussetzungen erfüllt sind: Astro-Config, Setzkasten-Config, Umgebungsvariablen, .env-Datei und GitHub API-Verbindung.
$ setzkasten check
Setzkasten Check
✓ Astro-Config — astro.config.mjs mit Setzkasten-Integration
✓ Setzkasten-Config — setzkasten.config.ts
✓ GITHUB_TOKEN — gesetzt (ghp_...)
⚠ GITHUB_CLIENT_ID — nicht gesetzt. Wird für OAuth-Login benötigt
✓ .env-Datei — .env vorhanden
Teste GitHub-Verbindung...
✓ GitHub API — Verbunden als meine-org
1 Warnungen, keine Fehler setzkasten adopt
Analysiert eine bestehende .astro-Komponente, erkennt Felder automatisch per AST-Analyse, patcht das Template mit data-sk-field-Attributen und legt die passende Content-JSON-Datei an. Ideal um bestehende Projekte schnell zu integrieren.
$ setzkasten adopt src/components/HeroSection.astro
┌ Section adoptieren
│
◆ Analysiere Datei...
│
│ 3 Feld(er) erkannt:
│ • heading [text] = "Willkommen"
│ • subtext [text] = "Dein Einstieg..."
│ • items [array]
│
◇ Datei patchen und Content-JSON erstellen?
│ Ja
│
✓ src/components/HeroSection.astro gepatcht
✓ content/_sections/hero.json erstellt
│
└ Section adoptiert! adopt verändert nur lokale Dateien — kein GitHub-Token nötig. Die Änderungen werden nicht automatisch committet.
Alle Befehle im Überblick
| Befehl | Interaktiv | Was es tut |
|---|---|---|
| setzkasten init | Ja | Setup-Wizard, generiert setzkasten.config.ts |
| setzkasten check | Nein | Prüft Config, Env-Vars und GitHub-Verbindung |
| setzkasten adopt <datei> | Ja (Bestätigung) | Analysiert und patcht eine .astro-Komponente |
| setzkasten --version | Nein | Zeigt die installierte Version |