Aperçu du CLI
Prévisualisez, validez et maintenez votre documentation depuis le terminal. Installez globalement ou exécutez avec npx.
Le CLI Jamdesk vous permet de prévisualiser la documentation en local, de valider la configuration, de vérifier les liens brisés et de migrer depuis d'autres plateformes. Il est open-source sous la licence Apache 2.0.
Installation
Installez globalement depuis npm pour utiliser jamdesk depuis n'importe où :
npm install -g jamdeskAprès l'installation, vérifiez que tout fonctionne :
jamdesk --version
Prérequis
- Node.js v20.0.0 ou supérieur
- npm v8 ou supérieur (recommandé)
Démarrage rapide
Créez un nouveau projet de documentation :
jamdesk init my-docs
cd my-docsLancez le serveur de développement local avec rechargement à chaud :
jamdesk devVotre documentation sera accessible à l'adresse http://localhost:3000/docs
Vérifiez les erreurs de configuration, les liens brisés et l'orthographe :
jamdesk validate
jamdesk broken-links
jamdesk spellcheckCommandes
Exécutez jamdesk <command> --help pour obtenir des informations détaillées sur n'importe quelle commande.
Développement
Démarre le serveur de développement local avec rechargement à chaud.
jamdesk dev
jamdesk dev --port 3001Fonctionnalités :
- Validation automatique au démarrage (schéma docs.json, syntaxe MDX et specs OpenAPI référencées — une spec invalide arrête le serveur pour que vous la détectiez avant de déployer)
- Rechargement à chaud lors des modifications de fichiers MDX
- Reconstruction automatique de la navigation lors des modifications de docs.json
- CSS personnalisé (
style.css) rechargé lors de l'actualisation du navigateur - Fonctionnalité de recherche complète
- Tous les thèmes et composants disponibles
Options :
| Indicateur | Description |
|---|---|
-p, --port <port> | Port d'écoute (défaut : 3000) |
-v, --verbose | Activer la sortie détaillée |
Crée un nouveau projet de documentation.
jamdesk init # Interactive mode
jamdesk init my-docs # Create in new directoryCette commande crée un nouveau projet avec :
- Le fichier de configuration
docs.json - Des pages MDX d'exemple
- Une structure de dossiers recommandée
Authentification
Connectez-vous à Jamdesk via votre navigateur. Requis avant de déployer.
jamdesk loginOuvre le dashboard Jamdesk dans votre navigateur pour l'authentification. Les identifiants sont stockés localement dans ~/.jamdeskrc.
Efface les identifiants stockés.
jamdesk logoutAffiche l'utilisateur actuellement authentifié et vérifie que votre session est valide.
jamdesk whoamiValidation
Valide votre configuration docs.json, la syntaxe MDX et les spécifications OpenAPI.
jamdesk validate
jamdesk validate --skip-mdxVérifications effectuées :
- Syntaxe JSON valide dans docs.json
- Champs obligatoires (name, navigation)
- Valeurs de thème valides
- Erreurs de syntaxe MDX (ex. : caractères
<non échappés) - Validation de la spécification OpenAPI (si configurée)
- Conformité au schéma
Options :
| Indicateur | Description |
|---|---|
--skip-mdx | Ignorer la validation de la syntaxe MDX |
-v, --verbose | Afficher la sortie de validation détaillée |
Exécutez cette commande avant de déployer pour détecter les erreurs en amont.
Analyse votre documentation à la recherche de liens internes brisés.
jamdesk broken-linksExemple de sortie :
docs/getting-started.mdx:15 - /docs/quikstart
Did you mean: /docs/quickstart
Found 1 broken link in 45 files.Détecte les liens vers des pages manquantes et les fautes de frappe. Voir Liens et navigation pour plus de détails.
Vérifie l'orthographe de votre documentation.
jamdesk spellcheckExemple de sortie :
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.Utilise un dictionnaire anglais avec plus de 150 termes techniques intégrés (API, GraphQL, Kubernetes, React, etc.) pour éviter les faux positifs sur le jargon courant. Ignore les blocs de code, le code en ligne, le frontmatter, les balises JSX, les URL et les chemins de fichiers. Actuellement en anglais uniquement — la prise en charge de dictionnaires multilingues est prévue.
Options :
| Indicateur | Description |
|---|---|
--fix | Corriger les fautes de manière interactive ou les ajouter à la liste d'exclusion |
--json | Sortie au format JSON (pour les pipelines CI) |
-v, --verbose | Afficher chaque fichier au fur et à mesure de la vérification |
Mode de correction interactive (--fix) : traite chaque mot mal orthographié unique :
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 remplace le mot par une suggestion dans tous les fichiers (sans modifier les blocs de code ni les attributs JSX). Jusqu'à 3 suggestions sont affichées, la meilleure correspondance étant marquée comme recommandée.
- Ignore ajoute le mot à
spellcheck.ignoredans votre docs.json pour qu'il ne soit plus signalé - Skip ne fait rien pour cette exécution
Les modifications sont prévisualisées et confirmées avant d'être appliquées.
Liste d'exclusion personnalisée : Ajoutez des termes spécifiques à votre projet dans votre docs.json :
{
"spellcheck": {
"ignore": ["YourProduct", "kubectl", "Terraform"]
}
}Le nom de votre projet tiré de docs.json est automatiquement ignoré.
Valide un fichier de spécification OpenAPI unique.
jamdesk openapi-check openapi.yaml
jamdesk openapi-check api/spec.jsonValidations effectuées :
- Syntaxe YAML/JSON valide
- Conformité au schéma OpenAPI 3.x
- Définitions des endpoints
- Les références
$refse résolvent correctement
Vos specs OpenAPI sont validées à trois endroits. jamdesk dev s'arrête au démarrage si une spec référencée est invalide, et jamdesk validate / jamdesk openapi-check vérifient les specs à la demande. Lors du déploiement, la build cloud valide elle aussi vos specs référencées — mais il s'agit alors d'un avertissement non bloquant : le reste de votre documentation est tout de même publié, et vous êtes informé précisément du problème (erreur d'analyse avec ligne et colonne, $ref non résolu ou operationId en double) par e-mail et dans la liste des builds du tableau de bord. Corrigez la spec et redéployez pour le faire disparaître.
Gestion des fichiers
Renomme une page et met automatiquement à jour toutes les références.
jamdesk rename docs/old-name.mdx docs/new-name.mdxCette commande effectue les actions suivantes :
- Renommer le fichier
- Mettre à jour la navigation dans docs.json
- Mettre à jour les liens dans tous les autres fichiers MDX
- Mettre à jour les références aux extraits
Utilisez cette commande plutôt qu'un renommage manuel pour maintenir toutes les références synchronisées.
Migration
Migre la documentation de Mintlify vers Jamdesk.
jamdesk migrateDétecte votre configuration Mintlify et la convertit au format Jamdesk. En une seule passe, renomme les composants dépréciés (ex. : CardGroup → Columns), déplace les fichiers MDX d'extraits orphelins dans /snippets/ et réécrit les imports relatifs au parent, extrait les composants en ligne utilisant des hooks React dans /snippets/<name>.tsx avec 'use client', et corrige automatiquement les problèmes mécaniques de syntaxe MDX. Idempotente — réexécutez-la sans risque.
Déploiement
Téléverse votre documentation et déclenche un build directement depuis le terminal.
jamdesk deploy
jamdesk deploy --detach
jamdesk deploy --full-rebuildLa progression s'affiche en temps réel à mesure que chaque phase du build se termine. Également disponible sous la forme jamdesk push.
| Indicateur | Description |
|---|---|
--detach | Mettre en file d'attente et quitter immédiatement |
--full-rebuild | Forcer un build complet (sans cache) |
--project <id> | Déployer vers un projet spécifique |
Maintenance
Vérifie votre environnement et diagnostique les problèmes.
jamdesk doctorVérifications :
- Version de Node.js (requiert v20+)
- Version de npm
- Existence et validité du fichier docs.json
- État du cache ~/.jamdesk
- Permissions d'écriture
Exécutez cette commande si vous rencontrez des problèmes avec le CLI.
Vide le répertoire de cache ~/.jamdesk.
jamdesk cleanCette commande supprime les dépendances en cache et les artefacts de build. Utilisez-la pour :
- Libérer de l'espace disque
- Corriger les problèmes de cache corrompu
- Forcer une nouvelle installation des dépendances
Les dépendances seront réinstallées lors du prochain jamdesk dev.
Met à jour le CLI vers la dernière version.
jamdesk updateVous pouvez également mettre à jour manuellement :
npm update -g jamdeskConfiguration
Créez ~/.jamdeskrc pour définir les options par défaut :
{
"defaultPort": 3001,
"verbose": false,
"checkUpdates": true
}
| Option | Type | Défaut | Description |
|---|---|---|---|
defaultPort | number | 3000 | Port par défaut du serveur de développement |
verbose | boolean | false | Activer la sortie détaillée par défaut |
checkUpdates | boolean | true | Vérifier les mises à jour du CLI au démarrage |
Dépannage
Les fichiers MDX sont analysés comme du JSX, certains caractères ont donc une signification particulière.
Problème courant : Le caractère < est interprété comme le début d'une balise JSX.
✗ 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 rewriteSolutions :
- Utilisez
<pour le signe inférieur littéral :Values <50% are low - Réécrivez pour éviter le caractère :
"Below 50%"à la place de"<50%" - Exécutez
jamdesk validatepour des messages d'erreur détaillés avec les numéros de ligne
Assurez-vous d'être dans un répertoire contenant un fichier docs.json.
Solutions :
- Exécutez
jamdesk initpour créer un nouveau projet - Vérifiez que vous êtes dans le bon répertoire
- Confirmez que le fichier est nommé exactement
docs.json(pasdoc.jsonou autre)
Le serveur de développement peut ne pas démarrer pour plusieurs raisons.
Essayez ces étapes :
- Exécutez
jamdesk doctorpour vérifier votre environnement - Exécutez
jamdesk cleanpour vider le cache - Utilisez
jamdesk dev --verbosepour une sortie d'erreur détaillée - Vérifiez que Node.js v20+ est installé :
node --version
Le premier lancement installe les dépendances dans ~/.jamdesk/node_modules.
C'est normal et ne se produit qu'une seule fois. Les lancements suivants seront beaucoup plus rapides.
Un autre processus utilise le port par défaut.
Solutions :
# Use a different port
jamdesk dev --port 3001
# Or set a default in ~/.jamdeskrc
{ "defaultPort": 3001 }Il est possible que vous n'ayez pas les permissions d'écriture sur le répertoire de cache.
Solutions :
- Vérifiez les permissions sur
~/.jamdesk:ls -la ~/.jamdesk - Corrigez le propriétaire :
sudo chown -R $(whoami) ~/.jamdesk - Exécutez
jamdesk cleanet réessayez
Problème persistant ? Consultez le guide de dépannage CLI ou ouvrez un ticket sur GitHub.
