Jamdesk Documentation logo

Panoramica CLI

Visualizza i documenti in locale, valida la configurazione, verifica i link non funzionanti e migra piattaforme con la CLI open-source di Jamdesk.

La CLI di Jamdesk consente di visualizzare i documenti in locale, validare la configurazione, verificare i link non funzionanti e migrare 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

Dopo l'installazione, verifica che funzioni:

jamdesk --version

Requisiti

  • Node.js v20.0.0 o versione successiva
  • npm v8 o versione successiva (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

Avvia il server di sviluppo locale con ricaricamento automatico:

jamdesk dev

I documenti saranno disponibili all'indirizzo http://localhost:3000/docs

3
Valida prima del deploy

Verifica la presenza di errori di configurazione, link non funzionanti ed errori ortografici:

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

Comandi

Esegui jamdesk <command> --help per informazioni dettagliate su qualsiasi comando.

Sviluppo

Avvia il server di sviluppo locale con ricaricamento automatico.

jamdesk dev
jamdesk dev --port 3001

Funzionalità:

  • Validazione automatica all'avvio (schema di docs.json, sintassi MDX e specifiche OpenAPI referenziate; una specifica non valida arresta il server, così puoi correggerla prima del deploy)
  • Ricaricamento automatico quando cambiano i file MDX
  • Ricostruzione automatica della navigazione quando cambia docs.json
  • Ricaricamento del CSS personalizzato (style.css) al refresh del browser
  • Funzionalità di ricerca completa
  • Tutti i temi e i componenti disponibili

Opzioni:

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

Crea un nuovo progetto di documentazione.

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

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. È obbligatorio prima del deploy.

jamdesk login

Apre la dashboard di Jamdesk nel browser per l'autenticazione. Le credenziali vengono salvate localmente in ~/.jamdeskrc.

Guida all'autenticazione

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

Cancella le credenziali salvate.

jamdesk logout

Mostra l'utente autenticato corrente e verifica che la sessione sia valida.

jamdesk whoami

Validazione

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

jamdesk validate
jamdesk validate --skip-mdx

Verifica:

  • Sintassi JSON valida in docs.json
  • Campi obbligatori (name, navigation)
  • Valori dei temi validi
  • Errori di sintassi MDX (ad esempio caratteri < non sottoposti a escape)
  • Validazione delle specifiche OpenAPI (se configurata)
  • Conformità allo schema

Opzioni:

FlagDescrizione
--skip-mdxIgnora la validazione della sintassi MDX
-v, --verboseMostra un output dettagliato della validazione

Esegui questo comando prima del deploy per rilevare tempestivamente gli errori.

Cerca link interni non funzionanti nella documentazione.

jamdesk broken-links

Output di esempio:

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

Found 1 broken link in 45 files.

Rileva i link a pagine mancanti e gli errori di battitura. Consulta Link e navigazione per maggiori dettagli.

Corregge automaticamente gli avvisi relativi a link interni non funzionanti quando la destinazione non è ambigua. Gestisce due categorie:

  • Anchor con errori di battitura: un frammento come #instalation che dovrebbe chiaramente essere #installation
  • Deriva degli anchor tra lingue: una pagina tradotta ha rinominato i 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

Output di esempio dell'esecuzione a secco:

Planned fixes:

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

(dry run — no files written)

Una correzione viene scritta solo quando l'anchor corretto rimanda a un titolo esistente nella pagina di destinazione. I casi ambigui vengono lasciati alla revisione manuale.

Opzioni:

FlagDescrizione
--dry-runVisualizza le correzioni previste senza scrivere file
-y, --yesApplica le correzioni senza chiedere conferma
--types <list>Tipi di avviso separati da virgole da correggere (predefinito: tutti quelli supportati)
Guida alla correzione dei link

Procedura dettagliata per visualizzare in anteprima, applicare, controllare e salvare le correzioni

Verifica la presenza di errori ortografici nella documentazione.

jamdesk spellcheck

Output di esempio:

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.) per evitare che il gergo comune venga segnalato. Ignora blocchi di codice, codice inline, frontmatter, JSX, URL e percorsi di file. Attualmente supporta solo l'inglese; è previsto il supporto per dizionari multilingue.

Opzioni:

FlagDescrizione
--fixCorregge interattivamente gli errori ortografici o li aggiunge all'elenco di esclusione
--jsonRestituisce l'output in formato JSON (per le pipeline CI)
-v, --verboseMostra ogni file durante la verifica

La modalità di correzione interattiva (--fix) esamina ogni parola errata distinta:

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 sostituisce la parola con un suggerimento in tutti i file (in modo sicuro per la prosa, senza modificare blocchi di codice o attributi JSX). Vengono mostrati fino a 3 suggerimenti; la corrispondenza migliore è contrassegnata come consigliata.
  • Ignore aggiunge la parola a spellcheck.ignore in docs.json, così non verrà più segnalata
  • Skip non esegue alcuna azione durante questa esecuzione

Le modifiche vengono visualizzate in anteprima e richiedono conferma prima dell'applicazione.

Elenco di esclusione personalizzato: aggiungi i termini specifici del progetto a docs.json:

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

Il nome del progetto indicato in docs.json viene escluso automaticamente.

