Proje yapılandırması
İş akışlarının değişiklikleri istediğiniz şekilde planlamasını sağlayın; config.yaml içinde birkaç satırla.
openspec/config.yaml, iş akışlarına değişiklikleri nasıl planlamak istediğinizi söyler.
Örneğin, aşağıdaki yapılandırma tasks.md yapıtı için oluşturma kurallarını günceller:
rules:
tasks:
- End every task with a commitAjan çalıştığında, bu kurallardan yararlanır ve her görevin bir commit adımıyla bittiğinden emin olur.
Kuralları kısa tutun. Buradaki her şey ajanın bağlamına girer ve ayrıntılı kurallar çıktıyı kötüleştirebilir.
Nasıl çalışır
config.yaml, ajanın yapıtlar oluştururken veya iş akışı boyunca çalışırken aldığı talimatları içerir.
Her çalıştırmada şunlar olur:
- Bir iş akışı çalıştırırsınız (ör.
/openspec-propose). - Ajan
openspec instructionskomutunu çağırır. - Komut, config.yaml dosyanızdan bağlamınızı ve kurallarınızı okur.
- OpenSpec'in yerleşik talimatları ve özelleştirmeleriniz, ajan için tek bir istemde birleştirilir.
- Ajan, yapıtı yazmak için bu istemi izler.
Örneğin, bir context alanı ve bu sayfanın başındaki kural ile openspec instructions komutunun tasks.md için döndürdüğü şey şudur (kısaltılmış ve açıklamalı):
<artifact id="tasks" change="add-dark-mode" schema="spec-driven">
<!-- config.yaml dosyanızdan: context -->
<project_context>
Tasarımlar ve görevler Windows, macOS ve Linux'u kapsamalı
Tüm yapıtları İspanyolca yazın
</project_context>
<!-- config.yaml dosyanızdan: tasks kuralları -->
<rules>
- Her görevi bir commit ile bitir
</rules>
<!-- OpenSpec'ten: yerleşik rehberlik -->
<instruction>
...iyi bir tasks.md nasıl yazılır...
</instruction>
<template>
...doldurulacak tasks.md yapısı...
</template>
</artifact>Yapılandırmanız önce gelir, ardından OpenSpec'in yerleşik talimatı ve şablonu gelir. Kurallar yerleşik olanlara eklenir ve asla onların yerine geçmez. config.yaml dosyanızda yapılan düzenlemeler ajanı bir sonraki çalıştırmada etkiler.
Alanlar
Üç alan, ajanın aldığı şeyi şekillendirir. Her alanın tam sözleşmesi (türler, sınırlar, doğrulama) Project configuration (config.yaml) içindedir.
| Alan | Ne yapar | Nereye eklenir |
|---|---|---|
context | Ajanın her zaman aldığı talimatlar | Her şey: her yapıt, apply, archive |
rules | Bir yapıt için ek talimatlar | Yalnızca o yapıtın oluşturulması |
operations | Bir iş akışı adımının nasıl yürütüleceğine dair rehberlik | Yalnızca apply ve archive |
config.yaml'nin diğer alanları (schema, store, references), bir projenin hangi şemayı ve hangi OpenSpec kökünü kullandığını seçer. Sözleşme sayfası bunları kapsar.
Son sütun kesindir, bu nedenle bir alan yalnızca orada listelenen adımlara ulaşır. Özellikle, verify asla rules almaz. Uygulamayı yazıldığı gibi yapıtlara karşı kontrol eder.
context
context, ajanın bir yapıt oluştururken, görevleri uygularken veya bir değişikliği arşivlerken aldığı arka plandır.
context: |
We ship cross-platform. Designs and tasks must cover Windows, macOS, and Linux
Write all artifacts in Spanishcontext'i iş akışı çıktısını şekillendirmesi gereken olgular ve kısıtlamalar için kullanın. Kalıcı proje belgelerini projenin belge dosyalarında tutun ve ajanın kodu okuyarak öğrenebileceği her şeyi dışarıda bırakın.
Başka bir dil: context her yapıta ulaştığı için, ajana proposal, spec, design ve tasks yapıtlarını İspanyolca yazmasını söylemek üzere Write all artifacts in Spanish. ekleyebilirsiniz.
rules
rules bir yapıta eklenir, yapıt kimliğine göre anahtarlanır. Her satır, o yapıtın yerleşik rehberliğine eklenir:
rules:
proposal:
- Keep proposals under 500 words
tasks:
- Every UI task includes a Playwright testÖneriler artık kısa kalıyor ve tasks.md her zaman tarayıcı testleri planlıyor. Diğer her yapıt dokunulmamış.
operations
operations, ajanın apply ve archive işlemlerini nasıl yürüttüğüne rehberlik eder; yapıtların ne söylediğinden ziyade:
operations:
apply:
guidance:
- Run the linter before marking a task complete
archive:
guidance:
- Summarize what shipped before archivingApply sırasında, ajan görevleri tamamlarken lint yapar. Archive sırasında, bir özetle kapanır.
config.yaml yeterli olmadığında
Config, standart iş akışının üzerine talimatlar ekler, ancak hangi yapıtların var olduğunu veya nasıl yapılandırıldıklarını değiştiremez. Bu düzeyde bir kontrol istediğinizde veya kurallar davranışı tutarlı bir şekilde yönlendirmiyorsa, bir şemayı fork edin.