Skip to content

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üsselTypErforderlichWirkung
profilestring: core oder customNeinLegt den Workflow-Satz fest, den openspec init installiert
deliverystring: both, skills oder commandsNeinOb init Skills, Slash-Commands oder beides installiert
workflowsListe von StringsNeinDie Workflow-Liste, die ein custom-Profil installiert
featureFlagsMap: Flag → BooleanNeinBoolesche Feature-Schalter
defaultStorestringNeinRechnerweite Fallback-Speicher für die Root-Auflösung
openersMap: Tool-ID → EinstellungenNeinDie Tools, in denen Worksets geöffnet werden, und wie jedes gestartet wird
telemetryMapNeinTelemetrie-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.

FeldVertrag
styleworkspace-file oder attach-dirs. Erforderlich für ein neues Tool; optional für ein integriertes.
labelNicht-leerer String, der in der Tool-Auswahl angezeigt wird. Standardmäßig die ID für ein neues Tool.
commandNicht-leerer ausführbarer Name oder Pfad. Standardmäßig die ID für ein neues Tool. Argumente gehören in args, nicht in diesen String.
argsArray von Strings, die vor der Workspace-Datei oder den Attach-Flags übergeben werden. Standardmäßig [] für ein neues Tool.
attach_flagNicht-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:

json
{
  "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:

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