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
| Chiave | Tipo | Obbligatorio | Effetto |
|---|---|---|---|
profile | stringa: core o custom | No | Seleziona l'insieme di workflow installato da openspec init |
delivery | stringa: both, skills o commands | No | Se init installa skill, slash command o entrambi |
workflows | lista di stringhe | No | La lista di workflow installati da un profilo custom |
featureFlags | mappa: flag → booleano | No | Interruttori booleani delle funzionalità |
defaultStore | stringa | No | Store di fallback a livello di macchina per la risoluzione della root |
openers | mappa: id strumento → impostazioni | No | Gli strumenti in cui si aprono i workset e come ciascuno viene avviato |
telemetry | mappa | No | Opt-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.
| Campo | Contratto |
|---|---|
style | workspace-file o attach-dirs. Obbligatorio per un nuovo strumento; opzionale per uno integrato. |
label | Stringa non vuota mostrata nel selettore degli strumenti. Il valore predefinito è l'id per un nuovo strumento. |
command | Nome 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. |
args | Array di stringhe passate prima del file workspace o dei flag di allegato. Il valore predefinito è [] per un nuovo strumento. |
attach_flag | Stringa 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:
{
"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:
{
"profile": "core",
"delivery": "both",
"featureFlags": {},
"telemetry": {
"anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
"noticeSeen": true
}
}