CLI-Übersicht
Dokumentation lokal in der Vorschau anzeigen, Konfiguration prüfen, defekte Links finden und Plattformen mit der Open-Source-Jamdesk-CLI migrieren.
Mit der Jamdesk CLI kannst du deine Dokumentation lokal in der Vorschau anzeigen, Konfigurationen validieren, defekte Links prüfen und von anderen Plattformen migrieren. Sie ist Open Source unter der Apache License 2.0.
Installation
Installiere sie global über npm, um jamdesk von überall aus zu verwenden:
npm install -g jamdeskÜberprüfe die Installation:
jamdesk --version
Voraussetzungen
- Node.js 22.18+ oder 24.11+ (Node.js 23 wird nicht unterstützt)
- npm v8 oder höher (empfohlen)
Schnellstart
Erstelle ein neues Dokumentationsprojekt:
jamdesk init my-docs
cd my-docsStarte den lokalen Entwicklungsserver mit Hot Reload:
jamdesk devDeine Dokumentation läuft unter http://localhost:3000/docs
Prüfe auf Konfigurationsfehler, defekte Links und Rechtschreibung:
jamdesk validate
jamdesk broken-links
jamdesk fix --dry-run
jamdesk fix
jamdesk spellcheckBefehle
Führe jamdesk <command> --help aus, um Details zu einem Befehl zu erhalten.
Entwicklung
Starte den lokalen Entwicklungsserver mit Hot Reload.
jamdesk dev
jamdesk dev --port 3001Funktionen:
- Automatische Validierung beim Start (docs.json-Schema, MDX-Syntax und referenzierte OpenAPI-Spezifikationen. Eine ungültige Spezifikation stoppt den Server.)
- Hot Reload bei Änderungen an MDX-Dateien
- Automatischer Neuaufbau der Navigation bei Änderungen an docs.json
- Benutzerdefiniertes CSS (
style.css) wird beim Neuladen des Browsers neu geladen - Suche
- Alle Themes und Komponenten
Optionen:
| Flag | Beschreibung |
|---|---|
-p, --port <port> | Port, auf dem ausgeführt wird (Standard: 3000) |
-v, --verbose | Ausführliche Ausgabe aktivieren |
Erstelle ein neues Dokumentationsprojekt.
jamdesk init # Interactive mode
jamdesk init my-docs # Create in new directoryDies erstellt ein neues Projekt mit:
- Konfigurationsdatei
docs.json - Beispiel-MDX-Seiten
- Empfohlener Ordnerstruktur
Authentifizierung
Melde dich über deinen Browser bei Jamdesk an. Erforderlich vor dem Bereitstellen.
jamdesk loginÖffnet das Jamdesk-Dashboard in deinem Browser. Die CLI speichert Zugangsdaten in ~/.jamdeskrc.
Gespeicherte Zugangsdaten löschen.
jamdesk logoutZeige den angemeldeten Benutzer an und überprüfe die Sitzung.
jamdesk whoamiValidierung
Validiere deine docs.json-Konfiguration, MDX-Syntax und OpenAPI-Spezifikationen.
jamdesk validate
jamdesk validate --skip-mdxPrüft auf:
- Gültige JSON-Syntax in docs.json
- Pflichtfelder (name, navigation)
- Gültige Theme-Werte
- MDX-Syntaxfehler (z. B. nicht maskierte
<-Zeichen) - OpenAPI-Spezifikationsvalidierung (falls konfiguriert)
- Schema-Konformität
Optionen:
| Flag | Beschreibung |
|---|---|
--skip-mdx | MDX-Syntaxvalidierung überspringen |
-v, --verbose | Detaillierte Validierungsausgabe anzeigen |
Führe dies vor dem Bereitstellen aus, um Fehler frühzeitig zu erkennen.
Durchsuche deine Dokumentation nach defekten internen Links.
jamdesk broken-linksBeispielausgabe:
docs/getting-started.mdx:15 - /docs/quikstart
Did you mean: /docs/quickstart
Found 1 broken link in 45 files.Erkennt Links zu fehlenden Seiten und Tippfehler. Details findest du unter Links & Navigation.
Behebt automatisch Warnungen zu defekten internen Links, die ein eindeutiges Ziel haben. Es werden zwei Arten behoben:
- Fehlerhafte Anker: ein Fragment wie
#instalation, das eindeutig#installationsein soll - Anker-Abweichung zwischen Sprachen: Eine übersetzte Seite hat ihre Überschriften umbenannt, Links in dieser Sprachversion zeigen aber noch auf das alte englische Fragment
# Preview what would change without touching any files
jamdesk fix --dry-run
# Apply fixes (prompts for confirmation)
jamdesk fixBeispielausgabe des Dry-Runs:
Planned fixes:
fr/ai/overview.mdx:9
/fr/ai/selectors#ai-strategies → /fr/ai/selectors#stratégies-ia
(dry run — no files written)jamdesk fix schreibt eine Korrektur nur, wenn der korrigierte Anker auf eine tatsächlich vorhandene Überschrift auf der Zielseite verweist. Mehrdeutige Fälle werden zur manuellen Prüfung belassen.
Optionen:
| Flag | Beschreibung |
|---|---|
--dry-run | Geplante Korrekturen anzeigen, ohne Dateien zu schreiben |
-y, --yes | Korrekturen ohne Bestätigungsabfrage anwenden |
--types <list> | Kommagetrennte Warnungstypen, die behoben werden sollen (Standard: alle unterstützten) |
--no-ai | KI-Korrekturen überspringen und nur Korrekturen verwenden, die Jamdesk ohne KI ermitteln kann |
--project <id> | Projekt-ID für KI-Korrekturen (Standard: projectId in docs.json) |
--json | Korrekturplan und nicht behebbare Probleme als JSON für einen KI-Agenten ausgeben. Schreibt keine Dateien und stellt keine Rückfragen. Benötigt CLI 1.1.229 oder neuer |
Zeige die Einstellung AI Fixes des Projekts an oder ändere sie. Dies ist dieselbe Einstellung wie in den Dashboard-Einstellungen.
# Show the current setting
jamdesk ai-fix
# Commit fixes to your build branch after each build
jamdesk ai-fix auto
# Suggest fixes for you to review in the dashboard
jamdesk ai-fix review
# Turn off dashboard scans
jamdesk ai-fix offBeispielausgabe:
✓ AI Fixes set to Auto-fix
Jamdesk commits fixes to main after the next build. Pull before you push. Undo runs from the dashboard.Führe zuerst jamdesk login aus. Der Befehl verwendet die projectId in docs.json oder das Projekt, das du mit --project angibst. Benötigt CLI 1.1.229 oder neuer.
| Flag | Beschreibung |
|---|---|
--project <id> | Projekt-ID (Standard: projectId in docs.json) |
Prüfe deine Dokumentation auf Rechtschreibfehler.
jamdesk spellcheckBeispielausgabe:
getting-started.mdx:14 - "recieve"
└─ Did you mean: receive
Found 3 misspellings across 24 pages.
Tip: Run "jamdesk spellcheck --fix" to interactively fix or ignore words.Verwendet ein englisches Wörterbuch mit über 150 integrierten Fachbegriffen (API, GraphQL, Kubernetes, React usw.). Überspringt Codeblöcke, Inline-Code, Frontmatter, JSX, URLs und Dateipfade. Derzeit nur Englisch. Mehrsprachige Wörterbücher sind geplant.
Optionen:
| Flag | Beschreibung |
|---|---|
--fix | Rechtschreibfehler interaktiv korrigieren oder zur Ignorierliste hinzufügen |
--json | Ausgabe als JSON (für CI-Pipelines) |
-v, --verbose | Jede Datei anzeigen, während sie geprüft wird |
Interaktiver Korrekturmodus (--fix) geht jedes eindeutige falsch geschriebene Wort durch:
1/10 "recieve" — found in 3 files
intro.mdx:14, setup.mdx:7, guide.mdx:22
? What do you want to do?
❯ Fix → receive (recommended)
Fix → relieve
Ignore in the future (add to docs.json)
Skip- Fix ersetzt das Wort in jeder Datei durch einen Vorschlag. Codeblöcke oder JSX-Attribute werden niemals verändert. Die Abfrage zeigt bis zu 3 Vorschläge und markiert den besten Treffer als empfohlen.
- Ignore fügt das Wort zu
spellcheck.ignorein deiner docs.json hinzu. Das Wort wird nicht mehr markiert. - Skip tut in diesem Durchlauf nichts
Du siehst Änderungen in der Vorschau und bestätigst sie, bevor sie angewendet werden.
Eigene Ignorierliste: Füge projektspezifische Begriffe zu deiner docs.json hinzu:
{
"spellcheck": {
"ignore": ["YourProduct", "kubectl", "Terraform"]
}
}Spellcheck ignoriert den Projektnamen aus docs.json.
Validiere eine einzelne OpenAPI-Spezifikationsdatei.
jamdesk openapi-check openapi.yaml
jamdesk openapi-check api/spec.jsonValidiert:
- Gültige YAML-/JSON-Syntax
- OpenAPI-3.x-Schemakonformität
- Endpunktdefinitionen
- Korrekte Auflösung von
$ref-Referenzen
Jamdesk validiert OpenAPI-Spezifikationen an drei Stellen. jamdesk dev stoppt beim Start, wenn eine referenzierte Spezifikation ungültig ist. jamdesk validate und jamdesk openapi-check prüfen Spezifikationen bei Bedarf. Der Cloud-Build prüft referenzierte Spezifikationen beim Deployment, wo eine ungültige Spezifikation eine nicht fatale Warnung ist. Der Rest deiner Dokumentation wird weiterhin veröffentlicht. Die E-Mail und die Build-Liste im Dashboard benennen das Problem: einen Parse-Fehler mit Zeile und Spalte, ein nicht auflösbares $ref oder eine doppelte operationId. Behebe die Spezifikation und pushe erneut, um die Warnung zu entfernen.
Dateiverwaltung
Benenne eine Seite um und aktualisiere alle Verweise darauf.
jamdesk rename docs/old-name.mdx docs/new-name.mdxDies wird:
- Die Datei umbenennen
- Die docs.json-Navigation aktualisieren
- Links in allen anderen MDX-Dateien aktualisieren
- Snippet-Verweise aktualisieren
Verwende dies statt manuellem Umbenennen. So bleiben Verweise synchron.
Migration
Migriere Dokumentation von Mintlify zu Jamdesk.
jamdesk migrateErkennt deine Mintlify-Konfiguration und konvertiert sie in das Jamdesk-Format. Derselbe Durchlauf:
- Benennt veraltete Komponenten um (z. B.
CardGroup→Columns) - Verschiebt verwaiste Snippet-MDX-Dateien nach
/snippets/und schreibt Importe mit relativen Elternpfaden um - Extrahiert Inline-Komponenten, die React-Hooks verwenden, nach
/snippets/<name>.tsxmit'use client' - Behebt mechanische MDX-Syntaxprobleme
Der Befehl ist idempotent. Ein erneutes Ausführen ist sicher.
Bereitstellung
Lade ein Projekt herunter, dessen Dokumentation Jamdesk hostet (ohne GitHub), als Git-Repository oder führe neue Jamdesk-Änderungen in eine bereits gezogene Kopie zusammen.
jamdesk pull
jamdesk pull --project your-project
jamdesk pull --dir ./docs-copyBearbeite die Dateien und führe dann jamdesk deploy in diesem Ordner aus, um sie zu veröffentlichen. Benötigt CLI 1.1.227 oder neuer und Git.
| Flag | Beschreibung |
|---|---|
--project <id-or-slug> | Ein bestimmtes Projekt herunterladen (überspringt die interaktive Auswahl) |
--dir <path> | Zielordner (Standard: ./<slug>) |
--force | Einen Ordner mit vorhandenen Dateien, etwa eine alte schreibgeschützte Kopie, in eine Git-Kopie umwandeln. Seine Dateien bleiben als nicht committete Änderungen erhalten |
Lade deine Dokumentation hoch und starte einen Build über das Terminal.
jamdesk deploy
jamdesk deploy --detach
jamdesk deploy --full-rebuildDie CLI zeigt jede Build-Phase an, sobald sie abgeschlossen ist. Auch verfügbar als jamdesk push.
| Flag | Beschreibung |
|---|---|
--detach | In die Warteschlange stellen und sofort beenden |
--full-rebuild | Vollständigen Neuaufbau erzwingen (ohne Cache) |
--project <id> | Auf ein bestimmtes Projekt bereitstellen |
--allow-empty | Bereitstellung mit null .mdx-Inhaltsseiten erlauben (standardmäßig abgelehnt) |
-m, --message <text> | Commit-Nachricht in einem Ordner, der mit jamdesk pull erstellt wurde |
--allow-secret-files | Dateien, die nach Geheimnissen aussehen, aus einem mit jamdesk pull erstellten Ordner veröffentlichen |
Erstelle und deploye einen Cloudflare Worker, der /docs auf deiner eigenen Domain an deine Jamdesk-Website weiterleitet.
jamdesk deploy-proxy cloudflare
jamdesk deploy-proxy cloudflare --slug myproject --domain example.com --yesDer Befehl ist standardmäßig interaktiv. Er prüft Wrangler, verifiziert dein Cloudflare-Konto, erkennt deinen Slug aus docs.json, generiert die Worker-Dateien und bietet an, sie direkt zu deployen. --yes generiert die Dateien und stoppt dann. Deploye sie mit npx wrangler deploy aus dem Ausgabeverzeichnis.
| Flag | Beschreibung |
|---|---|
--slug <slug> | Jamdesk-Projekt-Slug |
--domain <domain> | Zieldomain (z. B. example.com) |
--path <path> | Pfadpräfix (Standard: /docs) |
--output-dir <dir> | Ausgabeverzeichnis (Standard: cloudflare-worker/) |
--skip-deploy | Die Abfrage „jetzt deployen?“ bei einem interaktiven Lauf überspringen |
--force | Das Ausgabeverzeichnis überschreiben, falls es bereits existiert |
--yes | Jede Abfrage mit ihrem Standardwert beantworten (CI-Modus). Deployt nie und überschreibt niemals ein bestehendes Verzeichnis |
Wartung
Prüfe deine Umgebung und diagnostiziere Probleme.
jamdesk doctorPrüft:
- Node.js-Version (erfordert 22.18+ oder 24.11+)
- Das Node.js, das in deinem PATH zuerst steht und von
jamdesk devverwendet wird - npm-Version
- docs.json existiert und ist gültig
- Status des ~/.jamdesk-Caches
- Schreibberechtigungen
Führe dies aus, wenn die CLI sich falsch verhält.
Leere das Cache-Verzeichnis ~/.jamdesk.
jamdesk cleanDies entfernt zwischengespeicherte Abhängigkeiten und Build-Artefakte. Verwende es, um:
- Speicherplatz freizugeben
- Einen beschädigten Cache zu beheben
- Eine frische Installation der Abhängigkeiten zu erzwingen
Der nächste jamdesk dev-Aufruf installiert die Abhängigkeiten neu.
Aktualisiere die CLI auf die neueste Version.
jamdesk updateDu kannst auch manuell aktualisieren:
npm update -g jamdeskKonfiguration
Erstelle ~/.jamdeskrc, um Standardoptionen festzulegen:
{
"defaultPort": 3001,
"verbose": false,
"checkUpdates": true
}
| Option | Typ | Standard | Beschreibung |
|---|---|---|---|
defaultPort | number | 3000 | Standardport für den Entwicklungsserver |
verbose | boolean | false | Ausführliche Ausgabe standardmäßig aktivieren |
checkUpdates | boolean | true | Beim Start nach CLI-Updates suchen |
Fehlerbehebung
MDX wird als JSX geparst. Einige Zeichen haben eine besondere Bedeutung.
Häufiges Problem: Das Zeichen < wird als Beginn eines JSX-Tags interpretiert.
✗ Found 1 MDX syntax error(s)
getting-started.mdx:42
Unexpected character `5` (U+0035) before name
Fix: A < character is being parsed as JSX. Use < or rewriteLösungen:
- Verwende
<für ein wörtliches Kleiner-als:Werte <50% sind niedrig - Formuliere es um, um das Zeichen zu vermeiden:
"Unter 50%"statt"<50%" - Führe
jamdesk validateaus, um detaillierte Fehlermeldungen mit Zeilennummern zu erhalten
Führe den Befehl in einem Verzeichnis mit einer docs.json-Datei aus.
Lösungen:
- Führe
jamdesk initaus, um ein neues Projekt zu erstellen - Prüfe, ob du im richtigen Verzeichnis bist
- Stelle sicher, dass die Datei exakt
docs.jsonheißt (nichtdoc.jsonoder ähnlich)
Versuche diese Schritte:
- Führe
jamdesk doctoraus, um deine Umgebung zu prüfen - Führe
jamdesk cleanaus, um den Cache zu leeren - Verwende
jamdesk dev --verbosefür detaillierte Fehlerausgaben - Prüfe, ob Node.js 22.18+ oder 24.11+ installiert ist:
node --version
Beim ersten Start werden Abhängigkeiten nach ~/.jamdesk/node_modules installiert.
Dies passiert nur einmal. Spätere Starts sind schneller.
Ein anderer Prozess verwendet den Standardport.
Lösungen:
# Use a different port
jamdesk dev --port 3001
# Or set a default in ~/.jamdeskrc
{ "defaultPort": 3001 }Du hast möglicherweise keine Schreibrechte für das Cache-Verzeichnis.
Lösungen:
- Prüfe die Berechtigungen von
~/.jamdesk:ls -la ~/.jamdesk - Korrigiere den Besitzer:
sudo chown -R $(whoami) ~/.jamdesk - Führe
jamdesk cleanaus und versuche es erneut
Immer noch Probleme? Lies den CLI-Fehlerbehebungsleitfaden oder erstelle ein Issue auf GitHub.
