CLI-Übersicht
Dokumentation lokal anzeigen, Konfiguration validieren, fehlerhafte Links prüfen und Plattformen mit der Open-Source-Jamdesk-CLI migrieren.
Mit der Jamdesk CLI können Sie Dokumentation lokal anzeigen, die Konfiguration validieren, fehlerhafte Links prüfen und von anderen Plattformen migrieren. Sie ist als Open-Source-Software unter der Apache License 2.0 verfügbar.
Installation
Installieren Sie die CLI global über npm, um jamdesk überall verwenden zu können:
npm install -g jamdeskÜberprüfen Sie nach der Installation, ob die CLI funktioniert:
jamdesk --version
Voraussetzungen
- Node.js v20.0.0 oder höher
- npm v8 oder höher (empfohlen)
Schnellstart
Erstellen Sie ein neues Dokumentationsprojekt:
jamdesk init my-docs
cd my-docsStarten Sie den lokalen Entwicklungsserver mit Hot Reload:
jamdesk devIhre Dokumentation ist unter http://localhost:3000/docs verfügbar.
Prüfen Sie Konfigurationsfehler, fehlerhafte Links und Rechtschreibfehler:
jamdesk validate
jamdesk broken-links
jamdesk fix --dry-run
jamdesk fix
jamdesk spellcheckBefehle
Führen Sie jamdesk <command> --help aus, um detaillierte Informationen zu einem beliebigen Befehl anzuzeigen.
Entwicklung
Starten Sie 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, damit Sie den Fehler vor dem Bereitstellen erkennen)
- Hot Reload bei Änderungen an MDX-Dateien
- Automatischer Neuaufbau der Navigation bei Änderungen an docs.json
- Benutzerdefiniertes CSS (
style.css) wird beim Aktualisieren des Browsers neu geladen - Vollständige Suchfunktion
- Alle Themes und Komponenten verfügbar
Optionen:
| Flag | Beschreibung |
|---|---|
-p, --port <port> | Port, auf dem der Server ausgeführt wird (Standard: 3000) |
-v, --verbose | Ausführliche Ausgabe aktivieren |
Erstellen Sie ein neues Dokumentationsprojekt.
jamdesk init # Interactive mode
jamdesk init my-docs # Create in new directoryDadurch wird ein neues Projekt erstellt mit:
- Konfigurationsdatei
docs.json - Beispielseiten im MDX-Format
- Empfohlener Ordnerstruktur
Authentifizierung
Melden Sie sich über Ihren Browser bei Jamdesk an. Dies ist vor dem Bereitstellen erforderlich.
jamdesk loginÖffnet das Jamdesk-Dashboard zur Authentifizierung in Ihrem Browser. Anmeldedaten werden lokal in ~/.jamdeskrc gespeichert.
Gespeicherte Anmeldedaten löschen.
jamdesk logoutDen aktuell authentifizierten Benutzer anzeigen und überprüfen, ob Ihre Sitzung gültig ist.
jamdesk whoamiValidierung
Validieren Sie Ihre docs.json-Konfiguration, die MDX-Syntax und OpenAPI-Spezifikationen.
jamdesk validate
jamdesk validate --skip-mdxPrüft:
- Gültige JSON-Syntax in docs.json
- Erforderliche Felder (name, navigation)
- Gültige Theme-Werte
- MDX-Syntaxfehler (z. B. nicht maskierte Zeichen
<) - Validierung der OpenAPI-Spezifikation (falls konfiguriert)
- Schema-Konformität
Optionen:
| Flag | Beschreibung |
|---|---|
--skip-mdx | MDX-Syntaxvalidierung überspringen |
-v, --verbose | Detaillierte Validierungsausgabe anzeigen |
Führen Sie diesen Befehl vor dem Bereitstellen aus, um Fehler frühzeitig zu erkennen.
Scannen Sie Ihre Dokumentation nach fehlerhaften 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. Weitere Informationen finden Sie unter Links und Navigation.
Behebt Warnungen zu fehlerhaften internen Links automatisch, wenn das Ziel eindeutig ist. Behandelt zwei Kategorien:
- Tippfehler in Ankern: ein Fragment wie
#instalation, das eindeutig#installationlauten sollte - Ankerabweichung zwischen Locales: Eine übersetzte Seite hat ihre Überschriften umbenannt, aber Links in diesem Locale verweisen weiterhin auf das alte englische Fragment
# Preview what would change without touching any files
jamdesk fix --dry-run
# Apply fixes (prompts for confirmation)
jamdesk fixBeispielausgabe eines Probelaufs:
Planned fixes:
fr/ai/overview.mdx:9
/fr/ai/selectors#ai-strategies → /fr/ai/selectors#stratégies-ia
(dry run — no files written)Eine Korrektur wird nur geschrieben, wenn der korrigierte Anker auf eine echte Überschrift in der Zielseite verweist. Uneindeutige Fälle bleiben zur manuellen Prüfung offen.
Optionen:
| Flag | Beschreibung |
|---|---|
--dry-run | Geplante Korrekturen anzeigen, ohne Dateien zu schreiben |
-y, --yes | Korrekturen ohne Bestätigungsabfrage anwenden |
--types <list> | Durch Kommas getrennte Warntypen, die korrigiert werden sollen (Standard: alle unterstützten) |
Prüfen Sie Ihre 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 mehr als 150 integrierten technischen Begriffen (API, GraphQL, Kubernetes, React usw.), damit gängiger Fachjargon nicht fälschlicherweise markiert wird. Überspringt Codeblöcke, Inline-Code, Frontmatter, JSX, URLs und Dateipfade. Derzeit nur auf Englisch verfügbar; Unterstützung für Wörterbücher in mehreren Sprachen ist geplant.
Optionen:
| Flag | Beschreibung |
|---|---|
--fix | Rechtschreibfehler interaktiv korrigieren oder zur Ignorierliste hinzufügen |
--json | Als JSON ausgeben (für CI-Pipelines) |
-v, --verbose | Jede geprüfte Datei anzeigen |
Der interaktive Korrekturmodus (--fix) führt durch jedes eindeutige falsch geschriebene Wort:
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- Korrigieren ersetzt das Wort in allen Dateien durch einen Vorschlag (prosa-sicher, sodass weder Codeblöcke noch JSX-Attribute geändert werden). Es werden bis zu 3 Vorschläge angezeigt; die beste Übereinstimmung wird als empfohlen markiert.
- Ignorieren fügt das Wort zu
spellcheck.ignorein Ihrer docs.json hinzu, damit es nicht erneut markiert wird - Überspringen führt bei diesem Durchlauf keine Aktion aus
Änderungen werden vor der Anwendung in einer Vorschau angezeigt und bestätigt.
Benutzerdefinierte Ignorierliste: Fügen Sie projektspezifische Begriffe zu Ihrer docs.json hinzu:
{
"spellcheck": {
"ignore": ["YourProduct", "kubectl", "Terraform"]
}
}Der Projektname aus docs.json wird automatisch ignoriert.
Validieren Sie eine einzelne OpenAPI-Spezifikationsdatei.
jamdesk openapi-check openapi.yaml
jamdesk openapi-check api/spec.jsonValidiert:
- Gültige YAML-/JSON-Syntax
- OpenAPI-3.x-Schema-Konformität
- Endpoint-Definitionen
$ref-Referenzen werden korrekt aufgelöst
Ihre OpenAPI-Spezifikationen werden an drei Stellen validiert. jamdesk dev stoppt beim Start, wenn eine referenzierte Spezifikation ungültig ist, und jamdesk validate / jamdesk openapi-check prüfen Spezifikationen auf Anfrage. Beim Bereitstellen validiert der Cloud-Build Ihre referenzierten Spezifikationen ebenfalls, dort jedoch als nicht kritische Warnung: Der Rest Ihrer Dokumentation wird weiterhin veröffentlicht, und Sie erhalten per E-Mail sowie in der Build-Liste des Dashboards genaue Informationen zum Fehler (einen Analysefehler mit Zeile und Spalte, eine nicht auflösbare $ref-Referenz oder eine doppelte operationId). Beheben Sie die Spezifikation und pushen Sie sie erneut, um die Warnung zu entfernen.
Dateiverwaltung
Benennen Sie eine Seite um und aktualisieren Sie automatisch alle Verweise.
jamdesk rename docs/old-name.mdx docs/new-name.mdxDabei wird Folgendes ausgeführt:
- Datei umbenennen
- Navigation in docs.json aktualisieren
- Links in allen anderen MDX-Dateien aktualisieren
- Verweise auf Snippets aktualisieren
Verwenden Sie diesen Befehl statt einer manuellen Umbenennung, damit alle Verweise synchron bleiben.
Migration
Migrieren Sie Dokumentation von Mintlify zu Jamdesk.
jamdesk migrateErkennt Ihre Mintlify-Konfiguration und konvertiert sie in das Jamdesk-Format. Im selben Durchlauf werden veraltete Komponenten umbenannt (z. B. CardGroup → Columns), verwaiste MDX-Snippet-Dateien nach /snippets/ verschoben und elternrelative Imports umgeschrieben, Inline-Komponenten mit React-Hooks nach /snippets/<name>.tsx extrahiert und mit 'use client' versehen sowie mechanische MDX-Syntaxprobleme automatisch korrigiert. Der Vorgang ist idempotent und kann daher sicher erneut ausgeführt werden.
Bereitstellung
Laden Sie Ihre Dokumentation hoch und starten Sie direkt vom Terminal aus einen Build.
jamdesk deploy
jamdesk deploy --detach
jamdesk deploy --full-rebuildDer Fortschritt wird live angezeigt, sobald jede Build-Phase abgeschlossen ist. Auch als jamdesk push verfügbar.
| Flag | Beschreibung |
|---|---|
--detach | In die Warteschlange einreihen und sofort beenden |
--full-rebuild | Vollständigen Neuaufbau erzwingen (ohne Cache) |
--project <id> | In einem bestimmten Projekt bereitstellen |
--allow-empty | Bereitstellung ohne .mdx-Inhaltsseiten erlauben (standardmäßig abgelehnt) |
Erstellen und stellen Sie einen Cloudflare Worker bereit, der /docs auf Ihrer eigenen Domain an Ihre Jamdesk-Website weiterleitet.
jamdesk deploy-proxy cloudflare
jamdesk deploy-proxy cloudflare --slug myproject --domain example.com --yesStandardmäßig interaktiv: Der Befehl prüft Wrangler, verifiziert Ihr Cloudflare-Konto, erkennt Ihren Slug automatisch aus docs.json, generiert die Worker-Dateien und stellt sie optional bereit. Mit --yes werden die Dateien generiert und der Vorgang beendet. Stellen Sie den Worker anschließend mit npx wrangler deploy aus dem Ausgabeverzeichnis bereit.
| Flag | Beschreibung |
|---|---|
--slug <slug> | Jamdesk-Projektslug |
--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 bereitstellen?“ bei einer interaktiven Ausführung überspringen |
--force | Ausgabeverzeichnis überschreiben, falls es bereits existiert |
--yes | Jede Abfrage mit ihrem Standardwert beantworten (CI-Modus). Stellt niemals bereit und überschreibt niemals ein vorhandenes Verzeichnis |
Wartung
Überprüfen Sie Ihre Umgebung und diagnostizieren Sie Probleme.
jamdesk doctorPrüft:
- Node.js-Version (erfordert v20+)
- npm-Version
- Ob docs.json vorhanden und gültig ist
- Status des ~/.jamdesk-Cache
- Schreibberechtigungen
Führen Sie diesen Befehl aus, wenn Probleme mit der CLI auftreten.
Löschen Sie das Cache-Verzeichnis ~/.jamdesk.
jamdesk cleanDadurch werden zwischengespeicherte Abhängigkeiten und Build-Artefakte entfernt. Verwenden Sie den Befehl, um:
- Speicherplatz freizugeben
- Probleme mit einem beschädigten Cache zu beheben
- Eine frische Installation der Abhängigkeiten zu erzwingen
Abhängigkeiten werden beim nächsten jamdesk dev erneut installiert.
Aktualisieren Sie die CLI auf die neueste Version.
jamdesk updateSie können auch manuell aktualisieren:
npm update -g jamdeskKonfiguration
Erstellen Sie ~/.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-Dateien werden als JSX geparst, daher haben bestimmte Zeichen eine besondere Bedeutung.
Häufiges Problem: Das Zeichen < wird als Anfang 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:
- Verwenden Sie
<für ein wörtliches Kleiner-als-Zeichen:Values <50% are low - Formulieren Sie den Text ohne das Zeichen:
"Below 50%"statt"<50%" - Führen Sie
jamdesk validateaus, um detaillierte Fehlermeldungen mit Zeilennummern zu erhalten
Stellen Sie sicher, dass Sie sich in einem Verzeichnis mit einer Datei docs.json befinden.
Lösungen:
- Führen Sie
jamdesk initaus, um ein neues Projekt zu erstellen - Prüfen Sie, ob Sie sich im richtigen Verzeichnis befinden
- Überprüfen Sie, dass die Datei genau
docs.jsonheißt (nichtdoc.jsonoder ähnlich)
Der Entwicklungsserver kann aus mehreren Gründen möglicherweise nicht starten.
Probieren Sie diese Schritte:
- Führen Sie
jamdesk doctoraus, um Ihre Umgebung zu prüfen - Führen Sie
jamdesk cleanaus, um den Cache zu leeren - Verwenden Sie
jamdesk dev --verbosefür eine detaillierte Fehlerausgabe - Prüfen Sie, ob Node.js v20+ installiert ist:
node --version
Beim ersten Start werden Abhängigkeiten nach ~/.jamdesk/node_modules installiert.
Das ist normal und geschieht nur einmal. Nachfolgende Starts sind deutlich 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 }Möglicherweise haben Sie keine Schreibberechtigung für das Cache-Verzeichnis.
Lösungen:
- Prüfen Sie die Berechtigungen für
~/.jamdesk:ls -la ~/.jamdesk - Eigentümer ändern:
sudo chown -R $(whoami) ~/.jamdesk - Führen Sie
jamdesk cleanaus und versuchen Sie es erneut
Bestehen weiterhin Probleme? Lesen Sie den Leitfaden zur CLI-Fehlerbehebung oder eröffnen Sie ein Issue auf GitHub.
