Jamdesk Documentation logo

Vue d'ensemble du CLI

Prévisualisez la documentation en local, validez la configuration, vérifiez les liens rompus et migrez vos plateformes avec le CLI open source de Jamdesk.

Le CLI Jamdesk vous permet de prévisualiser la documentation en local, de valider la configuration, de vérifier 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

Exécutez 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 afin 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 :

FlagDescription
-p, --port <port>Port d'exécution (par défaut : 3000)
-v, --verboseActive 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 :

  • Fichier de configuration docs.json
  • Exemples de pages MDX
  • 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 basé sur le 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 la configuration de votre docs.json, la syntaxe MDX et les spécifications OpenAPI.

jamdesk validate
jamdesk validate --skip-mdx

Vérifie :

  • Syntaxe JSON valide dans docs.json
  • Champs requis (name, navigation)
  • Valeurs de thème valides
  • Erreurs de syntaxe MDX (par ex. caractères < non échappés)
  • Validation des spécifications OpenAPI (si configuré)
  • Conformité au schéma

Options :

FlagDescription
--skip-mdxIgnore la validation de la syntaxe MDX
-v, --verboseAffiche une 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 mal orthographiées : un fragment comme #instalation qui devrait clairement être #installation
  • Dérive d'ancre entre locales : une page traduite a renommé ses titres, mais les liens de cette locale pointent toujours 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 mode 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évisualise les corrections prévues sans écrire de fichiers
-y, --yesApplique les corrections sans invite de confirmation
--types <list>Types d'avertissements à corriger, séparés par des virgules (par défaut : tous les types pris en charge)
Guide de correction des liens rompus

Procédure étape par étape : prévisualiser, appliquer, réviser et valider

Vérifie votre documentation à la recherche de fautes d'orthographe.

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 URL et les chemins de fichiers. Actuellement disponible en anglais uniquement ; la prise en charge multilingue du dictionnaire est prévue.

Options :

FlagDescription
--fixCorrige les fautes de manière interactive ou les ajoute à la liste d'exclusion
--jsonGénère une sortie au format JSON (pour les pipelines CI)
-v, --verboseAffiche chaque fichier au fur et à mesure de la vérification

Le 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 ni 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 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 :

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

Le nom de votre projet issu de docs.json est automatiquement exclu.

Valide un seul fichier de spécification OpenAPI.

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

Valide :

  • Syntaxe YAML/JSON valide
  • Conformité au schéma OpenAPI 3.x
  • Définitions des endpoints
  • Les références $ref se résolvent correctement

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 tout de même publié, et vous êtes informé précisément du problème (une erreur d'analyse avec la ligne et la 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 repoussez 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 de snippet

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

Migration

Migre la documentation de Mintlify vers Jamdesk.

jamdesk migrate

Détecte votre configuration Mintlify et la convertit au format Jamdesk. Dans la même passe, elle renomme les composants dépréciés (par ex. CardGroup → Columns), déplace les fichiers MDX de snippet orphelins vers /snippets/ et réécrit les imports relatifs au parent, extrait les composants inline qui utilisent des hooks React vers /snippets/<name>.tsx avec 'use client', et corrige automatiquement les problèmes de syntaxe MDX mécaniques. 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
--detachMet en file d'attente et quitte immédiatement
--full-rebuildForce un build complet (sans cache)
--project <id>Déploie vers un projet spécifique
--allow-emptyAutorise 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 --yes

Interactif par défaut : vérifie Wrangler, valide votre compte Cloudflare, détecte automatiquement votre slug à partir de docs.json, génère les fichiers du Worker et effectue le déploiement si vous le souhaitez. Avec --yes, il génère les fichiers puis s'arrête — déployez avec npx wrangler deploy depuis le répertoire de sortie.

FlagDescription
--slug <slug>Slug du projet Jamdesk
--domain <domain>Domaine cible (par ex. 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-deployIgnore l'invite « déployer maintenant ? » lors d'une exécution interactive
--forceÉcrase le répertoire de sortie s'il existe déjà
--yesRépond à chaque invite avec sa valeur par défaut (mode CI). Ne déploie jamais et n'écrase jamais un répertoire existant
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érifications :

  • Version de Node.js (nécessite v20+)
  • Version de npm
  • docs.json existe et est valide
  • État du cache ~/.jamdesk
  • Autorisations 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 lors du prochain jamdesk dev.

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

jamdesk update

Vous pouvez également effectuer la mise à jour manuellement :

npm update -g jamdesk

Configuration

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

{
  "defaultPort": 3001,
  "verbose": false,
  "checkUpdates": true
}
OptionTypePar défautDescription
defaultPortnumber3000Port par défaut pour le serveur de développement
verbosebooleanfalseActive la sortie détaillée par défaut
checkUpdatesbooleantrueVérifie 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 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 obtenir 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 init pour créer un nouveau projet
  • Vérifiez que vous êtes dans le bon répertoire
  • Vérifiez que le fichier s'appelle exactement docs.json (et non doc.json ou similaire)

Le serveur de développement peut échouer au démarrage 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 obtenir une sortie d'erreur détaillée
  4. Vérifiez que Node.js v20+ est installé : node --version

La première exécution installe les dépendances dans ~/.jamdesk/node_modules.

Ceci est normal et ne se produit qu'une seule fois. Les exécutions suivantes 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 se peut que vous n'ayez pas les autorisations d'écriture sur le répertoire de cache.

Solutions :

  1. Vérifiez les autorisations 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

Aperçu local

Options avancées de développement local

Guide de migration

Migrer depuis Mintlify ou d'autres plateformes