İçeriğe geç
ceaksan

OpenSpec'ten Brainstorm + Court'a: Worktree ile Spec-Driven İş Akışı

OpenSpec CLI'dan brainstorm + court pipeline'ına evrim, multi-AI değerlendirme ve git worktree ile paralel spec-driven geliştirme iş akışı.

19 Nis 2026 3 dk okuma
TL;DR

OpenSpec CLI tek başına yetmiyor. Güncel akış: brainstorm skill spec üretir, court skill multi-AI değerlendirme yapar, plan + implement + critique + retro zinciri tamamlar. Büyük feature'larda git worktree ile paralel implementasyon izolasyonu sağlar.

Bu yazı, ADR ve spec-driven development’ın temellerini ele aldığım yazının devamıdır. Temeller tanıdıksa, şimdi araçların nasıl evrildiğine ve günümüzde AI destekli bir spec-driven iş akışının nasıl çalıştığına bakalım.

Evrim: OpenSpec’ten Brainstorm + Court’a

İlk ADR yazısını Ocak 2026’da yayımladığımda OpenSpec’i aktif olarak kullanıyordum. Birkaç ay içinde araçlar evrildi, ama temel ilke aynı kaldı: önce spec, sonra kod. Court skill’i, Decision Gate v2: Multi-AI Tribunal yazısında ele aldığım multi-AI değerlendirme yaklaşımını uyguluyor. Açık kaynak: ceaksan/decision-gate.

Güncel Akış

Spec-driven geliştirme akış şeması
AşamaEski (OpenSpec)GüncelNe Değişti
Spec oluşturmaopenspec proposalBrainstorm skillAI asistan interview ile spec üretiyor, iteratif
DeğerlendirmeManuel reviewCourt (Multi-AI Tribunal)Birden fazla model çapraz değerlendirme yapıyor
Karar kaydıAyrı ADR dosyasıCourt ADR çıktısıCourt otomatik ADR üretiyor
İmplementasyonopenspec applyPlan + ImplementBehavioral requirements, max 5/iterasyon
Arşivlemeopenspec archiveRetroPattern extraction, core-rules güncelleme

Ne Aynı Kaldı?

  • Spec-first yaklaşım: Kod yazmadan önce “ne” sorusuna yanıt vermek
  • ADR ilkesi: Kritik kararların “neden”ini belgelemek
  • Interview/brainstorm aşaması: Varsayımları erken açığa çıkarmak
  • what + why + how to verify döngüsü

Ne Değişti?

  • Tek araç yerine pipeline: OpenSpec tek bir CLI tool’du, şimdi brainstorm -> court -> plan -> implement -> critique -> retro zinciri var
  • Multi-AI değerlendirme: Spec’i tek kişi/model değil, birden fazla model çapraz değerlendiriyor
  • Otomatik ADR: Court skill kararı değerlendirirken ADR çıktısını da üretiyor
  • Pattern learning: Retro aşaması projeden öğrenilen kalıpları core-rules’a yazıyor

Ne Zaman Hangisi?

DurumYaklaşım
Feature/capability eklemeBrainstorm -> Court -> Plan
Breaking API changeBrainstorm -> Court -> Plan
Kütüphane X vs Y seçimiCourt (ADR çıktısı ile)
Mimari pattern kararıCourt (ADR çıktısı ile)
Teknoloji değerlendirmeBreakdown
Bug fixSadece commit message

Worktree ile Workflow

Spec-driven development aşamalarını git worktree ile birleştirmek, paralel çalışmayı mümkün kılar. Main branch’te spec ve karar akışı yürürken, implementasyon izole bir worktree’de ilerler.

AşamaWorktree?Sebep
Brainstorm + CourtHayırSadece spec/karar, reject edilebilir
ImplementationEvetKod değişikliği, izolasyon önemli
RetroHayırMerge sonrası, pattern extraction

Altı aşamalı akış, pratikte şu komutlarla yürür:

# 1-2. Brainstorm + Court (main'de)
# /brainstorm -> spec oluşur
# /court -> GO/DEFER/KILL

# 3. GO kararı sonrası worktree
git worktree add ../project-add-feature -b feat/add-feature
cd ../project-add-feature

# 4. Implement (worktree'de)
# /implement -> plan gate + kod

# 5. Critique
# /critique -> PASS/REJECTED

# 6. PR & Merge, sonra retro (main'de)
# /retro -> pattern extraction
git worktree remove ../project-add-feature

Bu yaklaşım, büyük feature’larda main branch’te conflict oluşmasını engeller ve “implementation sırasında deneysel şeyler dene” özgürlüğü sağlar, çünkü worktree reddedilirse sadece silinir.

Pratik ADR Şablonu

Bu sisteme projeni dahil etmek için minimum iki dosya yeterlidir:

  1. docs/adr/_TEMPLATE.md - ADR şablonu
  2. CLAUDE.md veya proje konfigürasyonunda referans