Valida un singolo file di specifica OpenAPI.

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

Elementi validati:

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

Le specifiche OpenAPI vengono validate in tre punti. jamdesk dev si arresta all'avvio se una specifica referenziata non è valida, mentre jamdesk validate / jamdesk openapi-check verificano le specifiche su richiesta. Durante il deploy, la build cloud valida anch'essa le specifiche referenziate, ma in quel caso si tratta di un avviso non bloccante: il resto della documentazione viene comunque pubblicato e ricevi informazioni precise sull'errore (un errore di analisi con riga e colonna, un $ref non risolto o un operationId duplicato) tramite email e nell'elenco delle build della dashboard. Correggi la specifica ed esegui nuovamente il push per rimuovere l'avviso.

Gestione dei file

Rinomina una pagina e aggiorna automaticamente tutti i riferimenti.

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

Questa operazione:

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

Usa questo comando invece di rinominare manualmente i file per mantenere sincronizzati tutti i riferimenti.

Migrazione

Migra la documentazione da Mintlify a Jamdesk.

jamdesk migrate

Rileva la configurazione Mintlify e la converte nel formato Jamdesk. Nello stesso passaggio rinomina i componenti deprecati (ad esempio CardGroupColumns), sposta i file MDX di snippet orfani in /snippets/ e riscrive gli import relativi al percorso padre, estrae i componenti inline che usano gli hook React in /snippets/<name>.tsx con 'use client' e corregge automaticamente i problemi meccanici di sintassi MDX. L'operazione è idempotente, quindi puoi eseguirla nuovamente senza rischi.

Guida alla migrazione

Guida completa alla migrazione passo passo per Mintlify e altre piattaforme

Deploy

Carica la documentazione e avvia una build direttamente dal terminale.

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

L'avanzamento viene mostrato in tempo reale al completamento di ogni fase della build. Disponibile anche come jamdesk push.

FlagDescrizione
--detachAccoda l'operazione ed esce immediatamente
--full-rebuildForza una ricostruzione completa (senza cache)
--project <id>Esegue il deploy in un progetto specifico
--allow-emptyConsente il deploy senza pagine di contenuto .mdx (rifiutato per impostazione predefinita)
Guida al deploy CLI

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

Crea e distribuisce un Worker Cloudflare che inoltra /docs del tuo dominio al tuo sito Jamdesk.

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

Per impostazione predefinita è interattivo: verifica Wrangler, controlla il tuo account Cloudflare, rileva automaticamente lo slug da docs.json, genera i file del Worker ed eventualmente esegue il deploy. Con --yes genera i file e si arresta: esegui il deploy 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-deployIgnora la richiesta "eseguire ora il deploy?" in un'esecuzione interattiva
--forceSovrascrive la directory di output se esiste già
--yesRisponde a ogni richiesta con il valore predefinito (modalità CI). Non esegue mai il deploy né sovrascrive una directory esistente
Guida ai Workers Cloudflare

Configurazione del Worker, pattern delle route e configurazione della cache

Manutenzione

Controlla l'ambiente e diagnostica i problemi.

jamdesk doctor

Verifica:

  • Versione di Node.js (richiede v20+)
  • Versione di npm
  • Esistenza e validità di docs.json
  • Stato della cache ~/.jamdesk
  • Permessi di scrittura

Esegui questo comando se riscontri problemi con la CLI.

Svuota la directory della cache ~/.jamdesk.

jamdesk clean

Rimuove le dipendenze memorizzate nella cache e gli artefatti di build. Usalo per:

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

Le dipendenze verranno reinstallate alla successiva esecuzione di jamdesk dev.

Aggiorna la CLI alla versione più recente.

jamdesk update

Puoi anche eseguire l'aggiornamento 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
verbosebooleanfalseAbilita l'output dettagliato per impostazione predefinita
checkUpdatesbooleantrueVerifica la disponibilità di aggiornamenti della CLI all'avvio

Risoluzione dei problemi

I file MDX vengono analizzati come JSX, quindi 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 simbolo minore letterale: Values &lt;50% are low
  • Riscrivi il testo per evitare il carattere: "Below 50%" invece di "<50%"
  • Esegui jamdesk validate per messaggi di errore dettagliati con i numeri di riga

Assicurati di trovarti in una directory contenente un file docs.json.

Soluzioni:

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

Il server di sviluppo potrebbe non avviarsi per diversi motivi.

Prova questi passaggi:

  1. Esegui jamdesk doctor per controllare 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 v20+ sia installato: node --version

La prima esecuzione installa le dipendenze in ~/.jamdesk/node_modules.

È normale e avviene una sola volta. Le esecuzioni successive saranno molto più rapide.

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 disporre dei permessi di scrittura per la directory della cache.

Soluzioni:

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

I problemi persistono? Consulta la guida alla risoluzione dei problemi della CLI o apri una segnalazione su GitHub.

Qual è il prossimo passo?

Autenticazione

Flusso di accesso, sessioni e risoluzione dei problemi

Deploy CLI

Esegui il deploy dal terminale

Anteprima locale

Opzioni avanzate per lo sviluppo locale

Guida alla migrazione

Migra da Mintlify o da altre piattaforme