Jamdesk Documentation logo

Panoramica CLI

Visualizza in anteprima la documentazione in locale, valida la configurazione, verifica i link interrotti ed esegui la migrazione da altre piattaforme con la CLI open source di Jamdesk.

La CLI di Jamdesk ti permette di visualizzare in anteprima la documentazione in locale, validare la configurazione, verificare i link interrotti ed eseguire la migrazione da altre piattaforme. È open source con licenza Apache License 2.0.

Installazione

Installa globalmente da npm per usare jamdesk da qualsiasi posizione:

npm install -g jamdesk

Verifica l'installazione:

jamdesk --version

Requisiti

  • Node.js 22.18+ oppure 24.11+ (Node.js 23 non è supportato)
  • npm v8 o superiore (consigliato)

Avvio rapido

1
Crea un progetto

Crea un nuovo progetto di documentazione:

jamdesk init my-docs
cd my-docs
2
Avvia il server di sviluppo

Esegui il server di sviluppo locale con hot reload:

jamdesk dev

La tua documentazione è disponibile su http://localhost:3000/docs

3
Valida prima del deploy

Verifica errori di configurazione, link interrotti e ortografia:

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

Comandi

Esegui jamdesk <command> --help per i dettagli di qualsiasi comando.

Sviluppo

Avvia il server di sviluppo locale con hot reload.

jamdesk dev
jamdesk dev --port 3001

Funzionalità:

  • Validazione automatica all'avvio (schema docs.json, sintassi MDX e specifiche OpenAPI referenziate. Una specifica non valida interrompe il server.)
  • Hot reload alla modifica dei file MDX
  • Ricostruzione automatica della navigazione alla modifica di docs.json
  • Ricaricamento di CSS personalizzato (style.css) al refresh del browser
  • Ricerca
  • Tutti i temi e i componenti

Opzioni:

FlagDescrizione
-p, --port <port>Porta su cui eseguire (predefinita: 3000)
-v, --verboseAttiva l'output dettagliato

Crea un nuovo progetto di documentazione.

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

Questo crea un nuovo progetto con:

  • File di configurazione docs.json
  • Pagine MDX di esempio
  • Struttura di cartelle consigliata

Autenticazione

Accedi a Jamdesk tramite il browser. Necessario prima del deploy.

jamdesk login

Apre la dashboard di Jamdesk nel browser. La CLI salva le credenziali in ~/.jamdeskrc.

Guida all'autenticazione

Flusso di autenticazione nel browser, gestione delle sessioni e risoluzione dei problemi

Elimina le credenziali salvate.

jamdesk logout

Mostra l'utente connesso e verifica la sessione.

jamdesk whoami

Validazione

Valida la configurazione docs.json, la sintassi MDX e le specifiche OpenAPI.

jamdesk validate
jamdesk validate --skip-mdx

Controlli:

  • Sintassi JSON valida in docs.json
  • Campi obbligatori (name, navigation)
  • Valori di tema validi
  • Errori di sintassi MDX (ad esempio caratteri < non escapati)
  • Validazione della specifica OpenAPI (se configurata)
  • Conformità allo schema

Opzioni:

FlagDescrizione
--skip-mdxSalta la validazione della sintassi MDX
-v, --verboseMostra l'output dettagliato della validazione

Esegui questo comando prima del deploy per individuare subito gli errori.

Analizza la documentazione alla ricerca di link interni interrotti.

jamdesk broken-links

Esempio di output:

docs/getting-started.mdx:15 - /docs/quikstart
  Did you mean: /docs/quickstart

Found 1 broken link in 45 files.

Rileva link verso pagine mancanti ed errori di battitura. Consulta Link e navigazione per i dettagli.

Correggi automaticamente gli avvisi sui link interni interrotti che hanno un obiettivo univoco. Corregge due tipi di problemi:

  • Ancore con errori di battitura: un frammento come #instalation che chiaramente dovrebbe essere #installation
  • Deriva delle ancore tra lingue: una pagina tradotta ha rinominato i suoi titoli, ma i link in quella lingua puntano ancora al vecchio frammento inglese
# Preview what would change without touching any files
jamdesk fix --dry-run

# Apply fixes (prompts for confirmation)
jamdesk fix

Esempio di output dell'anteprima:

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 scrive una correzione solo quando l'ancora corretta corrisponde a un titolo reale nella pagina di destinazione. Lascia i casi ambigui per la revisione manuale.

Opzioni:

FlagDescrizione
--dry-runMostra in anteprima le correzioni senza scrivere alcun file
-y, --yesApplica le correzioni senza richiedere conferma
--types <list>Tipi di avviso da correggere, separati da virgola (predefinito: tutti quelli supportati)
--no-aiSalta le correzioni con AI e usa solo quelle che Jamdesk può determinare senza AI
--project <id>ID del progetto per le correzioni con AI (predefinito: projectId in docs.json)
--jsonStampa il piano di correzione e i problemi non correggibili in formato JSON, per un agente AI. Non scrive file e non chiede nulla. Richiede CLI 1.1.229 o successiva
Guida alla correzione dei link interrotti

Procedura passo passo: anteprima, applicazione, revisione e commit

