← BlogAraç2 Ocak 2026~15 dk okuma

GitHub Spec-Kit

Vibe Coding'den Specification-Driven Development'a: AI ile Yapılandırılmış Yazılım Geliştirme

Spec-Kit: AI Destekli Kodlamayı Profesyonelleştiren GitHub Toolkit'i

Spec-Kit Logo

Hani bazen saatlerce Claude'a veya Copilot'a bir şey tarif edersiniz, yazdığı kodu alırsınız, çalıştırırsınız, hata alırsınız, düzeltirsiniz, tekrar hata, tekrar düzeltme... Bu döngüyü biliyorsanız "vibe coding" yapıyorsunuz demektir.

GitHub'ın açık kaynak projesi Spec-Kit, işte bu kaosu ortadan kaldırmak için tasarlandı. Peki nasıl?

Hızlı Bakış

Ne: GitHub'ın geliştirdiği açık kaynak bir toolkit - AI coding assistant'larla yapılandırılmış çalışmayı sağlıyor

Neden: Vibe coding yerine, önce "ne istediğinizi" tam olarak tanımlayıp, sonra AI'ın "nasıl yapacağını" üretmesini sağlıyor

Nasıl: Slash komutlarıyla (örneğin /speckit.specify) adım adım ilerliyor

Kimler için: Claude Code, GitHub Copilot, Cursor, Windsurf ve daha birçok AI assistant kullanıcıları

GitHub Stars: 59K+ (Ocak 2026)


Bir Senaryo ile Başlayalım

Diyelim ki yeni mezunsunuz ve ilk işinizde bir task management uygulaması geliştirmeniz istendi. Elinizde Claude Code var. Ne yapardınız?

Muhtemelen şöyle bir şey: "Claude, bana React ile bir task management uygulaması yaz. Kanban board olsun, drag-drop olsun, database bağlantısı olsun..."

Sonuç? Büyük ihtimalle çalışan ama:

  • Test edilmemiş
  • Edge case'leri düşünülmemiş
  • Bakımı zor
  • Dokümantasyonu olmayan

bir kod yığını.

Spec-Kit ile yapılacak olan:

  1. Önce projenin "anayasasını" belirliyorsunuz - hangi prensiplere uyacak?
  2. Sonra ne istediğinizi detaylı tanımlıyorsunuz - user story'ler, senaryolar
  3. AI size teknik plan sunuyor - review ediyorsunuz
  4. Görevlere bölünüyor
  5. En son kod yazılıyor

Fark? İlkinde "vibe" var, ikincisinde "specification" var.


Specification-Driven Development Nedir?

Klasik yazılım geliştirmede genellikle hemen kodlamaya başlarız. Specification (spesifikasyon) yazarız belki ama "asıl iş" kod yazmak diye düşünürüz.

Spec-Driven Development (SDD) bunu tersine çeviriyor: Spesifikasyonlar sadece doküman değil, direkt olarak çalışan koda dönüşüyor.

Düşünün ki bir ev inşa ediyorsunuz:

  • Eski usul: "Bi ev yap" deyip başlamak, sonra "şuraya pencere ekle, bura yanlış oldu" diye düzeltmek
  • SDD: Önce mimari planı çizmek, malzemeleri belirlemek, aşamaları planlamak, sonra inşaata geçmek

Spec-Kit Nasıl Çalışıyor?

Adım 1: Kurulum

Spec-Kit'i kullanmak için uv paket yöneticisine ihtiyacınız var:

bash
# Kurulum
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

# Yeni proje başlatma (Claude ile)
specify init my-project --ai claude

# Mevcut projede başlatma (Copilot ile)
specify init . --ai copilot

Adım 2: Constitution - Projenin Anayasası

Her projede bazı değişmez kurallar olmalı. Örneğin "her fonksiyonun testi olacak" veya "state management için Redux kullanılacak" gibi.

/speckit.constitution