ADR şablonu şu yapıda olabilir:

# ADR-NNN: Title

**Date:** YYYY-MM-DD
**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-YYY
**Spec:** [spec-name](../specs/spec-name.md) <!-- varsa -->

## Context

Problemi ve mevcut durumu açıkla.

## Decision

Ne yapmaya karar verdik ve neden?

## Consequences

### Positive

- Fayda 1

### Negative

- Trade-off 1

### Alternatives Considered

- Alternatif A: Neden reddedildi

## Files Changed

| File              | Change                          |
| ----------------- | ------------------------------- |
| `path/to/file.ts` | Yapılan değişikliğin açıklaması |

Spec satırı, kararın bir spec dokümanına dayanması durumunda eklenir. Files Changed tablosu hangi dosyaların etkilendiğini somutlaştırır ve kararın kapsamını gösterir. Court skill otomatik ADR ürettiğinde bu şablonu doldurur.

Decision Gate ile İlişki

ADR ve spec, bir kararın “neden”ini ve “ne”sini belgeler. Ancak öncesinde bir soru daha vardır: “yapmalı mıyız?” Bu soruyu yanıtlayan framework için bkz. Decision Gate: Vibe Coding’in Eksik Parçası.

SoruAraçZamanlama
Yapmalı mıyız?Court / Decision GatePre-decision
Neden bu yolu seçtik?ADR (Court çıktısı)Post-decision
Ne yapacağız, nasıl doğrulayacağız?Spec (Brainstorm)Pre-implementation

Pipeline’ın üç aşaması da bu üç soruyu karşılar: Court “yapmalı mıyız”a yanıt verirken ADR’yi üretir, Brainstorm spec’i kurgular, implement + critique “nasıl doğruladık”ı gösterir.

Sonuç

Araçlar değişir: OpenSpec CLI yerini brainstorm + court pipeline’ına bıraktı. Temel ilke aynı: implementasyona başlamadan önce “ne” sorusuna yanıt ver, kritik kararlarda “neden”i belgele, büyük feature’ları worktree ile izole et.

Bu pipeline’ın öncesine, ADR ve SDD’nin neden ayrı rollere sahip olduğuna bakmadıysan temelleri ele aldığım yazıya dönüp başlamanı öneririm. ADR’lerin AI agent bağlamında nasıl çalıştırılabilir kısıtlamalara dönüştüğünü AI Agent’lar İçin Yaşayan Mimari Dokümantasyon yazısında inceliyorum. Bu araştırma bulgularını proje agnostik bir template’e dönüştürdüğüm Living Architecture projesine de göz atabilirsin.

İleri Okumalar

  1. OpenSpec - Spec-Driven Development
  2. Claude Code: Best Practices for Agentic Coding
  3. Gemini CLI Conductor: Context-Driven Development
  4. Git worktree dokümantasyonu
Önemli Noktalar
  • 01 OpenSpec'in tek araçlı yaklaşımı yerini brainstorm -> court -> plan -> implement -> critique -> retro pipeline'ına bıraktı
  • 02 Court skill, tek bir modelin değil birden fazla modelin çapraz değerlendirme yaptığı bir multi-AI tribunal
  • 03 Git worktree, implementation aşamasını main branch'ten izole ederek paralel çalışmayı mümkün kılar
  • 04 Retro aşaması öğrenilen pattern'ları core-rules'a yazarak süreci iteratif iyileştirir
  • 05 Bug fix için sadece commit message yeterli; pipeline yeni capability ve mimari kararlar için
Sık Sorulan Sorular (FAQ)
+ OpenSpec hala kullanılabilir mi?

Kullanılabilir ama günümüz AI asistanlarının brainstorm/plan/critique yetenekleri daha entegre bir deneyim sunuyor. Spec-first ilkesi değişmedi, araçlar daha akıcı hale geldi.

+ Court skill tam olarak ne yapıyor?

Bir spec veya karar teklifini birden fazla AI modeline (tribunal) paslayıp çapraz değerlendirme alır. Çıktı GO, DEFER veya KILL kararıdır ve otomatik ADR dosyası üretir.

+ Her feature için worktree gerekli mi?

Hayır. Küçük düzeltmeler ve tek dosya değişiklikleri main'de kalabilir. Worktree birkaç gün süren, çok dosyalı veya deneysel feature'lar için anlamlı.

+ Retro aşaması gerçekten gerekli mi?

Atlandığında öğrenme kaybolur. Retro, yaptığın işten ortaya çıkan kalıpları (hangi hata tekrar oldu, hangi shortcut işe yaradı) core-rules'a yazar ve bir sonraki iterasyonu iyileştirir.

+ Bu akış hangi araçlarla çalışıyor?

Claude Code'un skill sistemi ile doğrudan: /brainstorm, /court, /plan, /implement, /critique, /retro. Benzer pipeline'lar Cursor veya Gemini CLI'da custom command ile kurulabilir.