Skip to content

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 ​

KategoriKomutlarAmaç
Kuruluminit, updateProjenizde 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 doctorDepoları yönetir — kaydettiğiniz bağımsız OpenSpec depoları
SağlıkdoctorÇö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 setleriworkset create, workset list, workset open, workset removeAracınızda kişisel, yerel çalışma görünümlerini saklar ve açar
Gözatmalist, view, showDeğişiklikleri ve belirtimleri keşfeder
DoğrulamavalidateDeğişiklikleri ve belirtimleri sorunlara karşı denetler
Yaşam döngüsüarchiveTamamlanan değişiklikleri sonlandırır
İş akışınew change, status, instructions, templates, schemasArtifakt odaklı iş akışı desteği
Şemalarschema init, schema fork, schema validate, schema whichÖzel iş akışları oluşturur ve yönetir
YapılandırmaconfigAyarları görüntüler ve değiştirir
Yardımcıfeedback, completionGeri 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:

KomutAmaç
openspec initProjeyi başlat (etkileşimli sorular)
openspec viewEtkileşimli gösterge paneli
openspec workset open <name>Kaydedilmiş bir çalışma setini aç (düzenleyici penceresi veya terminal ajan oturumu)
openspec config editYapılandırmayı düzenleyicide aç
openspec feedbackGitHub üzerinden geri bildirim gönder
openspec completion installKabuk 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 listDeğişiklikleri/spesifikasyonları görüntüleYapılandırılmış veri için --json
openspec show <item>İçeriği okuAyrıştırma için --json
openspec validateSorunları kontrol etToplu doğrulama için --all --json
openspec statusÜrün ilerlemesini görYapılandırılmış durum için --json
openspec instructionsSonraki adımları alAjan talimatları için --json
openspec templatesŞablon yollarını bulYol çözümleme için --json
openspec schemasKullanı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 kaydetYapılandırılmış kurulum çıktısı için açık girdilerle --json
openspec store register <path>Mevcut bir depoyu kaydetYapılandırılmış kayıt çıktısı için --json
openspec store unregister <id>Yerel bir depo kaydını unutYapılandırılmış temizlik çıktısı için --json
openspec store remove <id>Kayıtlı yerel depo klasörünü silEtkileşimsiz silme için --yes --json
openspec store listKayıtlı depoları görüntüleYapılandırılmış kayıtlar için --json
openspec store doctorYerel depo kurulumunu kontrol etYapı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şturEtkileşimsiz birleştirme için --member <path> --json
openspec workset listKaydedilmiş çalışma setlerini görüntüleYapılandırılmış görünümler için --json
openspec workset remove <name>Kaydedilmiş bir görünümü silEtkileşimsiz kaldırma için --yes --json

Küresel Seçenekler ​

Bu seçenekler tüm komutlarla çalışır:

SeçenekAçıklama
--version, -VSürüm numarasını göster
--no-colorRenkli çıktıyı devre dışı bırak
--help, -hKomut 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ümanZorunluAçıklama
pathHayırHedef dizin (varsayılan: mevcut dizin)

Seçenekler:

SeçenekAçı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
--forceSoru 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-animationAnimasyonlu yerine statik bir karşılama ekranı göster
--copilot-cloudSoru sormadan GitHub Copilot cloud coding-agent dosyalarını kur
--no-copilot-cloudSoru 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.ts içindeki AI_TOOLS ile aynıdır. Her aracın yetenek ve komut yolları için Desteklenen Araçlar bölümüne bakın.

Örnekler:

bash
# 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 --force

Oluş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ümanZorunluAçıklama
pathHayırHedef dizin (varsayılan: mevcut dizin)

Seçenekler:

SeçenekAçıklama
--forceDosyalar güncel olsa bile güncellemeyi zorla

Örnek:

bash
# 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:

text
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 kurulduNe alırsınız
Küresel npm kurulumuEtkileş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 kurulumuO 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ğinpx @fission-ai/openspec@latest update — bu komut güncellemedir, ikinci bir adım yoktur
Git klonuHiç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.

bash
openspec store setup [id] [seçenekler]

Seçenekler:

SeçenekAçı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-gitTüm Git işlemlerini atlayın: başlatma yok, ilk işleme yok
--jsonJSON çı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:

bash
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 --json

openspec 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.

bash
openspec store register [yol] [seçenekler]

Seçenekler:

SeçenekAçıklama
--id <id>Depo kimliği; varsayılan olarak depo meta verisi veya klasör adı
--yesSağlıklı bir OpenSpec kökü için depo kimliği meta verisi oluşturmayı onaylayın
--jsonJSON çıktısı

openspec store unregister ​

Dosyaları silmeden yerel bir depo kaydını unutun.

