Zum Inhalt springen

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

Terminal
# 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.

Terminal
$ 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.

Terminal
$ 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.

Terminal
$ 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!
Hinweis: 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