CLI Referansı
OpenSpec CLI (openspec), proje kurulumu, doğrulama, durum incelemesi ve yönetim için terminal komutları sağlar. Bu komutlar, Komutlar belgesinde açıklanan yapay zeka eğik çizgi komutlarını (/opsx:propose gibi) tamamlar.
Özet
| Kategori | Komutlar | Amaç |
|---|---|---|
| Kurulum | init, update | Projenizde OpenSpec’i başlatır ve günceller |
| Depolar (bağımsız OpenSpec depoları) | store setup, store register, store unregister, store remove, store list, store doctor | Depoları yönetir — kaydettiğiniz bağımsız OpenSpec depoları |
| Sağlık | doctor | Çözümlenen kök için ilişki sağlığını raporlar |
| Çalışma bağlamı | context | Çalışma setini oluşturur (kök + başvurulan depolar) |
| Kişisel çalışma setleri | workset create, workset list, workset open, workset remove | Aracınızda kişisel, yerel çalışma görünümlerini saklar ve açar |
| Gözatma | list, view, show | Değişiklikleri ve belirtimleri keşfeder |
| Doğrulama | validate | Değişiklikleri ve belirtimleri sorunlara karşı denetler |
| Yaşam döngüsü | archive | Tamamlanan değişiklikleri sonlandırır |
| İş akışı | new change, status, instructions, templates, schemas | Artifakt odaklı iş akışı desteği |
| Şemalar | schema init, schema fork, schema validate, schema which | Özel iş akışları oluşturur ve yönetir |
| Yapılandırma | config | Ayarları görüntüler ve değiştirir |
| Yardımcı | feedback, completion | Geri bildirim ve kabuk entegrasyonu |
İnsan vs. Ajan Komutları
Çoğu CLI komutu, terminalde insan kullanımı için tasarlanmıştır. Bazı komutlar ayrıca JSON çıktısı aracılığıyla ajan/betik kullanımı da destekler.
Sadece İnsan Komutları
Bu komutlar etkileşimli olup terminal kullanımı için tasarlanmıştır:
| Komut | Amaç |
|---|---|
openspec init | Projeyi başlat (etkileşimli sorular) |
openspec view | Etkileşimli gösterge paneli |
openspec workset open <name> | Kaydedilmiş bir çalışma setini aç (düzenleyici penceresi veya terminal ajan oturumu) |
openspec config edit | Yapılandırmayı düzenleyicide aç |
openspec feedback | GitHub üzerinden geri bildirim gönder |
openspec completion install | Kabuk tamamlamalarını yükle |
Ajan Uyumlu Komutlar
Bu komutlar, yapay zeka ajanları ve betikler tarafından programatik kullanım için --json çıktısını destekler:
| Komut | İnsan Kullanımı | Ajan Kullanımı |
|---|---|---|
openspec list | Değişiklikleri/spesifikasyonları görüntüle | Yapılandırılmış veri için --json |
openspec show <item> | İçeriği oku | Ayrıştırma için --json |
openspec validate | Sorunları kontrol et | Toplu doğrulama için --all --json |
openspec status | Ürün ilerlemesini gör | Yapılandırılmış durum için --json |
openspec instructions | Sonraki adımları al | Ajan talimatları için --json |
openspec templates | Şablon yollarını bul | Yol çözümleme için --json |
openspec schemas | Kullanılabilir şemaları listele | Şema keşfi için --json; kayıtlı bir kök seçmek için --store <id> |
openspec store setup <id> | Yerel bir depoyu oluştur ve kaydet | Yapılandırılmış kurulum çıktısı için açık girdilerle --json |
openspec store register <path> | Mevcut bir depoyu kaydet | Yapılandırılmış kayıt çıktısı için --json |
openspec store unregister <id> | Yerel bir depo kaydını unut | Yapılandırılmış temizlik çıktısı için --json |
openspec store remove <id> | Kayıtlı yerel depo klasörünü sil | Etkileşimsiz silme için --yes --json |
openspec store list | Kayıtlı depoları görüntüle | Yapılandırılmış kayıtlar için --json |
openspec store doctor | Yerel depo kurulumunu kontrol et | Yapılandırılmış tanı için --json |
openspec new change <id> | Depo yerel değişiklik iskeletini oluştur | --json, ayrıca OpenSpec kökü olarak kayıtlı bir depo kullanmak için --store <id> |
openspec workset create [name] | Kişisel çalışma görünümü oluştur | Etkileşimsiz birleştirme için --member <path> --json |
openspec workset list | Kaydedilmiş çalışma setlerini görüntüle | Yapılandırılmış görünümler için --json |
openspec workset remove <name> | Kaydedilmiş bir görünümü sil | Etkileşimsiz kaldırma için --yes --json |
Küresel Seçenekler
Bu seçenekler tüm komutlarla çalışır:
| Seçenek | Açıklama |
|---|---|
--version, -V | Sürüm numarasını göster |
--no-color | Renkli çıktıyı devre dışı bırak |
--help, -h | Komut için yardım göster |
Kurulum Komutları
openspec init
OpenSpec'i projenizde başlatır. Klasör yapısını oluşturur ve yapay zeka araç entegrasyonlarını yapılandırır.
Varsayılan davranış, küresel yapılandırma varsayılanlarını kullanır: profil core, teslimat both, iş akışları propose, explore, apply, update, sync, archive.
openspec init [path] [options]Yeni bir projeye dil talimatı eklemek için --language <language> kullanın. Mevcut bir proje için, OpenSpec'in proje özel yönlendirmeleri asla üzerine yazmaması için yapılandırmanın context alanını düzenleyin.
Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
path | Hayır | Hedef dizin (varsayılan: mevcut dizin) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--tools <list> | Yapay zeka araçlarını etkileşimsiz olarak yapılandırın. all, none veya virgülle ayrılmış liste kullanın |
--language <language> | Yeni bir yapılandırma oluştururken ürünleri bu dilde yaz |
--force | Soru sormadan eski dosyaları otomatik temizle |
--profile <profile> | Bu init çalıştırması için küresel profili geçersiz kıl (core veya custom) |
--no-animation | Animasyonlu yerine statik bir karşılama ekranı göster |
--copilot-cloud | Soru sormadan GitHub Copilot cloud coding-agent dosyalarını kur |
--no-copilot-cloud | Soru sormadan GitHub Copilot cloud coding-agent dosyalarını atla |
--profile custom, küresel yapılandırmada (openspec config profile) şu anda seçili olan iş akışlarını kullanır.
Karşılama animasyonu, OPENSPEC_NO_ANIMATION ortam değişkeni ayarlandığında (herhangi bir değer, boş dahil), NO_COLOR boş olmayan bir değere ayarlandığında veya işletim sisteminin hareket azaltma tercihi etkin olduğunda (macOS Reduce Motion, GNOME animasyonları devre dışı) da atlanır.
Desteklenen araç kimlikleri (--tools) — windsurf, devin için bir takma ad olarak da kabul edilir: amazon-q, antigravity, auggie, bob, claude, cline, command-code, codeartsagent, codex, devin, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, hermes, iflow, junie, kilocode, kimi, kiro, lingma, minimax-code, vibe, oh-my-pi, opencode, pi, codeassistant, qoder, qwen, rovodev, roocode, trae, zed, zcode, agents
Bu liste,
src/core/config.tsiçindekiAI_TOOLSile aynıdır. Her aracın yetenek ve komut yolları için Desteklenen Araçlar bölümüne bakın.
Örnekler:
# Etkileşimli başlatma
openspec init
# Belirli bir dizinde başlat
openspec init ./my-project
# Etkileşimsiz: Claude ve Cursor için yapılandır
openspec init --tools claude,cursor
# Etkileşimsiz: küresel MiniMax Code yeteneklerini yapılandır
openspec init --tools minimax-code
# Tüm desteklenen araçlar için yapılandır
openspec init --tools all
# Bu çalıştırma için profili geçersiz kıl
openspec init --profile core
# Soruları atla ve eski dosyaları otomatik temizle
openspec init --forceOluşturduğu içerik:
openspec/
├── specs/ # Spesifikasyonlarınız (doğru kaynağı)
├── changes/ # Önerilen değişiklikler
└── config.yaml # Proje yapılandırması
.claude/skills/ # Claude Code yetenekleri (claude seçildiyse)
.cursor/skills/ # Cursor yetenekleri (cursor seçildiyse)
.cursor/commands/ # Cursor OPSX komutları (teslimat komutları içeriyorsa)
.agents/skills/ # AGENTS.md uyumlu araçlar için ortak yetenekler (agents seçildiyse)
... (diğer araç yapılandırmaları)openspec update
CLI'yi yükselttikten sonra OpenSpec talimat dosyalarını günceller. Mevcut küresel profilinizi, seçili iş akışlarınızı ve teslimat modunuzu kullanarak yapay zeka araç yapılandırma dosyalarını yeniden oluşturur.
openspec update [path] [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
path | Hayır | Hedef dizin (varsayılan: mevcut dizin) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--force | Dosyalar güncel olsa bile güncellemeyi zorla |
Örnek:
# npm yükseltmesinden sonra talimat dosyalarını güncelle
npm install -g @fission-ai/openspec@latest
openspec updateÖnce paketi yükseltin. Talimat dosyaları yüklü CLI tarafından oluşturulduğundan, eski bir kurulum üzerinde openspec update çalıştırmak, yeni sürümlerin getirdiği iş akışlarını eklemeyip her şeyin güncel olduğunu raporlar.
Bunu görünür kılmak için openspec update, npm kayıt defterine daha yeni bir CLI yayınlanıp yayınlanmadığını sorar. Sürümünüz geride kaldığında yükseltmeyi önerir:
Daha yeni bir OpenSpec CLI mevcut (v1.6.0 → v1.7.0).
Çalıştırılan konum: /usr/local/lib/node_modules/@fission-ai/openspec
? v1.7.0'a şimdi yükseltilsin mi? (E/h)Evet cevabı verildiğinde npm install -g @fission-ai/openspec@latest çalıştırır, ardından yeni iş akışlarının aynı komutla yerleşmesi için yeni CLI ile güncellemeyi yeniden çalıştırır. Yükseltmeyi npm'nin çıkış koduna güvenmek yerine yüklenen ikilinin sürümünü sorarak doğrular; bu nedenle PATH'inizde hâlâ yanıt veren başka bir kurulum varsa başarı iddia etmek yerine sizi bilgilendirir. Hayır cevabı verildiğinde komutu yazdırır ve mevcut CLI ile günceller. Ctrl-C komutu durdurur.
Teklif yalnızca etkileşimli bir terminalde ve yalnızca npm kurulumu sahiplendiğinde görünür — npm install -g'nin gerçekten düzelttiği tek durum. Diğer her şey, nasıl kurulduysa ona uygun komutu alır:
| OpenSpec nasıl kuruldu | Ne alırsınız |
|---|---|
| Küresel npm kurulumu | Etkileşimli terminalde soru ve sizin için yükseltme çalışması; boru aktarımı çıktısı yazdırılan komutu alır |
| Küresel pnpm, bun, yarn veya volta kurulumu | O yöneticinin kendi komutu: pnpm add -g …@latest, bun add -g …@latest, yarn global add …@latest veya volta install …@latest |
| Projenin bir bağımlılığı | Kilit dosyası o paket yöneticisine ait olduğu için bağımlılığı güncelleme notu |
npx / dlx önbelleği | npx @fission-ai/openspec@latest update — bu komut güncellemedir, ikinci bir adım yoktur |
| Git klonu | Hiçbir şey — sürümünüz dalın söylediği şeydir |
Herhangi bir şey yazdırıldığında, çalışan CLI'nin yüklendiği dizini belirtir — yükselttiniz ama eski bir shim hâlâ PATH'inizi sahipleniyorsa kontrol etmeniz gereken şey budur.
npm dışa aktardığında kayıt defterine npm_config_registry üzerinden, aksi halde https://registry.npmjs.org üzerinden sorar. .npmrc okunmaz: dosya içeriğinin dışa giden bir isteğin nereye gideceğini seçmesine izin vermek kaçınılması gereken bir akıştır ve bir projenin .npmrc dosyası repoyla birlikte taşınır. Özel bir aynada npm_config_registry dışa aktarın — veya kontrolü tamamen atlamak için OPENSPEC_NO_UPDATE_CHECK ayarlayın. Kontrol, CI açıkça kapatma değeri dışında herhangi bir şeye ayarlandığında (false, 0, no, off veya boş), NODE_ENV=test altında ve OPENSPEC_NO_UPDATE_CHECK (herhangi bir değer), DO_NOT_TRACK=1 veya OPENSPEC_TELEMETRY=0 ayarlandığında atlanır. Güncellemeden önce çalışır ve en fazla 1,5 saniye geciktirebilir — ağ sessizce paket düşürse bile bundan sonra vazgeçer ve kayıt defteri erişilemez olduğunda sessiz kalır.
"Güncel" nasıl belirlenir: Yetenek dosyaları, onları üreten sürümü kaydeder, bu nedenle OpenSpec bunu yüklü CLI ile karşılaştırır. Komut dosyaları sürüm damgası taşımaz, bu nedenle komutları olan ama yetenekleri olmayan bir araç için (teslimat commands), OpenSpec dosya içeriğini şu anda üreteceği şeyle karşılaştırır — bu dosyalara yapılan düzenlemeler sapma sayılır ve üzerine yazılır. Teslimat skills veya both ile yalnızca kaydedilen sürüm kontrol edilir, bu nedenle sürümü hâlâ eşleşen elle düzenlenmiş bir dosya dokunulmadan bırakılır; yeniden yazmak için --force kullanın. Her iki durumda da üretilen dosyalar OpenSpec'e aittir — kendi talimatlarınızı başka yerde tutun.
Depolar (bağımsız OpenSpec depoları)
Beta. Depolar ve üzerlerine kurulan özellikler (referanslar, çalışma bağlamı, çalışma setleri) yenidir; komut adları, bayraklar, dosya biçimleri ve JSON çıktısı sürümler arasında değişebilir. Sorun-önce yaklaşımı için bkz. depolar kılavuzu.
Depo, bu makinede kaydettiğiniz bağımsız bir OpenSpec deposudur — örneğin bir planlama deposu veya bir sözleşme deposu. Bir depoyu kaydetmek, normal komutların (list, show, status, validate, new change, archive, ...) --store <id> parametresini geçerek her yerden bu depoda çalışmasını sağlar.
openspec store setup
Yerel bir depo oluşturun ve kaydedin. Bir terminalde argüman olmadan, OpenSpec kullanıcıyı kurulum boyunca yönlendirir. Aracılar ve betikler açık girdiler iletmeli ve --json kullanmalıdır.
openspec store setup [id] [seçenekler]Seçenekler:
| Seçenek | Açıklama |
|---|---|
--path <yol> | Deponun yaşayacağı klasör (örneğin ~/openspec/<id>) |
--remote <url> | Yeni deponun store.yaml dosyasına kanonik uzak deposunu kaydedin |
--init-git | İlk işleme ile bir Git deposu başlatın (varsayılan) |
--no-init-git | Tüm Git işlemlerini atlayın: başlatma yok, ilk işleme yok |
--json | JSON çıktısı |
Etkileşimli olmayan çalıştırmalar (--json, betikler, aracılar) hem depo kimliğini hem de --path parametresini geçmelidir. Etkileşimli bir terminalde kurulum, görünür, kullanıcıya ait bir yerde (örneğin ~/openspec/<id>) düzenlenebilir bir öneri ile konum ister; asla OpenSpec'in yönetilen veri dizinine varsayılan olarak ayarlamaz.
Örnekler:
openspec store setup
openspec store setup team-context
openspec store setup team-context --path ~/openspec/team-context --no-init-git
openspec store setup team-context --path ~/openspec/team-context --no-init-git --jsonopenspec store register
Mevcut bir yerel depo klasörünü kaydedin. Depolar beta süresi boyunca, değişiklikler mevcut olmadan, özellikler uygulanmadan veya değişiklikler arşivlenmeden bir kök kaydedilebilir; bu durumda openspec/changes/, openspec/specs/ ve openspec/changes/archive/ klasörleri normal komutlar bunları oluşturana kadar bulunmayabilir. store: <id> bildiren yalnızca yapılandırma içeren bir depo, başka bir depoya işaretçi olarak kalır ve bu işaretçi kaldırılmadıkça depo kökü olarak kaydedilmez.
openspec store register [yol] [seçenekler]Seçenekler:
| Seçenek | Açıklama |
|---|---|
--id <id> | Depo kimliği; varsayılan olarak depo meta verisi veya klasör adı |
--yes | Sağlıklı bir OpenSpec kökü için depo kimliği meta verisi oluşturmayı onaylayın |
--json | JSON çıktısı |
openspec store unregister
Dosyaları silmeden yerel bir depo kaydını unutun.
openspec store unregister <id> [--json]Bu komutu, depo taşındığında, başka bir yere klonlandığında veya OpenSpec tarafından bu makinede artık gösterilmemesi gerektiğinde kullanın.
openspec store remove
Yerel bir depo kaydını unutun ve yerel klasörünü silin.
openspec store remove <id> [--yes] [--json]remove etkileşimli bir terminalde silmeden önce tam klasörü gösterir. Aracılar, betikler ve JSON çağıranları silmeyi onaylamak için --yes iletmelidir. OpenSpec, eşleşen depo meta verisi içermeyen bir klasörü silmeyi reddeder.
openspec store list
Yerel olarak kayıtlı depoları listeler.
openspec store list [--json]
openspec store ls [--json]openspec store doctor
Yerel depo kaydını, meta verisini ve Git varlığını kontrol eder.
openspec store doctor [id] [--json]Doctor yalnızca tanısaldır; depoyu değiştirmeden eksik kökleri, meta veri uyumsuzluklarını ve geçersiz yerel kayıt durumunu raporlar.
Bir projeden depolara referans verme
Bir proje deposu, çalışmasının hangi depolardan yararlandığını openspec/config.yaml içinde bildirebilir:
schema: spec-driven
references:
- team-contextBu andan itibaren, o depodaki openspec instructions çıktısı (hem her yapıt hem apply yüzeyleri, JSON ve insan modları) referans verilen her deponun özelliklerinin bir dizinini taşır — özellik kimlikleri, her özelliğin Purpose bölümünden bir satırlık özet ve getirme komutu (openspec show <spec-id> --type spec --store <id>). Dizin her çalıştırmada kayıtlı kontrol kopyasından canlı olarak oluşturulur; özellik içeriği asla çıktıya kopyalanmaz.
Referanslar yalnızca okuma bağlamıdır. Komutların nerede çalıştığını asla değiştirmezler: iş deponun kendi kökünde kalır ve referans verilen bir depoya yazmak açık bir --store eylemi olarak kalır. Çözülemeyen bir referans (örneğin bu makinede kayıtlı olmayan bir depo) dizinde tam düzeltme ile bir uyarıya dönüşür ve talimatlar yine de üretilir. openspec doctor referans sağlığını tek bir yerde raporlar.
Bir deponun nereden klonlandığını kaydetme
Bir depo, kanonik klon kaynağını taahhüt edilmiş kimlik dosyasına kaydedebilir; böylece yeni başlayanlar asla "depoyu kaydet" adımında takılı kalmaz:
openspec store setup team-context --path ~/openspec/team-context \
--remote git@github.com:acme/team-context.gitUzak depo, başlangıç işlemesindeki .openspec-store/store.yaml dosyasına yazılır; böylece her klon bunu bilerek doğar. Mevcut bir depo için store.yaml dosyasını elle düzenleyin ve işleyin. store doctor kaydedilmiş uzak depoyu (ve kontrol kopyasının gözlemlenen Git kökenini) gösterir; kurulum/kayıt paylaşım yönergeleri onu adlandırır; kayıt, kontrol kopyasının kökenini makine yerel kayıt defterine kaydeder.
Bir referans bildirimi klon kaynağını da taşıyabilir; böylece depoya henüz sahip olmayan bir takım arkadaşı eksiksiz, yapıştırılabilir bir düzeltme alır (git clone <remote> <path> && openspec store register <path> --id <id>):
references:
- { id: team-context, remote: "git@github.com:acme/team-context.git" }Uzak depo kaydetmek senkronizasyon değildir: OpenSpec asla kendi başına klonlamaz, çekmez veya göndermez.
Varsayılan bir depo bildirme
Planlaması tamamen dışsallaştırılmış bir depo (yerel openspec/specs/ veya openspec/changes/ olmayan), --store parametresini her komutta geçirmek yerine bir kez depo bildirebilir:
# openspec/config.yaml (openspec/ altındaki tek dosya)
store: team-contextNormal komutlar daha sonra bildirilen depoya otomatik olarak çözülür; kök başlığı ve JSON root bloğu source: "declared" olarak depo kimliğiyle raporlar ve yazdırılan ipuçları hâlâ --store <id> taşır. Bildirim bir geri dönüştür, asla bir geçersiz kılma değildir: açık --store her zaman kazanır ve gerçek planlama klasörleri olan bir dizin işaretçiyi (bir uyarı ile) yok sayar. Bir işaretçi deposunu yerel bir OpenSpec köküne dönüştürmek için store: satırını kaldırın ve openspec init çalıştırın — init, bildirim mevcutken iskele kurmayı reddeder.
Makine düzeyinde bir varyant tüm depoları aynı anda kapsar: openspec config set defaultStore <id> (bkz. Yapılandırma). Yalnızca --store, yerel kök ve proje işaretçisi çözümlenemedikten sonra başvurulur; kök başlığı ve JSON root bloğu daha sonra source: "global_default" olarak raporlar.
Doctor (ilişki sağlığı)
Tek salt-okunur soru, tek yer: OpenSpec kökü sağlıklı mı ve referans verdiği store'lar bu makinede mevcut mu?
openspec doctor [--store <id>] [--json]Rapor, kök sağlığını, store meta verisi sağlığını (kaydedilen remote ile checkout'un origin değerleri farklılaştığında bir not; store checkout'unun son çekilen upstream takip referansının gerisinde kaldığında bir not dahil) ve referans sağlığını (aynı teşhis talimatlarını gösterir, çözümlenmemiş referanslar için klon düzeltmeleriyle) ayırır. Herhangi bir önem düzeyindeki sağlık bulguları 0 ile çıkış yapar — ajanlar status dizilerini okur; yalnızca komut hataları (kök yok, bilinmeyen store) 1 ile çıkış yapar. Doctor asla klonlamaz, senkronize etmez veya onarmaz. Sağlık yerine birleştirilmiş kümenin kendisini almak için openspec context kullanın.
Çalışma bağlamı (birleştirilmiş küme)
Bu çalışmanın OpenSpec bildirimleri aracılığıyla ilişkili olduğu her şey, tek bir çalışma kümesinde: OpenSpec kökü ve referans verdiği store'lar.
openspec context [--store <id>] [--json] [--code-workspace <path> [--force]]JSON özeti ajan tarafından tüketilebilir (mevcut her referanslı store, getirme tarifini taşır; çözümlenmemiş üyeler aynı düzeltme talimatlarını ve doctor gösterimini taşır). --code-workspace ayrıca kökü ve mevcut referanslı store'ları (ref:<id> klasörleri) içeren bir VS Code çalışma alanı dosyası yazar — bu komutun gerçekleştirdiği tek yazma işlemi, dosya varsa --force olmadan reddedilir. Kullanılamayan üyeler raporlanır, asla tahmin edilmez.
"Çalışma bağlamı" birleştirilmiş kümedir; openspec/config.yaml içindeki context: alanı talimatlara enjekte edilen proje arka planıdır — iki farklı şeydir. openspec doctor kümenin sağlıklı olup olmadığını yanıtlar; openspec context kümenin ne olduğunu yanıtlar.
Kişisel Workset'ler
Beta. Workset'ler yeni beta yüzeyinin parçasıdır; komutlar, bayraklar ve dosya biçimleri sürümler arasında değişebilir. Kılavuz için bkz. stores rehberi.
Bir workset, birlikte çalıştığınız klasörlerin kişisel, adlandırılmış bir görünümüdür — bir planlama kökü ve seçtiğiniz başka her şey — makinenizde tutulur ve aracınızda adıyla yeniden açılır. Tamamen yereldir: asla commit edilmez, paylaşılmaz, bildirimlerden türetilmez ve bir tanesini kaldırmak asla bir üye klasöre dokunmaz.
openspec workset create [name] [--member <path> | --member <name>=<path>]... [--tool <id>] [--json]
openspec workset list [--json]
openspec workset open <name> [--tool <id>]
openspec workset remove <name> [--yes] [--json]create kısa bir yönlendirilmiş akış yürütür (veya --member bayraklarını etkileşimsiz alır; ilk üye birincildir — oturumlar oradan başlar). open seçilen aracı başlatır: düzenleyiciler (VS Code, Cursor) her üyeyle bir pencere açar ve geri döner; CLI ajanları (Claude Code, codex) bu terminali her üyesi bağlı ve önceden doldurulmuş bir ipucu olmadan bir oturum olarak devralır ve siz çıkış yaptığınızda sona erer. Açılışta eksik olan üye klasörü bir notla atlanır; geri kalanı açılır. Kaydedilen araç tercihi her açılışta --tool ile geçersiz kılınabilir.
Yeni bir aracı desteklemek kod değil, yapılandırmadır. Her araç iki başlatma stilinden birine sahiptir — workspace-file (oluşturulan .code-workspace ile başlatılır) veya attach-dirs (üye başına bir ekleme bayrağı) — ve genel config.json içindeki openers anahtarı (bunu openspec config edit ile açın) araçlar ekler veya alan başına yerleşikleri ayarlar:
{
"openers": {
"zed": { "style": "workspace-file" },
"claude": { "attach_flag": "--dir" }
}
}Tüm workset durumu genel veri dizinindeki worksets/ klasörü altında yaşar (kaydedilen görünümler ve her açılışta yeniden oluşturulan <name>.code-workspace dosyaları); bu klasörü silmek tüm izleri kaldırır.
Gezinti Komutları
openspec list
Projenizdeki değişiklikleri veya spec'leri listeler.
openspec list [options]Seçenekler:
| Seçenek | Açıklama |
|---|---|
--specs | Değişiklikler yerine spec'leri listele |
--changes | Değişiklikleri listele (varsayılan) |
--sort <order> | recent (varsayılan) veya name değerine göre sırala |
--json | JSON olarak çıktı ver |
Örnekler:
# Tüm aktif değişiklikleri listele
openspec list
# Tüm spec'leri listele
openspec list --specs
# Betikler için JSON çıktısı
openspec list --jsonÇıktı (metin):
Changes:
add-dark-mode No tasks just nowopenspec view
Spec'leri ve değişiklikleri keşfetmek için etkileşimli bir gösterge paneli görüntüler.
openspec viewProjenizin spec'lerinde ve değişikliklerinde gezinmek için terminal tabanlı bir arayüz açar.
openspec show
Bir değişikliğin veya spec'in ayrıntılarını görüntüler.
openspec show [item-name] [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
item-name | Hayır | Değişikliğin veya spec'in adı (belirtilmezse sorar) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--type <type> | Tür belirtin: change veya spec (belirsiz değilse otomatik algılanır) |
--json | JSON olarak çıktı ver |
--no-interactive | İstemleri devre dışı bırak |
Değişikliğe özel seçenekler:
| Seçenek | Açıklama |
|---|---|
--deltas-only | Yalnızca delta spec'leri göster (JSON modu) |
Spec'e özel seçenekler:
| Seçenek | Açıklama |
|---|---|
--requirements | Yalnızca gereksinimleri göster, senaryoları hariç tut (JSON modu) |
--no-scenarios | Senaryo içeriğini hariç tut (JSON modu) |
-r, --requirement <id> | Belirli bir gereksinimi 1 tabanlı dizin ile göster (JSON modu) |
Örnekler:
# Etkileşimli seçim
openspec show
# Belirli bir değişikliği göster
openspec show add-dark-mode
# Belirli bir spec'i göster
openspec show auth --type spec
# Ayrıştırma için JSON çıktısı
openspec show add-dark-mode --jsonDoğrulama Komutları
openspec validate
Yapısal sorunlar için değişiklikleri ve şartnameleri doğrular ve bir değişikliğin MODIFIED gereksinimlerini, değiştirecekleri ana şartnamelere karşı denetler.
openspec validate [item-name] [options]Sıfır şartname deltası olan bir değişiklik, .openspec.yaml dosyasında skip_specs: true belirtilmedikçe doğrulamada başarısız olur (salt yeniden düzenleme, araç, veya dokümantasyon işleri için — Tarif 5‘e bakın).
Argümanlar:
| Argüman | Gerekli | Açıklama |
|---|---|---|
item-name | Hayır | Doğrulanacak belirli öğe (atlanırsa sorulur) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--all | Tüm değişiklikleri ve şartnameleri doğrula |
--changes | Tüm değişiklikleri doğrula |
--specs | Tüm şartnameleri doğrula |
--archived | Arşivlenmiş değişikliklerin tüm görevlerinin tamamlanıp tamamlanmadığını doğrula (commit öncesi denetleme) |
--type <type> | İsim belirsiz olduğunda türü belirt: change veya spec |
--strict | Sıkı doğrulama modunu etkinleştir |
--json | JSON olarak çıktı ver |
--concurrency <n> | Maksimum paralel doğrulama sayısı (varsayılan: 6, veya OPENSPEC_CONCURRENCY ortam değişkeni) |
--no-interactive | Soruları devre dışı bırak |
--archived kendi kapsamındadır: şartname deltalarını doğrulamaz (arşivleme sırasında zaten uygulanmıştır); changes/archive/ altındaki her değişikliğin tasks.md dosyasındaki tüm onay kutularının işaretlenmiş olup olmadığını kontrol eder ve işaretlenmemiş olan varsa sıfır olmayan bir çıkış kodu ile çıkar. Bu, tamamlanmamış işlerle arşivlenmiş değişiklikleri yakalar — bir commit öncesi kancada (hook) kullanışlıdır.
Örnekler:
# Etkileşimli doğrulama
openspec validate
# Belirli bir değişikliği doğrula
openspec validate add-dark-mode
# Tüm değişiklikleri doğrula
openspec validate --changes
# Her şeyi JSON çıktısıyla doğrula (CI/scriptler için)
openspec validate --all --json
# Artırılmış paralellik ile sıkı doğrulama
openspec validate --all --strict --concurrency 12
# Arşivlenmiş herhangi bir değişiklikte işaretlenmemiş görev varsa başarısız ol
openspec validate --archivedÇıktı (metin):
add-dark-mode doğrulanıyor...
✓ proposal.md geçerli
✓ specs/ui/spec.md geçerli
⚠ design.md: "Teknik Yaklaşım" bölümü eksik
1 uyarı bulunduÇıktı (JSON):
{
"version": "1.0.0",
"results": {
"changes": [
{
"name": "add-dark-mode",
"valid": true,
"warnings": ["design.md: 'Teknik Yaklaşım' bölümü eksik"]
}
]
},
"summary": {
"total": 1,
"valid": 1,
"invalid": 0
}
}Yaşam Döngüsü Komutları
openspec archive
Tamamlanmış bir değişikliği arşivler ve delta şartnamelerini ana şartnamelerle birleştirir.
openspec archive [change-name] [options]Argümanlar:
| Argüman | Gerekli | Açıklama |
|---|---|---|
change-name | Hayır | Arşivlenecek değişiklik (atlanırsa sorulur; sorulan yanıtlanamadığında gereklidir) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
-y, --yes | Onay istemlerini atla. Hiçbir şey bunları yanıtlayamadığında gereklidir — bir yapay zeka ajanı, bir CI işi veya stdin kapalı herhangi bir çalıştırma |
--skip-specs | Tek bir arşiv çalıştırması için şartname güncellemelerini atla. Kalıcı olarak şartname deltası olmayan bir değişiklik, bunun yerine .openspec.yaml içinde skip_specs: true bildirmelidir — hiçbir bayrak olmadan arşivlenir |
--no-validate | Doğrulamayı atla (onay gerektirir). Ayrıca yetenek kullanımdan kaldırmayı da devre dışı bırakır — doğrulayıcı kararı olmadan hiçbir şey kullanımdan kaldırılmaz |
Örnekler:
# Etkileşimli arşiv (hangi değişikliği sorar, sonra onaylar)
openspec archive
# Belirli bir değişikliği arşivle
openspec archive add-dark-mode
# İstem olmadan arşivle (ajanlar, CI, betikler)
openspec archive add-dark-mode --yes
# Şartnameleri etkilemeyen bir araç değişikliğini arşivle
openspec archive update-ci-config --skip-specsBir yeteneği kullanımdan kaldırma: Kullanımdan kaldırma işaretini değişiklik metaverisine ekleyin:
# openspec/changes/retire-legacy/.openspec.yaml
schema: spec-driven
retire_capabilities: trueArdından değişikliği normal şekilde arşivleyin:
openspec archive retire-legacy --yesDeğişiklik, yeteneğin son gereksinimini kaldırdığında, OpenSpec canlı spec.md dosyasını siler. Aynı değişiklikteki diğer yetenek deltaları yine de ana şartnamelerini günceller. İşaret olmadan, arşiv herhangi bir dosyayı değiştirmeden önce durur ve işareti eklemenizi söyler.
Yaptığı işlemler:
- Değişikliği doğrular (
--no-validatekullanılmadığı sürece) - Onay ister (
--yeskullanılmadığı sürece) - Herhangi bir ana şartnameyi değiştirmeden önce arşiv hedefini ayırır
- Aktif delta şartnamelerini doğrular ve
openspec/specs/dizinine birleştirir — değişiklik tarafından son gereksinimi kaldırılan bir yetenek kullanımdan kaldırılır ve şartname dosyası silinir, ancak yalnızca değişikliğin.openspec.yamldosyasıschema:yanındaretire_capabilities: truebildirdiğinde - Değişiklik klasörünü
openspec/changes/archive/YYYY-MM-DD-<name>/dizinine taşır - Tam bir arşiv sağlanmadan önce bir şartname mutasyonu veya son taşıma başarısız olursa, şartnameleri geri yükler ve değişikliği aktif yolunda bırakır veya geri döndürür
- Doğrulanmış bir geri dönüş kopyası tamamlansa da aşamalı kaynak temizliği başarısız olursa, kurtarma için tam arşivi ve commit edilmiş şartname durumunu korur
Bir terminal olmadan: bir yapay zeka ajanı, bir CI işi veya stdin kapalı herhangi bir çalıştırma, adım 2'yi yanıtlayamaz; bu nedenle arşiv hiçbir şeye dokunmadan durur, 1 çıkış koduyla çıkar ve yeniden çalıştırılacak komutu belirtir — ilettiğiniz diğer bayrakları da taşıyarak openspec archive <name> --yes. Gidiş-gelişi atlamak için --yes (ve değişiklik adını) önceden verin.
İş Akışı Komutları
Bu komutlar, yapıt odaklı OPSX iş akışını destekler. Hem insanların ilerlemeyi kontrol etmesi hem de aracıların sonraki adımları belirlemesi için kullanışlıdır.
openspec new change
Çözümlenmiş OpenSpec kök dizininde bir değişiklik dizini ve isteğe bağlı olarak sürüm kontrolüne alınmış meta veriler oluşturur.
openspec new change <name> [options]Değişiklik adları küçük harfli kebab-case kullanmalıdır: küçük harfler, sayılar ve tek tireler. Boşluk, alt çizgi, büyük harf, ardışık tire veya başta/sonda tire içeremezler. Başta sayı olmasına izin verilir, böylece değişiklikleri sıralamak veya katmanlamak için adlara ön ek ekleyebilirsiniz, örneğin 100-add-feature veya 00001-add-auth.
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--description <text> | index.md dosyasına eklenecek açıklama |
--goal <text> | Değişiklikle birlikte saklanacak isteğe bağlı hedef meta verisi |
--schema <name> | Kullanılacak iş akışı şeması |
--store <id> | OpenSpec kökü olarak kullanılacak store kimliği (store, kaydettiğiniz bağımsız bir OpenSpec deposudur) |
--json | JSON çıktısı |
Örnekler:
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --jsonopenspec status
Bir değişiklik için yapıt tamamlanma durumunu görüntüler.
openspec status [options]Seçenekler:
| Seçenek | Açıklama |
|---|---|
--change <id> | Değişiklik adı (belirtilmezse sorulur) |
--schema <name> | Şema geçersiz kılma (değişikliğin yapılandırmasından otomatik algılanır) |
--json | JSON olarak çıktı |
Örnekler:
# Etkileşimli durum kontrolü
openspec status
# Belirli bir değişiklik için durum
openspec status --change add-dark-mode
# Aracı kullanımı için JSON
openspec status --change add-dark-mode --jsonÇıktı (metin):
Change: add-dark-mode
Schema: spec-driven
Progress: 2/4 artifacts complete
[x] proposal
[x] specs
[ ] design
[-] tasks (blocked by: design)skip_specs: true bildiren bir değişiklik, specs aşamasını [~] specs (skipped: change declares skip_specs) olarak gösterir ve ilerleme sayısından hariç tutar.
Çıktı (JSON):
{
"changeName": "add-dark-mode",
"schemaName": "spec-driven",
"isPlanningComplete": false,
"isComplete": false,
"applyRequires": ["tasks"],
"artifacts": [
{"id": "proposal", "outputPath": "proposal.md", "status": "done", "requires": []},
{"id": "specs", "outputPath": "specs/**/*.md", "status": "done", "requires": ["proposal"]},
{"id": "design", "outputPath": "design.md", "status": "ready", "requires": ["proposal"]},
{"id": "tasks", "outputPath": "tasks.md", "status": "blocked", "requires": ["specs", "design"], "missingDeps": ["design"]}
]
}isPlanningComplete, atlanmamış her planlama yapıtının var olup olmadığını bildirir; atlanan yapıtlar, oluşturulmadan karşılanmış sayılır. Uygulama görevlerinin tamamlanıp tamamlanmadığını bildirmez. isComplete, aynı değere sahip uyumluluk takma adı olarak korunur.
Yapıtlar bağımlılık sırasına göre listelenir - bir bağımlılık, onu gerektiren bir şeyden sonra asla görünmez - ve aynı anda hazır hale gelen yapıtlar (spec-driven'ın specs ve design yapıtları yalnızca proposal gerektirir) alfabetik sıra yerine şemanın bildirdiği sırayı korur. Bu nedenle ilk ready girdisi, sırada yazılacak yapıttır.
openspec instructions
Bir yapıt oluşturmak veya görevleri uygulamak için zenginleştirilmiş talimatlar alın. Yapay zeka aracıları tarafından sırada ne oluşturulacağını anlamak için kullanılır.
openspec instructions [artifact] [options]Argümanlar:
| Argüman | Gerekli | Açıklama |
|---|---|---|
artifact | Hayır | Yapıt kimliği veya iş akışı giriş yüzeyi: apply veya archive |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--change <id> | Değişiklik adı (etkileşimli olmayan modda gereklidir) |
--schema <name> | Şema geçersiz kılma |
--json | JSON olarak çıktı |
Özel durumlar: Görev uygulama talimatları almak için apply kullanın. Geçerli bir değişiklik için güncel, salt okunur arşiv girdilerini (context ve operationGuidance) almak için archive kullanın; hiçbir şeyi arşivlemez veya değiştirmez.
Örnekler:
# Sıradaki yapıt için talimat alın
openspec instructions --change add-dark-mode
# Belirli bir yapıt talimatı alın
openspec instructions design --change add-dark-mode
# Uygulama talimatları alın
openspec instructions apply --change add-dark-mode
# Arşivlemeden güncel arşiv işlem girdilerini alın
openspec instructions archive --change add-dark-mode --json
# Aracı tüketimi için JSON
openspec instructions design --change add-dark-mode --jsonÇıktı şunları içerir:
- Yapıt için şablon içeriği
- Yapılandırmadan proje bağlamı
- Bağımlılık yapıtlarından içerik
- Yapılandırmadan yapıt başına kurallar
apply/archiveiçin geçerli proje bağlamı ve eşleşen işlem rehberliği
İşlem girdileri, her çağrıda çözümlenen depodan veya seçili storedan okunur. Proje bağlamı zorunlu bir istem düzeyi girdisidir: aracılar bunu okur ve ilgili proje gerçeklerini, kurallarını ve kısıtlamalarını uygular. İşlem rehberliği isteğe bağlı ek tavsiyedir: aracılar her girdiyi değerlendirir ve yalnızca uygulanabilir ve yerleşik iş akışıyla uyumlu olan girdileri izler. Her iki alan da açık kullanıcı seçimlerinden, CLI tarafından kontrol edilen durumdan, yerleşik talimatlardan ve yapıt kurallarından ayrı kalır. Çakışan bağlam bildirilir; çakışan veya uygulanamaz rehberlik izlenmez ve nedeni açıklanır. Bunlar, üretilen aracılar için davranışsal sözleşmelerdir, zorunlu CLI denetimleri değildir. instructions archive yalnızca seçili değişikliği, isteğe bağlı girdileri ve kök meta verilerini döndürür; statik arşiv iş akışını içermez.
skip_specs: true ile atlanan bir yapıt için çıktı yalnızca bir uyarıdır (JSON skipped/warning alanları ekler) — yapıt oluşturulmamalıdır.
openspec templates
Bir şemadaki tüm yapıtlar için çözümlenmiş şablon yollarını gösterir.
openspec templates [options]Seçenekler:
| Seçenek | Açıklama |
|---|---|
--schema <name> | İncelenecek şema (varsayılan: spec-driven) |
--json | JSON olarak çıktı |
Örnekler:
# Varsayılan şema için şablon yollarını göster
openspec templates
# Özel şema için şablonları göster
openspec templates --schema my-workflow
# Programatik kullanım için JSON
openspec templates --jsonÇıktı (metin):
Schema: spec-driven
Templates:
proposal → ~/.openspec/schemas/spec-driven/templates/proposal.md
specs → ~/.openspec/schemas/spec-driven/templates/specs.md
design → ~/.openspec/schemas/spec-driven/templates/design.md
tasks → ~/.openspec/schemas/spec-driven/templates/tasks.mdopenspec schemas
Kullanılabilir iş akışı şemalarını açıklamaları ve yapıt akışlarıyla birlikte listeler.
openspec schemas [options]Seçenekler:
| Seçenek | Açıklama |
|---|---|
--json | JSON olarak çıktı |
--store <id> | OpenSpec kökü olarak kayıtlı bir store kullan |
Örnek:
openspec schemasÇıktı:
Available schemas:
spec-driven (package)
The default spec-driven development workflow
Flow: proposal → specs → design → tasks
my-custom (project)
Custom workflow for this project
Flow: research → proposal → tasksSchema Komutları
Özel iş akışı şemaları oluşturmak ve yönetmek için komutlar.
openspec schema init
Yeni bir proje yerel şeması oluşturun.
openspec schema init <name> [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
name | Evet | Şema adı (kebab-case) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--description <text> | Şema açıklaması |
--artifacts <list> | Virgülle ayrılmış artefakt kimlikleri (varsayılan: proposal,specs,design,tasks) |
--default | Proje varsayılan şeması olarak ayarla |
--no-default | Varsayılan olarak ayarlamak için soru sorma |
--force | Mevcut şemayı üzerine yaz |
--json | JSON olarak çıktı ver |
Örnekler:
# Etkileşimli şema oluşturma
openspec schema init research-first
# Belirli artefaktlarla etkileşimsiz oluşturma
openspec schema init rapid \
--description "Rapid iteration workflow" \
--artifacts "proposal,tasks" \
--defaultOluşturduğu yapı:
openspec/schemas/<name>/
├── schema.yaml # Şema tanımı
└── templates/
├── proposal.md # Her artefakt için şablon
├── specs.md
├── design.md
└── tasks.mdopenspec schema fork
Özelleştirme için mevcut bir şemayı projenize kopyalayın.
openspec schema fork <source> [name] [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
source | Evet | Kopyalanacak şema |
name | Hayır | Yeni şema adı (varsayılan: <source>-custom) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--force | Mevcut hedefi üzerine yaz |
--json | JSON olarak çıktı ver |
Örnek:
# Yerleşik spec-driven şemasını dallandır
openspec schema fork spec-driven my-workflowopenspec schema validate
Bir şemanın yapısını ve şablonlarını doğrulayın.
openspec schema validate [name] [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
name | Hayır | Doğrulanacak şema (atlanırsa tümü doğrulanır) |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--verbose | Detaylı doğrulama adımlarını göster |
--json | JSON olarak çıktı ver |
Örnek:
# Belirli bir şemayı doğrula
openspec schema validate my-workflow
# Tüm şemaları doğrula
openspec schema validateopenspec schema which
Bir şemanın nereden çözümlendiğini gösterir (öncelik sırasını hata ayıklamak için faydalıdır).
openspec schema which [name] [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
name | Hayır | Şema adı |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--all | Tüm şemaları kaynaklarıyla birlikte listele |
--json | JSON olarak çıktı ver |
Örnek:
# Bir şemanın nereden geldiğini kontrol et
openspec schema which spec-drivenÇıktı:
spec-driven resolves from: package
Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-drivenŞema öncelik sırası:
- Proje:
openspec/schemas/<name>/ - Kullanıcı:
~/.local/share/openspec/schemas/<name>/ - Paket: Yerleşik şemalar
Yapılandırma Komutları
openspec config
Küresel OpenSpec yapılandırmasını görüntüleyin ve değiştirin.
openspec config <subcommand> [options]Alt komutlar:
| Alt komut | Açıklama |
|---|---|
path | Yapılandırma dosyası konumunu göster |
list | Tüm mevcut ayarları göster |
get <key> | Belirli bir değeri al |
set <key> <value> | Bir değer ayarla |
unset <key> | Bir anahtarı kaldır |
reset | Varsayılanlara sıfırla |
edit | $EDITOR ile aç |
profile [preset] | İş akışı profilini etkileşimli olarak veya hazır ayar ile yapılandır |
Örnekler:
# Yapılandırma dosyası yolunu göster
openspec config path
# Tüm ayarları listele
openspec config list
# Belirli bir değeri al
openspec config get telemetry.enabled
# Bir değer ayarla (anonim kullanım telemetrisini devre dışı bırak)
openspec config set telemetry.enabled false
# Bir dize değerini açıkça ayarla
openspec config set user.name "My Name" --string
# Özel bir ayarı kaldır
openspec config unset user.name
# Makine düzeyinde varsayılan depoyu ayarla (--store, yerel kök veya
# proje deposu yoksa geri dönüş kökü: işaretçi çözülür)
openspec config set defaultStore team-plans
# Tüm yapılandırmayı sıfırla
openspec config reset --all --yes
# Yapılandırmayı düzenleyicinizde düzenle
openspec config edit
# Eylem tabanlı sihirbaz ile profil yapılandır
openspec config profile
# Hızlı hazır ayar: iş akışlarını core'a geçiş (teslim modunu korur)
openspec config profile coreTelemetri opt-out: telemetry.enabled ayarlanmadığında varsayılan olarak açıktır (opt-out modeli). Anonim kullanım istatistiklerini ve openspec update sürüm kontrolünü devre dışı bırakmak için false olarak ayarlayın. Çevre değişkenleri yapılandırmaya göre önceliklidir: OPENSPEC_TELEMETRY=0, DO_NOT_TRACK=1, ve doğruluk değeri taşıyan bir CI değeri (ör. true/1/yes) yapılandırma değerinden bağımsız olarak telemetriyi her zaman devre dışı bırakır.
openspec config profile mevcut durum özetiyle başlar, ardından seçim yapmanızı sağlar:
- Teslim + iş akışlarını değiştir
- Sadece teslimi değiştir
- Sadece iş akışlarını değiştir
- Mevcut ayarları koru (çıkış)
Mevcut ayarları korursanız, değişiklik yazılmaz ve güncelleme sorusu gösterilmez. Yapılandırma değişikliği yoksa ancak mevcut proje dosyaları küresel profil/teslim ile senkronize değilse, OpenSpec bir uyarı gösterir ve openspec update önerir. Ctrl+C tuşuna basmak akışı temiz bir şekilde iptal eder (yığın izi gösterilmez) ve 130 koduyla çıkar. İş akışı kontrol listesinde [x], iş akışının küresel yapılandırmada seçildiğini gösterir. Bu seçimleri proje dosyalarına uygulamak için openspec update çalıştırın (veya bir proje içinde sorulduğunda Apply changes to this project now? seçeneğini seçin).
Etkileşimli örnekler:
# Sadece teslim güncellemesi
openspec config profile
# seç: Sadece teslimi değiştir
# teslim seç: Sadece beceriler
# Sadece iş akışı güncellemesi
openspec config profile
# seç: Sadece iş akışlarını değiştir
# kontrol listesinde iş akışlarını değiştir, ardından onaylaYardımcı Komutlar
openspec feedback
OpenSpec hakkında geri bildirim gönderin. GitHub sorunu oluşturur.
openspec feedback <message> [options]Argümanlar:
| Argüman | Zorunlu | Açıklama |
|---|---|---|
message | Evet | Geri bildirim özeti; uzun metin sorun başlığında kısaltılır ve gövdede korunur |
Seçenekler:
| Seçenek | Açıklama |
|---|---|
--body <text> | Özetin ardından eklenen ek ayrıntılar |
Gereksinimler: GitHub CLI (gh) yüklü ve kimlik doğrulaması yapılmış olmalıdır.
Örnek:
openspec feedback "Add support for custom artifact types" \
--body "I'd like to define my own artifact types beyond the built-in ones."openspec completion
OpenSpec CLI için kabuk tamamlamalarını yönetin.
openspec completion <subcommand> [shell]Alt komutlar:
| Alt komut | Açıklama |
|---|---|
generate [shell] | Tamamlama betiğini stdout'a yazdır |
install [shell] | Kabuğunuz için tamamlamayı yükle |
uninstall [shell] | Yüklenmiş tamamlamaları kaldır |
Desteklenen kabuklar: bash, zsh, fish, powershell
Örnekler:
# Tamamlamayı yükle (kabuğu otomatik algılar)
openspec completion install
# Belirli bir kabuk için yükle
openspec completion install zsh
# Manuel yükleme için betik oluştur (bash)
openspec completion generate bash > ~/.bash_completion.d/openspec
# Kaldır
openspec completion uninstallWindows (PowerShell): Mevcut PowerShell ana bilgisayarında tamamlamayı yükleyin:
$env:PROFILE = $PROFILE
openspec completion install powershell
. $PROFILE$env:PROFILE, OpenSpec'in bu oturumda hangi profili yapılandıracağını belirtir. Yükleyici eksik profil dizinlerini oluşturur ve OpenSpecCompletion.ps1 dosyasını yükleyen yönetilen bir blok ekler. Profili yeniden yüklemek tamamlamayı hemen etkinleştirir.
Mevcut ana bilgisayardan kaldırmak için şunu çalıştırın:
$env:PROFILE = $PROFILE
openspec completion uninstall powershellKaldırdıktan sonra mevcut oturumdan tamamlamaları temizlemek için PowerShell'i yeniden başlatın.
Tamamlamalar isteğe bağlıdır. CLI, etkileşimli bir terminalde bir komut çalıştırdığınızda hata çıktısına (stderr) bir kez, yalnızca ilk seferde onlardan bahseder ve bir daha asla bahsetmez — zaten tamamlama yüklenmişse sessiz kalır. Bu ipucunu tamamen bastırmak için OPENSPEC_NO_COMPLETIONS=1 ayarlayın.
Çıkış Kodları
| Kod | Anlamı |
|---|---|
0 | Başarı |
1 | Hata (doğrulama başarısızlığı, eksik dosyalar vb.) |
Çevre Değişkenleri
| Değişken | Açıklama |
|---|---|
OPENSPEC_TELEMETRY | Telemetriyi ve openspec update sürüm kontrolünü devre dışı bırakmak için 0 olarak ayarlayın (küresel yapılandırmadaki telemetry.enabled değerini geçersiz kılar) |
DO_NOT_TRACK | Telemetriyi ve openspec update sürüm kontrolünü devre dışı bırakmak için 1 olarak ayarlayın (standart DNT sinyali; yapılandırmayı geçersiz kılar) |
OPENSPEC_CONCURRENCY | Toplu doğrulama için varsayılan eşzamanlılık (varsayılan: 6) |
EDITOR veya VISUAL | openspec config edit için düzenleyici |
NO_COLOR | Ayarlandığında renkli çıktıyı devre dışı bırakır |
OPENSPEC_NO_ANIMATION | Ayarlandığında openspec init karşılama animasyonunu devre dışı bırakır |
OPENSPEC_NO_COMPLETIONS | Kabuk tamamlamaları hakkındaki tek seferlik ipucunu bastırmak için 1 olarak ayarlayın |
OPENSPEC_NO_UPDATE_CHECK | Ayarlandığında openspec update komutunun daha yeni yayınlanmış bir CLI sürümü kontrolünü devre dışı bırakır (herhangi bir değer, boş dahil). CI ayarlandığında da atlanır (ancak false/0/no/off değilse) veya NODE_ENV=test olduğunda |
npm_config_registry | openspec update sürüm kontrolünün sorduğu kayıt defteri. http(s) URL olmalıdır, aksi halde https://registry.npmjs.org'a geri düşer. .npmrc dosyası okunmaz |
İlgili Belgeler
- Komutlar - AI slash komutları (
/opsx:propose,/opsx:applyvb.) - İş Akışları - Yaygın kalıplar ve her komutun ne zaman kullanılacağı
- Özelleştirme - Özel şemalar ve şablonlar oluşturma
- Başlangıç - İlk kurulum rehberi