Jamdesk Documentation logo

Aperçu du CLI

Prévisualisez la documentation en local, validez la configuration, détectez les liens rompus et migrez depuis d'autres plateformes avec le CLI Jamdesk.

Le CLI Jamdesk vous permet de prévisualiser la documentation en local, de valider la configuration, de détecter les liens rompus et de migrer depuis d'autres plateformes. Il est open-source sous licence Apache License 2.0.

Installation

Installez-le globalement depuis npm pour utiliser jamdesk depuis n'importe où :

npm install -g jamdesk

Aprè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

1
Créer un projet

Créez un nouveau projet de documentation :

jamdesk init my-docs
cd my-docs
2
Démarrer le serveur de développement

Lancez le serveur de développement local avec rechargement à chaud :

jamdesk dev

Votre documentation sera disponible à l'adresse http://localhost:3000/docs

3
Valider avant de déployer

Vérifiez les erreurs de configuration, les liens rompus et l'orthographe :

jamdesk validate
jamdesk broken-links
jamdesk fix --dry-run
jamdesk fix
jamdesk spellcheck

Commandes

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 3001

Fonctionnalités :

  • Validation automatique au démarrage (schéma docs.json, syntaxe MDX et spécifications OpenAPI référencées ; une spécification invalide arrête le serveur pour que vous le remarquiez 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 :

FlagDescription
-p, --port <port>Port sur lequel s'exécuter (par défaut : 3000)
-v, --verboseActiver la sortie détaillée

Crée un nouveau projet de documentation.

jamdesk init              # Interactive mode
jamdesk init my-docs      # Create in new directory

Cela crée un nouveau projet avec :

  • Un 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 login

Ouvre le dashboard Jamdesk dans votre navigateur pour l'authentification. Les identifiants sont stockés localement dans ~/.jamdeskrc.

Guide d'authentification

Flux d'authentification par navigateur, gestion des sessions et dépannage

Efface les identifiants stockés.

jamdesk logout

Affiche l'utilisateur actuellement authentifié et vérifie que votre session est valide.

jamdesk whoami

Validation

Valide votre configuration docs.json, la syntaxe MDX et les spécifications OpenAPI.

jamdesk validate
jamdesk validate --skip-mdx

Vérifie :

  • La syntaxe JSON valide dans docs.json
  • Les champs requis (name, navigation)
  • Les valeurs de thème valides
  • Les erreurs de syntaxe MDX (par exemple, des caractères < non échappés)
  • La validation des spécifications OpenAPI (si configurées)
  • La conformité au schéma

Options :

FlagDescription
--skip-mdxIgnorer la validation de la syntaxe MDX
-v, --verboseAfficher la sortie de validation détaillée

Exécutez cette commande avant de déployer pour détecter les erreurs rapidement.

Analyse votre documentation à la recherche de liens internes rompus.

jamdesk broken-links

Exemple 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. Consultez Liens et navigation pour plus de détails.

Corrige automatiquement les avertissements de liens internes rompus dont la cible est sans ambiguïté. Gère deux catégories :

  • Ancres avec faute de frappe : un fragment comme #instalation qui devrait clairement être #installation
  • Dérive d'ancre inter-locale : une page traduite a renommé ses titres, mais les liens de cette locale pointent encore vers l'ancien fragment anglais
# Preview what would change without touching any files
jamdesk fix --dry-run

# Apply fixes (prompts for confirmation)
jamdesk fix

Exemple de sortie en dry-run :

Planned fixes:

  fr/ai/overview.mdx:9
    /fr/ai/selectors#ai-strategies  →  /fr/ai/selectors#stratégies-ia

(dry run — no files written)

Une correction n'est écrite que lorsque l'ancre corrigée correspond à un titre réel dans la page cible. Les cas ambigus sont laissés pour une révision manuelle.

Options :

FlagDescription
--dry-runPrévisualiser les corrections prévues sans écrire de fichiers
-y, --yesAppliquer les corrections sans invite de confirmation
--types <list>Liste séparée par des virgules des types d'avertissements à corriger (par défaut : tous ceux pris en charge)
Guide de correction des liens rompus

Guide pas à pas : prévisualiser, appliquer, réviser et valider

Vérifie l'orthographe de votre documentation.

jamdesk spellcheck

Exemple 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.) afin que le jargon courant ne soit pas signalé. Ignore les blocs de code, le code en ligne, le frontmatter, le JSX, les URLs et les chemins de fichiers. Actuellement en anglais uniquement ; la prise en charge d'un dictionnaire multilingue est prévue.