Mostra o modifica l'impostazione AI Fixes del progetto, la stessa presente nelle Impostazioni della dashboard.

# 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 off

Esempio di output:

✓ AI Fixes set to Auto-fix
Jamdesk commits fixes to main after the next build. Pull before you push. Undo runs from the dashboard.

Esegui prima jamdesk login. Il comando usa il projectId in docs.json, oppure il progetto indicato con --project. Richiede CLI 1.1.229 o successiva.

FlagDescrizione
--project <id>ID del progetto (predefinito: projectId in docs.json)
Correggi con AI

Cosa fa ciascuna modalità e come annullare una correzione automatica

Verifica la presenza di errori ortografici nella documentazione.

jamdesk spellcheck

Esempio di output:

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.

Usa un dizionario inglese con oltre 150 termini tecnici integrati (API, GraphQL, Kubernetes, React, ecc.). Salta blocchi di codice, codice inline, frontmatter, JSX, URL e percorsi dei file. Per ora solo inglese. I dizionari multilingua sono previsti.

Opzioni:

FlagDescrizione
--fixCorreggi in modo interattivo gli errori o aggiungi alla lista di ignorati
--jsonOutput in formato JSON (per pipeline CI)
-v, --verboseMostra ogni file mentre viene controllato

Modalità di correzione interattiva (--fix) scorre ogni parola unica con errore:

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
  • Correggi sostituisce la parola con un suggerimento in ogni file. Non modifica mai blocchi di codice o attributi JSX. Il prompt mostra fino a 3 suggerimenti e contrassegna come consigliata la corrispondenza migliore.
  • Ignora aggiunge la parola a spellcheck.ignore nel tuo docs.json. La parola non verrà più segnalata.
  • Salta non fa nulla per questa esecuzione

Puoi visualizzare in anteprima e confermare le modifiche prima che vengano applicate.

Lista di parole da ignorare: aggiungi termini specifici del progetto al tuo docs.json:

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

Spellcheck ignora il nome del progetto presente in docs.json.

Valida un singolo file di specifica OpenAPI.

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

Valida:

  • Sintassi YAML/JSON valida
  • Conformità allo schema OpenAPI 3.x
  • Definizioni degli endpoint
  • Corretta risoluzione dei riferimenti $ref

Jamdesk valida le specifiche OpenAPI in tre punti. jamdesk dev si ferma all'avvio se una specifica referenziata non è valida. jamdesk validate e jamdesk openapi-check controllano le specifiche su richiesta. La build nel cloud verifica le specifiche referenziate al deploy, dove una specifica non valida è un avviso non bloccante. Il resto della documentazione viene comunque pubblicato. L'email e l'elenco delle build nella dashboard indicano il problema: un errore di parsing con riga e colonna, un $ref non risolto o un operationId duplicato. Correggi la specifica e fai di nuovo push per risolvere.

Gestione dei file

Rinomina una pagina e aggiorna tutti i riferimenti ad essa.

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

Questo comando:

  • Rinomina il file
  • Aggiorna la navigazione in docs.json
  • Aggiorna i link in tutti gli altri file MDX
  • Aggiorna i riferimenti agli snippet

Usa questo comando invece di rinominare manualmente. I riferimenti restano sincronizzati.

Migrazione

Esegui la migrazione della documentazione da Mintlify a Jamdesk.

jamdesk migrate

Rileva la configurazione di Mintlify e la converte nel formato Jamdesk. La stessa operazione:

  • Rinomina i componenti obsoleti (ad esempio CardGroup → Columns)
  • Sposta i file snippet MDX orfani in /snippets/ e riscrive gli import relativi al genitore
  • Estrae i componenti inline che usano React hooks in /snippets/<name>.tsx con 'use client'
  • Corregge i problemi meccanici di sintassi MDX

Il comando è idempotente. Rieseguirlo è sicuro.

Guida alla migrazione

Guida completa alla migrazione, con istruzioni passo passo per Mintlify e altre piattaforme

Deploy

Scarica un progetto la cui documentazione è ospitata da Jamdesk (senza GitHub) come repository git, oppure unisci le nuove modifiche di Jamdesk in una copia già scaricata.

jamdesk pull
jamdesk pull --project your-project
jamdesk pull --dir ./docs-copy

Modifica i file, quindi esegui jamdesk deploy in quella cartella per pubblicarli. Richiede CLI 1.1.227 o successiva e git.

FlagDescrizione
--project <id-or-slug>Scarica un progetto specifico (salta la selezione interattiva)
--dir <path>Cartella di destinazione (predefinita: ./<slug>)
--forceTrasforma una cartella che contiene già file, come una vecchia copia in sola lettura, in una copia git. I file restano come modifiche non committate
Modifica sul tuo computer

Pubblicazione, unione delle modifiche di Jamdesk, conflitti e file che deploy rifiuta

Carica la documentazione e avvia una build dal terminale.

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

La CLI mostra ogni fase della build man mano che viene completata. Disponibile anche come jamdesk push.

