CLI-Einstellungen (config.json)
Jedes Feld von config.json: Wie sich die openspec-CLI auf deinem Rechner verhält.
Speicherort
Die CLI speichert ihre rechnerweiten Einstellungen unter ~/.config/openspec/config.json auf macOS und Linux sowie unter %APPDATA%\openspec\config.json auf Windows. $XDG_CONFIG_HOME hat auf jeder Plattform Vorrang, wenn gesetzt. Der Befehl openspec config liest und bearbeitet diese Datei.
Felder
| Schlüssel | Typ | Erforderlich | Wirkung |
|---|---|---|---|
profile | string: core oder custom | Nein | Legt den Workflow-Satz fest, den openspec init installiert |
delivery | string: both, skills oder commands | Nein | Ob init Skills, Slash-Commands oder beides installiert |
workflows | Liste von Strings | Nein | Die Workflow-Liste, die ein custom-Profil installiert |
featureFlags | Map: Flag → Boolean | Nein | Boolesche Feature-Schalter |
defaultStore | string | Nein | Rechnerweite Fallback-Speicher für die Root-Auflösung |
openers | Map: Tool-ID → Einstellungen | Nein | Die Tools, in denen Worksets geöffnet werden, und wie jedes gestartet wird |
telemetry | Map | Nein | Telemetrie-Opt-out, anonyme ID und Status der Hinweis-Anzeige |
profile
Legt fest, welchen Workflow-Satz openspec init installiert. Standardmäßig core: propose, explore, apply, update, sync und archive. Bei Einstellung auf custom wird stattdessen genau die workflows-Liste installiert.
delivery
Ob init Workflows als Skills, als Slash-Commands oder als beides installiert. Standardmäßig both.
workflows
Die Workflows, die ein custom-Profil installiert; wird ignoriert, wenn das Profil core ist. Gültige IDs: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard.
featureFlags
Boolesche Schalter, benannt nach Flag-Name, festgelegt mit openspec config set featureFlags.<flag> true. Aktuell wird kein Flag von der CLI gelesen.
defaultStore
Die rechnerweite Fallback-Speicher-ID für die Root-Auflösung, die nur herangezogen wird, wenn kein --store-Flag, kein lokales openspec/ oder ein Projekt-store:-Zeiger auflöst. Die vollständige Hierarchie findest du unter Root-Auflösung.
openers
Die Tools, in denen ein Workset geöffnet werden kann, benannt nach Tool-ID. Bearbeite openers in der globalen config.json mit openspec config edit in deinem Terminal.
| Feld | Vertrag |
|---|---|
style | workspace-file oder attach-dirs. Erforderlich für ein neues Tool; optional für ein integriertes. |
label | Nicht-leerer String, der in der Tool-Auswahl angezeigt wird. Standardmäßig die ID für ein neues Tool. |
command | Nicht-leerer ausführbarer Name oder Pfad. Standardmäßig die ID für ein neues Tool. Argumente gehören in args, nicht in diesen String. |
args | Array von Strings, die vor der Workspace-Datei oder den Attach-Flags übergeben werden. Standardmäßig [] für ein neues Tool. |
attach_flag | Nicht-leerer String, der bei attach-dirs mit jedem Member-Pfad gekoppelt wird. Standardmäßig --add-dir für ein neues Tool. Wird bei workspace-file ignoriert. |
Integrierte Überschreibungen: code, cursor, claude und codex behalten alle Felder, die du weglässt. Das Setzen von args ersetzt die gesamte Argumentliste; [] löscht sie.
Start-Stile: workspace-file übergibt den generierten .code-workspace-Pfad an die ausführbare Datei. attach-dirs übergibt ein Flag/Pfad-Paar pro Member, einschließlich des primären Members.
Verfügbarkeit: attach-dirs-Opener, einschließlich Claude Code und Codex, sind standardmäßig deaktiviert. Du kannst sie nicht mit --tool auswählen oder speichern, und OpenSpec verweigert das Öffnen eines Worksets, das bereits einen solchen benennt. Konfigurations-Überschreibungen aktivieren den attach-dirs-Start-Stil nicht.
Validierung: Unbekannte Felder, ungültige Typen und ein neues Tool ohne style führen zu einem Fehler, wenn ein Workset-Befehl die Opener-Tabelle liest.
Dieses Beispiel fügt VS Code Insiders hinzu und übergibt --new-window, wenn der integrierte VS-Code-Opener gestartet wird:
{
"openers": {
"code-insiders": {
"style": "workspace-file",
"label": "VS Code Insiders"
},
"code": {
"args": ["--new-window"]
}
}
}Die entsprechende ausführbare Datei code-insiders oder code muss installiert und im PATH verfügbar sein.
telemetry
Die CLI speichert deine anonyme ID und ob der Hinweis beim ersten Start angezeigt wurde. Setze telemetry.enabled auf false, um die Telemetrie zu deaktivieren. Du kannst dich auch mit OPENSPEC_TELEMETRY=0 oder DO_NOT_TRACK=1 in deiner Umgebung abmelden.
Beispiel
Eine ausgefüllte config.json:
{
"profile": "core",
"delivery": "both",
"featureFlags": {},
"telemetry": {
"anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
"noticeSeen": true
}
}