Options :

FlagDescription
--fixCorriger interactivement les fautes ou les ajouter à la liste d'exclusion
--jsonGénérer la sortie au format JSON (pour les pipelines CI)
-v, --verboseAfficher chaque fichier au fur et à mesure de la vérification

Mode de correction interactif (--fix) parcourt 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 risque pour le code, il ne modifie donc pas 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.ignore dans votre docs.json afin qu'il ne soit plus signalé
  • Skip ne fait rien pour cette exécution

Les changements sont prévisualisés et confirmés avant d'être appliqués.

Liste d'exclusion personnalisée : ajoutez des termes spécifiques à votre projet dans votre docs.json :

docs.json
{
  "spellcheck": {
    "ignore": ["YourProduct", "kubectl", "Terraform"]
  }
}

Le nom de votre projet issu de docs.json est automatiquement ignoré.

Valide un unique fichier de spécification OpenAPI.

jamdesk openapi-check openapi.yaml
jamdesk openapi-check api/spec.json

Valide :

  • La syntaxe YAML/JSON valide
  • La conformité au schéma OpenAPI 3.x
  • Les définitions d'endpoint
  • La résolution correcte des références $ref

Vos spécifications OpenAPI sont validées à trois endroits. jamdesk dev s'arrête au démarrage si une spécification référencée est invalide, et jamdesk validate / jamdesk openapi-check vérifient les spécifications à la demande. Lorsque vous déployez, le build cloud valide également vos spécifications référencées, mais il s'agit alors d'un avertissement non bloquant : le reste de votre documentation est quand même publié, et vous êtes informé précisément de ce qui ne va pas (une erreur d'analyse avec ligne et colonne, une $ref non résolue ou un operationId en double) par e-mail et dans la liste des builds du dashboard. Corrigez la spécification et poussez à nouveau pour lever l'avertissement.

Gestion des fichiers

Renomme une page et met automatiquement à jour toutes les références.

jamdesk rename docs/old-name.mdx docs/new-name.mdx

Cela va :

  • 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 snippets

Utilisez cette commande plutôt qu'un renommage manuel pour garder toutes les références synchronisées.

Migration

Migre la documentation depuis Mintlify vers Jamdesk.

jamdesk migrate

Détecte votre configuration Mintlify et la convertit au format Jamdesk. Dans la même opération, elle renomme les composants dépréciés (par exemple CardGroupColumns), déplace les fichiers MDX de snippets orphelins vers /snippets/ et réécrit les imports relatifs au parent, extrait les composants en ligne utilisant des hooks React vers /snippets/<name>.tsx avec 'use client', et corrige automatiquement les problèmes mécaniques de syntaxe MDX. Idempotente, vous pouvez donc la relancer en toute sécurité.

Guide de migration

Guide de migration complet avec des instructions étape par étape pour Mintlify et d'autres plateformes

Déploiement

Téléverse votre documentation et déclenche un build directement depuis le terminal.

jamdesk deploy
jamdesk deploy --detach
jamdesk deploy --full-rebuild

La progression s'affiche en direct à mesure que chaque phase du build se termine. Également disponible sous la forme jamdesk push.

FlagDescription
--detachMettre en file d'attente et quitter immédiatement
--full-rebuildForcer un rebuild complet (sans cache)
--project <id>Déployer vers un projet spécifique
--allow-emptyAutoriser le déploiement avec zéro page de contenu .mdx (refusé par défaut)
Guide de déploiement CLI

Pipeline de déploiement complet, phases du build, référence des erreurs et dépannage

Génère et déploie un Cloudflare Worker qui redirige /docs sur votre propre domaine vers votre site Jamdesk.

