Skip to content

Impostazioni CLI (config.json) ​

Ogni campo di config.json: come si comporta la CLI openspec sulla tua macchina.

Posizione ​

La CLI mantiene le sue impostazioni a livello di macchina in ~/.config/openspec/config.json su macOS e Linux, e in %APPDATA%\openspec\config.json su Windows. $XDG_CONFIG_HOME ha la precedenza su ogni piattaforma quando impostata. Il comando openspec config lo legge e lo modifica.

Campi ​

ChiaveTipoObbligatorioEffetto
profilestringa: core o customNoSeleziona l'insieme di workflow installato da openspec init
deliverystringa: both, skills o commandsNoSe init installa skill, slash command o entrambi
workflowslista di stringheNoLa lista di workflow installati da un profilo custom
featureFlagsmappa: flag → booleanoNoInterruttori booleani delle funzionalità
defaultStorestringaNoStore di fallback a livello di macchina per la risoluzione della root
openersmappa: id strumento → impostazioniNoGli strumenti in cui si aprono i workset e come ciascuno viene avviato
telemetrymappaNoOpt-out della telemetria, id anonimo e stato di visualizzazione dell'avviso

profile ​

Quale insieme di workflow installa openspec init. Il valore predefinito è core: propose, explore, apply, update, sync e archive. Impostando custom viene installata esattamente la lista workflows.

delivery ​

Se init installa i workflow come skill, come slash command o entrambi. Il valore predefinito è both.

workflows ​

I workflow installati da un profilo custom; ignorati quando il profilo è core. Id validi: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard.

featureFlags ​

Interruttori booleani indicizzati per nome del flag, impostati con openspec config set featureFlags.<flag> true. Nessun flag viene letto dalla CLI al momento.

defaultStore ​

L'id dello store di fallback a livello di macchina per la risoluzione della root, consultato solo quando nessun flag --store, una directory openspec/ locale o un puntatore store: di progetto risolve. La scaletta completa è Risoluzione della root.

openers ​

Gli strumenti in cui un workset può essere aperto, indicizzati per id strumento. Modifica openers nel config.json globale con openspec config edit nel tuo terminale.

CampoContratto
styleworkspace-file o attach-dirs. Obbligatorio per un nuovo strumento; opzionale per uno integrato.
labelStringa non vuota mostrata nel selettore degli strumenti. Il valore predefinito è l'id per un nuovo strumento.
commandNome o percorso di un eseguibile non vuoto. Il valore predefinito è l'id per un nuovo strumento. Metti gli argomenti in args, non in questa stringa.
argsArray di stringhe passate prima del file workspace o dei flag di allegato. Il valore predefinito è [] per un nuovo strumento.
attach_flagStringa non vuota associata a ciascun percorso membro per attach-dirs. Il valore predefinito è --add-dir per un nuovo strumento. Ignorato per workspace-file.

Sovrascritture integrate: code, cursor, claude e codex mantengono tutti i campi che ometti. Impostare args sostituisce l'intero elenco di argomenti; [] lo svuota.

Stili di avvio: workspace-file passa il percorso .code-workspace generato all'eseguibile. attach-dirs passa una coppia flag/percorso per ciascun membro, inclusi il membro primario.

Disponibilità: Gli opener attach-dirs, inclusi Claude Code e Codex, sono disabilitati per impostazione predefinita. Non puoi selezionarli o salvarli con --tool, e OpenSpec si rifiuta di aprire un workset che li nomina già. Le sovrascritture di configurazione non abilitano lo stile di avvio attach-dirs.

Validazione: campi sconosciuti, tipi non validi e un nuovo strumento senza style causano un errore quando un comando workset legge la tabella degli opener.

Questo esempio aggiunge VS Code Insiders e passa --new-window ogni volta che viene avviato l'opener VS Code integrato:

json
{
  "openers": {
    "code-insiders": {
      "style": "workspace-file",
      "label": "VS Code Insiders"
    },
    "code": {
      "args": ["--new-window"]
    }
  }
}

L'eseguibile corrispondente code-insiders o code deve essere installato e disponibile su PATH.

telemetry ​

La CLI memorizza il tuo id anonimo e se l'avviso di primo avvio è stato mostrato. Imposta telemetry.enabled su false per disabilitare la telemetria. Puoi anche rinunciare con OPENSPEC_TELEMETRY=0 o DO_NOT_TRACK=1 nel tuo ambiente.

Esempio ​

Un config.json compilato:

json
{
  "profile": "core",
  "delivery": "both",
  "featureFlags": {},
  "telemetry": {
    "anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
    "noticeSeen": true
  }
}