bash
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.

bash
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.

bash
openspec store list [--json]
openspec store ls [--json]

openspec store doctor ​

Yerel depo kaydını, meta verisini ve Git varlığını kontrol eder.

bash
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:

yaml
schema: spec-driven
references:
  - team-context

Bu 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:

bash
openspec store setup team-context --path ~/openspec/team-context \
  --remote git@github.com:acme/team-context.git

Uzak 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>):

yaml
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:

yaml
# openspec/config.yaml (openspec/ altındaki tek dosya)
store: team-context

Normal 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?

bash
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.

bash
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.

bash
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:

json
{
  "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çenekAçıklama
--specsDeğişiklikler yerine spec'leri listele
--changesDeğişiklikleri listele (varsayılan)
--sort <order>recent (varsayılan) veya name değerine göre sırala
--jsonJSON olarak çıktı ver

Örnekler:

bash
# 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 now

openspec view ​

Spec'leri ve değişiklikleri keşfetmek için etkileşimli bir gösterge paneli görüntüler.

openspec view

Projenizin 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ümanZorunluAçıklama
item-nameHayırDeğişikliğin veya spec'in adı (belirtilmezse sorar)

Seçenekler:

SeçenekAçıklama
--type <type>Tür belirtin: change veya spec (belirsiz değilse otomatik algılanır)
--jsonJSON olarak çıktı ver
--no-interactiveİstemleri devre dışı bırak

Değişikliğe özel seçenekler:

SeçenekAçıklama
--deltas-onlyYalnızca delta spec'leri göster (JSON modu)

Spec'e özel seçenekler:

SeçenekAçıklama
--requirementsYalnızca gereksinimleri göster, senaryoları hariç tut (JSON modu)
--no-scenariosSenaryo içeriğini hariç tut (JSON modu)
-r, --requirement <id>Belirli bir gereksinimi 1 tabanlı dizin ile göster (JSON modu)

Örnekler:

bash
# 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 --json

Doğ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ümanGerekliAçıklama
item-nameHayırDoğrulanacak belirli öğe (atlanırsa sorulur)

Seçenekler:

SeçenekAçıklama
--allTüm değişiklikleri ve şartnameleri doğrula
--changesTüm değişiklikleri doğrula
--specsTüm şartnameleri doğrula
--archivedArş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
--strictSıkı doğrulama modunu etkinleştir
--jsonJSON olarak çıktı ver
--concurrency <n>Maksimum paralel doğrulama sayısı (varsayılan: 6, veya OPENSPEC_CONCURRENCY ortam değişkeni)
--no-interactiveSoruları 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:

bash
# 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):

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ümanGerekliAçıklama
change-nameHayırArşivlenecek değişiklik (atlanırsa sorulur; sorulan yanıtlanamadığında gereklidir)

Seçenekler:

SeçenekAçıklama
-y, --yesOnay 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-specsTek 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-validateDoğ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:

bash
# 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-specs

Bir yeteneği kullanımdan kaldırma: Kullanımdan kaldırma işaretini değişiklik metaverisine ekleyin:

yaml
# openspec/changes/retire-legacy/.openspec.yaml
schema: spec-driven
retire_capabilities: true

Ardından değişikliği normal şekilde arşivleyin:

bash
openspec archive retire-legacy --yes

Değ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:

  1. Değişikliği doğrular (--no-validate kullanılmadığı sürece)
  2. Onay ister (--yes kullanılmadığı sürece)
  3. Herhangi bir ana şartnameyi değiştirmeden önce arşiv hedefini ayırır
  4. 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.yaml dosyası schema: yanında retire_capabilities: true bildirdiğinde
  5. Değişiklik klasörünü openspec/changes/archive/YYYY-MM-DD-<name>/ dizinine taşır
  6. 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
  7. 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.

bash
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çenekAçı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)
--jsonJSON çıktısı

Örnekler:

bash
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --json

openspec status ​

Bir değişiklik için yapıt tamamlanma durumunu görüntüler.

openspec status [options]

Seçenekler:

SeçenekAçı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)
--jsonJSON olarak çıktı

Örnekler:

bash
# 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):

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ümanGerekliAçıklama
artifactHayırYapıt kimliği veya iş akışı giriş yüzeyi: apply veya archive

Seçenekler:

SeçenekAçıklama
--change <id>Değişiklik adı (etkileşimli olmayan modda gereklidir)
--schema <name>Şema geçersiz kılma
--jsonJSON 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:

bash
# 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/archive iç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çenekAçıklama
--schema <name>İncelenecek şema (varsayılan: spec-driven)
--jsonJSON olarak çıktı

Örnekler:

bash
# 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.md