FlagDescrizione
--detachAccoda la build ed esce immediatamente
--full-rebuildForza una ricostruzione completa (senza cache)
--project <id>Esegue il deploy su un progetto specifico
--allow-emptyConsente il deploy con zero pagine di contenuto .mdx (rifiutato per impostazione predefinita)
-m, --message <text>Messaggio di commit in una cartella creata da jamdesk pull
--allow-secret-filesPubblica file dall'aspetto sensibile da una cartella creata da jamdesk pull
Guida al deploy da CLI

Pipeline di deploy completa, fasi di build, riferimento agli errori e risoluzione dei problemi

Genera e distribuisce un Cloudflare Worker che fa da proxy per /docs sul tuo dominio verso il tuo sito Jamdesk.

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

Il comando è interattivo per impostazione predefinita. Verifica Wrangler, controlla il tuo account Cloudflare, rileva lo slug da docs.json, genera i file del Worker e propone il deploy. --yes genera i file e si ferma. Distribuiscili con npx wrangler deploy dalla directory di output.

FlagDescrizione
--slug <slug>Slug del progetto Jamdesk
--domain <domain>Dominio di destinazione (ad esempio example.com)
--path <path>Prefisso del percorso (predefinito: /docs)
--output-dir <dir>Directory di output (predefinita: cloudflare-worker/)
--skip-deploySalta la richiesta "distribuire ora?" in un'esecuzione interattiva
--forceSovrascrive la directory di output se esiste già
--yesRisponde a ogni domanda con il valore predefinito (modalità CI). Non esegue mai il deploy e non sovrascrive mai una directory esistente
Guida a Cloudflare Workers

Configurazione del Worker, pattern delle route e configurazione della cache

Manutenzione

Verifica l'ambiente e diagnostica i problemi.

jamdesk doctor

Controlli:

  • Versione di Node.js (richiede 22.18+ oppure 24.11+)
  • Node.js che compare per primo nel PATH, quello usato da jamdesk dev
  • Versione di npm
  • Esistenza e validità di docs.json
  • Stato della cache di ~/.jamdesk
  • Permessi di scrittura

Esegui questo comando quando la CLI non si comporta correttamente.

Svuota la directory di cache ~/.jamdesk.

jamdesk clean

Rimuove dipendenze in cache e artefatti di build. Usalo per:

  • Liberare spazio su disco
  • Risolvere una cache danneggiata
  • Forzare una nuova installazione delle dipendenze

Il prossimo jamdesk dev reinstalla le dipendenze.

Aggiorna la CLI all'ultima versione.

jamdesk update

Puoi anche aggiornare manualmente:

npm update -g jamdesk

Configurazione

Crea ~/.jamdeskrc per impostare le opzioni predefinite:

{
  "defaultPort": 3001,
  "verbose": false,
  "checkUpdates": true
}
OpzioneTipoPredefinitoDescrizione
defaultPortnumber3000Porta predefinita per il server di sviluppo
verbosebooleanfalseAttiva l'output dettagliato per impostazione predefinita
checkUpdatesbooleantrueVerifica la presenza di aggiornamenti della CLI all'avvio

Risoluzione dei problemi

MDX viene analizzato come JSX. Alcuni caratteri hanno un significato speciale.

Problema comune: il carattere < viene interpretato come l'inizio di un tag 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

Soluzioni:

  • Usa &lt; per il minore letterale: Valori &lt;50% sono bassi
  • Riscrivi per evitare il carattere: "Sotto il 50%" invece di "<50%"
  • Esegui jamdesk validate per messaggi di errore dettagliati con i numeri di riga

Esegui il comando da una directory che contiene un file docs.json.

Soluzioni:

  • Esegui jamdesk init per creare un nuovo progetto
  • Verifica di essere nella directory corretta
  • Controlla che il file si chiami esattamente docs.json (non doc.json o simili)

Prova questi passaggi:

  1. Esegui jamdesk doctor per verificare l'ambiente
  2. Esegui jamdesk clean per svuotare la cache
  3. Usa jamdesk dev --verbose per un output dettagliato degli errori
  4. Verifica che Node.js 22.18+ oppure 24.11+ sia installato: node --version

Al primo avvio le dipendenze vengono installate in ~/.jamdesk/node_modules.

Accade una sola volta. Gli avvii successivi sono più veloci.

Un altro processo sta usando la porta predefinita.

Soluzioni:

# Use a different port
jamdesk dev --port 3001

# Or set a default in ~/.jamdeskrc
{ "defaultPort": 3001 }

Potresti non avere i permessi di scrittura sulla directory di cache.

Soluzioni:

  1. Controlla i permessi di ~/.jamdesk: ls -la ~/.jamdesk
  2. Correggi la proprietà: sudo chown -R $(whoami) ~/.jamdesk
  3. Esegui jamdesk clean e riprova

Hai ancora problemi? Consulta la guida alla risoluzione dei problemi della CLI oppure apri una segnalazione su GitHub.

Cosa c'è dopo?

Autenticazione

Flusso di login, sessioni e risoluzione dei problemi

Deploy da CLI

Esegui il deploy dal terminale

Anteprima locale

Opzioni avanzate per lo sviluppo locale

Guida alla migrazione

Migra da Mintlify o da altre piattaforme