Bu proje şu kurallara uyacak:
- Her feature önce unit test ile başlayacak (TDD)
- Tüm API endpoint'leri TypeScript ile tip güvenli olacak
- Component'ler maximum 100 satır olacak
- Her PR'da code review zorunlu

Bu komut .specify/memory/constitution.md dosyasını oluşturur. AI bundan sonraki tüm işlerinde bu kurallara uyar.

Adım 3: Specify - Ne İstediğinizi Tanımlayın

Şimdi ne inşa etmek istediğinizi detaylıca anlatın:

/speckit.specify

Taskify adında bir ekip verimlilik platformu geliştir.
Özellikler:
- Kullanıcılar proje oluşturabilecek
- Projelere takım üyesi ekleyebilecek
- Görevler atayabilecek ve yorum yapabilecek
- Görevler Kanban stilinde sürükle-bırak ile taşınabilecek
- Kolonlar: Yapılacak, Devam Ediyor, İncelemede, Tamamlandı

Demo için 5 önceden tanımlı kullanıcı olsun:
1 ürün müdürü, 4 mühendis
3 örnek proje, her biri standart kolonlarla

Bu komut şunları otomatik yapar:

  • Yeni bir Git branch oluşturur (örn: 001-create-taskify)
  • specs/001-create-taskify/spec.md dosyasını üretir
  • Yapılandırılmış gereksinimlerle doldurur

Adım 4: Plan - Teknik Planı Alın

Artık AI size nasıl implement edeceğini soruyor:

/speckit.plan

Uygulama Vite ile yapılacak. 
Mümkün olduğunca vanilla HTML, CSS ve JavaScript kullan.
Veriler localStorage'da tutulsun, ileri aşamada SQLite eklenebilir.

Bu komut plan.md dosyası üretir - hangi dosyaların oluşturulacağı, mimari kararlar, bağımlılıklar...

Adım 5: Tasks - Görev Listesi

/speckit.tasks

Bu komut planı somut görevlere böler. Paralel yapılabilecek görevler [P] ile işaretlenir:

markdown
# Görev Listesi

## Setup [P]
- Vite projesini oluştur
- ESLint ve Prettier konfigürasyonu

## Database [P]  
- LocalStorage wrapper'ı yaz
- Veri modelleri tanımla

## UI Components
- Kanban board component'i (Setup sonrası)
- Task card component'i
- Drag-drop işlevselliği

Adım 6: Implement - Kodu Üretin

/speckit.implement

Ve işte sihir burada gerçekleşiyor. AI tüm görevleri sırayla (veya paralel) çalıştırarak feature'ı inşa ediyor.


İsteğe Bağlı Komutlar

Temel akışın yanında kalite artıran ek komutlar da var:

/speckit.clarify - Belirsiz noktalar var mı?

AI size sorular sorar: "Kullanıcı rollerini nasıl tanımladınız?", "Drag-drop mobilde de çalışacak mı?" gibi. Planlamadan önce kullanılması önerilir.

/speckit.analyze - Tutarlılık kontrolü

Spec, plan ve görevler arasında tutarsızlık var mı kontrol eder. "Spec'te bahsedilen X özelliği plan'da yok" gibi uyarılar verir.


Klasör Yapısı

Spec-Kit kullanan bir proje şöyle görünür:

my-project/
├── .specify/
│   ├── memory/
│   │   └── constitution.md    # Proje anayasası
│   ├── templates/
│   │   ├── spec-template.md   # Spec şablonu
│   │   ├── plan-template.md   # Plan şablonu
│   │   └── tasks-template.md  # Görev şablonu
│   └── specs/
│       └── 001-taskify/
│           ├── spec.md        # Ne yapılacak
│           ├── plan.md        # Nasıl yapılacak
│           └── tasks.md       # Hangi adımlarla
└── src/                       # Kod buraya yazılıyor

Desteklenen AI Assistant'lar

Spec-Kit şu araçlarla çalışıyor:

Tam Destek:

  • Claude Code
  • GitHub Copilot
  • Cursor
  • Windsurf
  • Gemini CLI
  • Qwen Code
  • Codex CLI
  • Ve 10+ diğer araç