jamdesk deploy-proxy cloudflare
jamdesk deploy-proxy cloudflare --slug myproject --domain example.com --skip-deploy --yes

Interactif par défaut : il vérifie Wrangler, valide votre compte Cloudflare, détecte automatiquement votre slug depuis docs.json, génère les fichiers du Worker, et effectue éventuellement le déploiement.

FlagDescription
--slug <slug>Slug du projet Jamdesk
--domain <domain>Domaine cible (par exemple, example.com)
--path <path>Préfixe de chemin (par défaut : /docs)
--output-dir <dir>Répertoire de sortie (par défaut : cloudflare-worker/)
--skip-deployGénérer uniquement les fichiers, sans déployer
--forceÉcraser le répertoire existant sans demander de confirmation
--yesIgnorer toutes les invites de confirmation (mode CI)
Guide Cloudflare Workers

Configuration du Worker, modèles de routes et configuration du cache

Maintenance

Vérifie votre environnement et diagnostique les problèmes.

jamdesk doctor

Vérifie :

  • La version de Node.js (nécessite v20+)
  • La version de npm
  • L'existence et la validité de docs.json
  • Le statut du cache ~/.jamdesk
  • Les permissions d'écriture

Exécutez cette commande si vous rencontrez des problèmes avec le CLI.

Efface le répertoire de cache ~/.jamdesk.

jamdesk clean

Cela supprime les dépendances mises en cache et les artefacts de build. Utilisez-le pour :

  • Libérer de l'espace disque
  • Résoudre les problèmes de cache corrompu
  • Forcer une nouvelle installation des dépendances

Les dépendances seront réinstallées au prochain jamdesk dev.

Met à jour le CLI vers la dernière version.

jamdesk update

Vous pouvez aussi mettre à jour manuellement :

npm update -g jamdesk

Configuration

Créez ~/.jamdeskrc pour définir les options par défaut :

{
  "defaultPort": 3001,
  "verbose": false,
  "checkUpdates": true
}
OptionTypeDéfautDescription
defaultPortnumber3000Port par défaut pour le serveur de développement
verbosebooleanfalseActiver la sortie détaillée par défaut
checkUpdatesbooleantrueVérifier les mises à jour du CLI au démarrage

Dépannage

Les fichiers MDX sont analysés comme du JSX, donc certains caractères ont 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 &lt; or rewrite

Solutions :

  • Utilisez &lt; pour un signe inférieur littéral : Values &lt;50% are low
  • Réécrivez pour éviter le caractère : "Below 50%" au lieu de "<50%"
  • Exécutez jamdesk validate pour des messages d'erreur détaillés avec numéros de ligne

Assurez-vous d'être dans un répertoire contenant un fichier docs.json.

Solutions :

  • Exécutez jamdesk init pour créer un nouveau projet
  • Vérifiez que vous êtes dans le bon répertoire
  • Vérifiez que le fichier est nommé exactement docs.json (et non doc.json ou similaire)

Le serveur de développement peut échouer à démarrer pour plusieurs raisons.

Essayez ces étapes :

  1. Exécutez jamdesk doctor pour vérifier votre environnement
  2. Exécutez jamdesk clean pour vider le cache
  3. Utilisez jamdesk dev --verbose pour une sortie d'erreur détaillée
  4. 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 cela 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 }

Vous n'avez peut-être pas les permissions d'écriture sur le répertoire de cache.

Solutions :

  1. Vérifiez les permissions sur ~/.jamdesk : ls -la ~/.jamdesk
  2. Corrigez le propriétaire : sudo chown -R $(whoami) ~/.jamdesk
  3. Exécutez jamdesk clean et réessayez

Vous rencontrez toujours des problèmes ? Consultez le Guide de dépannage du CLI ou ouvrez un ticket sur GitHub.

Et ensuite ?

Authentification

Flux de connexion, sessions et dépannage

Déploiement CLI

Déployer depuis le terminal

Preview locale

Options avancées de développement local

Guide de migration

Migrer depuis Mintlify ou d'autres plateformes