Skip to content

CLI ayarları (config.json) ​

config.json'un her alanı: openspec CLI'nin makinenizde nasıl davrandığı.

Konum ​

CLI, makine düzeyindeki ayarlarını macOS ve Linux'ta ~/.config/openspec/config.json, Windows'ta ise %APPDATA%\openspec\config.json yolunda saklar. Ayarlandığında $XDG_CONFIG_HOME her platformda öncelik kazanır. openspec config komutu bu dosyayı okur ve düzenler.

Alanlar ​

AnahtarTürZorunluEtki
profilestring: core veya customHayıropenspec init komutunun yükleyeceği iş akışı setini seçer
deliverystring: both, skills veya commandsHayırinit'in skill'leri mi, slash komutlarını mı yoksa ikisini mi yükleyeceği
workflowsstring listesiHayırBir custom profilin yüklediği iş akışı listesi
featureFlagsmap: bayrak → booleanHayırBoole özellik anahtarları
defaultStorestringHayırKök çözümlemesi için makine düzeyinde yedek store
openersmap: araç id → ayarlarHayırWorkset'lerin açıldığı araçlar ve her birinin nasıl başlatıldığı
telemetrymapHayırTelemetri devre dışı bırakma, anonim kimlik ve bildirim görüldü durumu

profile ​

openspec init komutunun hangi iş akışı setini yükleyeceğini belirler. Varsayılan değer core'dur: propose, explore, apply, update, sync ve archive. custom olarak ayarlandığında bunun yerine tam olarak workflows listesi yüklenir.

delivery ​

init'in iş akışlarını skill olarak mı, slash komutları olarak mı yoksa her ikisi olarak mı yükleyeceğini belirler. Varsayılan değer both.

workflows ​

Bir custom profilin yüklediği iş akışları; profil core iken yok sayılır. Geçerli id'ler: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard.

featureFlags ​

Bayrak adına göre anahtarlanan Boole özellik anahtarları; openspec config set featureFlags.<flag> true komutuyla ayarlanır. Şu anda CLI hiçbir bayrağı okumamaktadır.

defaultStore ​

Kök çözümlemesi için makine düzeyindeki yedek store id'si; yalnızca --store bayrağı, yerel openspec/ dizini veya proje store: işaretçisi çözüm sağlamadığında dikkate alınır. Tam hiyerarşi Kök çözümlemesi bölümünde açıklanmıştır.

openers ​

Bir workset'in açılabileceği araçlar; araç id'sine göre anahtarlanır. Global config.json içindeki openers değerini terminalinizde openspec config edit komutuyla düzenleyin.

AlanKural
styleworkspace-file veya attach-dirs. Yeni bir araç için zorunlu; yerleşik bir araç için isteğe bağlı.
labelAraç seçicide gösterilen, boş olmayan bir string. Yeni bir araç için varsayılan olarak id kullanılır.
commandBoş olmayan bir çalıştırılabilir dosya adı veya yolu. Yeni bir araç için varsayılan olarak id kullanılır. Argümanları bu string'e değil args alanına yazın.
argsWorkspace dosyasından veya attach bayraklarından önce iletilen string dizisi. Yeni bir araç için varsayılan değer [].
attach_flagattach-dirs için her üye yolu ile eşleştirilen, boş olmayan bir string. Yeni bir araç için varsayılan değer --add-dir. workspace-file için yok sayılır.

Yerleşik geçersiz kılmalar: code, cursor, claude ve codex, atladığınız alanları korur. args ayarlamak argüman listesinin tamamının yerine geçer; [] ise listeyi temizler.

Başlatma stilleri: workspace-file, oluşturulan .code-workspace yolunu çalıştırılabilir dosyaya iletir. attach-dirs, birincil üye de dahil olmak üzere her üye için bir bayrak/yol çifti iletir.

Kullanılabilirlik: Claude Code ve Codex dahil attach-dirs açıcıları varsayılan olarak devre dışıdır. Bunları --tool ile seçemez veya kaydedemezsiniz; OpenSpec, zaten birini adıyla belirten bir workset'i açmayı reddeder. Yapılandırma geçersiz kılmaları attach-dirs başlatma stilini etkinleştirmez.

Doğrulama: Bilinmeyen alanlar, geçersiz türler ve style içermeyen yeni araçlar, bir workset komutu açıcı tablosunu okuduğunda hata verir.

Bu örnek, VS Code Insiders'ı ekler ve yerleşik VS Code açıcısı her başlatıldığında --new-window geçirir:

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

İlgili code-insiders veya code çalıştırılabilir dosyasının yüklü olması ve PATH üzerinde bulunması gerekir.

telemetry ​

CLI, anonim kimliğinizi ve ilk çalıştırma bildiriminin gösterilip gösterilmediğini saklar. Telemetriyi devre dışı bırakmak için telemetry.enabled değerini false olarak ayarlayın. Ortamınızda OPENSPEC_TELEMETRY=0 veya DO_NOT_TRACK=1 ayarlayarak da devre dışı bırakabilirsiniz.

Örnek ​

Doldurulmuş bir config.json:

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