openspec schemas ​

Kullanılabilir iş akışı şemalarını açıklamaları ve yapıt akışlarıyla birlikte listeler.

openspec schemas [options]

Seçenekler:

SeçenekAçıklama
--jsonJSON olarak çıktı
--store <id>OpenSpec kökü olarak kayıtlı bir store kullan

Örnek:

bash
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 → tasks

Schema 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ümanZorunluAçıklama
nameEvetŞema adı (kebab-case)

Seçenekler:

SeçenekAçıklama
--description <text>Şema açıklaması
--artifacts <list>Virgülle ayrılmış artefakt kimlikleri (varsayılan: proposal,specs,design,tasks)
--defaultProje varsayılan şeması olarak ayarla
--no-defaultVarsayılan olarak ayarlamak için soru sorma
--forceMevcut şemayı üzerine yaz
--jsonJSON olarak çıktı ver

Örnekler:

bash
# 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" \
  --default

Oluşturduğu yapı:

openspec/schemas/<name>/
├── schema.yaml           # Şema tanımı
└── templates/
    ├── proposal.md       # Her artefakt için şablon
    ├── specs.md
    ├── design.md
    └── tasks.md

openspec schema fork ​

Özelleştirme için mevcut bir şemayı projenize kopyalayın.

openspec schema fork <source> [name] [options]

Argümanlar:

ArgümanZorunluAçıklama
sourceEvetKopyalanacak şema
nameHayırYeni şema adı (varsayılan: <source>-custom)

Seçenekler:

SeçenekAçıklama
--forceMevcut hedefi üzerine yaz
--jsonJSON olarak çıktı ver

Örnek:

bash
# Yerleşik spec-driven şemasını dallandır
openspec schema fork spec-driven my-workflow

openspec schema validate ​

Bir şemanın yapısını ve şablonlarını doğrulayın.

openspec schema validate [name] [options]

Argümanlar:

ArgümanZorunluAçıklama
nameHayırDoğrulanacak şema (atlanırsa tümü doğrulanır)

Seçenekler:

SeçenekAçıklama
--verboseDetaylı doğrulama adımlarını göster
--jsonJSON olarak çıktı ver

Örnek:

bash
# Belirli bir şemayı doğrula
openspec schema validate my-workflow

# Tüm şemaları doğrula
openspec schema validate

openspec 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ümanZorunluAçıklama
nameHayırŞema adı

Seçenekler:

SeçenekAçıklama
--allTüm şemaları kaynaklarıyla birlikte listele
--jsonJSON olarak çıktı ver

Örnek:

bash
# 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ı:

  1. Proje: openspec/schemas/<name>/
  2. Kullanıcı: ~/.local/share/openspec/schemas/<name>/
  3. 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 komutAçıklama
pathYapılandırma dosyası konumunu göster
listTü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
resetVarsayılanlara sıfırla
edit$EDITOR ile aç
profile [preset]İş akışı profilini etkileşimli olarak veya hazır ayar ile yapılandır

Örnekler:

bash
# 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 core

Telemetri 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:

bash
# 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 onayla

Yardımcı Komutlar ​

openspec feedback ​

OpenSpec hakkında geri bildirim gönderin. GitHub sorunu oluşturur.

openspec feedback <message> [options]

Argümanlar:

ArgümanZorunluAçıklama
messageEvetGeri bildirim özeti; uzun metin sorun başlığında kısaltılır ve gövdede korunur

Seçenekler:

SeçenekAçı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:

bash
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 komutAçı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:

bash
# 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 uninstall

Windows (PowerShell): Mevcut PowerShell ana bilgisayarında tamamlamayı yükleyin:

powershell
$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:

powershell
$env:PROFILE = $PROFILE
openspec completion uninstall powershell

Kaldı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ı ​

KodAnlamı
0Başarı
1Hata (doğrulama başarısızlığı, eksik dosyalar vb.)

Çevre Değişkenleri ​

DeğişkenAçıklama
OPENSPEC_TELEMETRYTelemetriyi 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_TRACKTelemetriyi 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_CONCURRENCYToplu doğrulama için varsayılan eşzamanlılık (varsayılan: 6)
EDITOR veya VISUALopenspec config edit için düzenleyici
NO_COLORAyarlandığında renkli çıktıyı devre dışı bırakır
OPENSPEC_NO_ANIMATIONAyarlandığında openspec init karşılama animasyonunu devre dışı bırakır
OPENSPEC_NO_COMPLETIONSKabuk tamamlamaları hakkındaki tek seferlik ipucunu bastırmak için 1 olarak ayarlayın
OPENSPEC_NO_UPDATE_CHECKAyarlandığı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_registryopenspec 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 ​