Kısmi Destek:

  • Amazon Q Developer CLI (slash komut argümanlarını desteklemiyor)

Gerçek Dünya Faydaları

Zaman Tasarrufu

Geleneksel bir feature için dokümantasyon süresi:

  • PRD yazımı: 2-3 saat
  • Tasarım dokümanları: 2-3 saat
  • Teknik spec: 3-4 saat
  • Test planları: 2 saat
  • Toplam: ~12 saat

Spec-Kit ile:

  • /speckit.specify: 5-10 dakika
  • /speckit.plan: 5 dakika
  • /speckit.tasks: 5 dakika
  • Toplam: ~20 dakika

Kalite Artışı

  • Her feature test edilebilir gereksinimlerle başlıyor
  • Edge case'ler baştan düşünülüyor
  • Mimari kararlar dokümante ediliyor
  • Takım içi tutarlılık sağlanıyor

Onboarding Kolaylığı

Yeni bir takım üyesi geldiğinde:

  • "Constitution'ı oku, projemizin kuralları orada"
  • "Bu feature'ın spec'ine bak, ne yapıldığını anlarsın"
  • "Plan.md'den teknik detayları görebilirsin"

Spec-Kit vs Vibe Coding - Karşılaştırma

Vibe Coding Yaklaşımı:

  • Hızlı başla, hata gelince düzelt
  • "Çalışıyorsa dokunma" felsefesi
  • Dokümantasyon? Ne dokümantasyonu?
  • Test? Sonra yazarız

Spec-Kit Yaklaşımı:

  • Önce planla, sonra kodla
  • Her karar trace edilebilir
  • Otomatik dokümantasyon
  • Test-first development

Hangisi ne zaman?

Vibe coding uygun olabilir:

  • Hackathon
  • Prototip / POC
  • Tek kullanımlık script

Spec-Kit daha iyi:

  • Production kodu
  • Takım projesi
  • Uzun vadeli bakım gereken sistemler

MCP ile İlişkisi

Bu eğitim serisi MCP (Model Context Protocol) hakkında. Peki Spec-Kit MCP ile nasıl bir ilişkide?

MCP: AI'ın "elleri" - Dış dünya ile etkileşim (veritabanı, API, dosya sistemi)

Spec-Kit: AI'ın "beyni" - Ne yapılacağını planlama ve organize etme

İkisi birbirini tamamlıyor. MCP ile AI'a araçlar veriyorsunuz, Spec-Kit ile bu araçları nasıl kullanacağını planlıyorsunuz.


Başlangıç İçin Tavsiyeler

  1. Küçük başlayın - İlk projenizi basit tutun, Spec-Kit'in akışını öğrenin

  2. Constitution'ı ciddiye alın - İyi tanımlanmış prensipler, tutarlı kod demek

  3. Review yapın - AI'ın ürettiği spec ve planları mutlaka gözden geçirin

  4. İteratif düşünün - Bir seferde her şeyi yapma, feature by feature ilerle


Sonuç

Spec-Kit, AI destekli yazılım geliştirmede "vibe"dan "specification"a geçişi temsil ediyor. Evet, biraz daha ön hazırlık gerektiriyor ama karşılığında:

  • Daha kaliteli kod
  • Daha iyi dokümantasyon
  • Daha kolay bakım
  • Daha hızlı onboarding

alıyorsunuz.

Bir dahaki sefere Claude'a "bana şunu yaz" demeden önce düşünün: "Acaba önce ne istediğimi tam olarak tanımlasam mı?"


Kaynaklar ve İleri Okuma

GitHub Reposu:

Video İçerikler:

Dokümantasyon:

İlgili Kavramlar:

  • Test-Driven Development (TDD)
  • Behavior-Driven Development (BDD)
  • Domain-Driven Design (DDD)

Son güncelleme: Ocak 2026

Tartışma

0 yorum

Yorum yapmak için giriş yapın

GitHub ile Giriş Yap

Yorumlar yükleniyor...