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

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:
- Önce projenin "anayasasını" belirliyorsunuz - hangi prensiplere uyacak?
- Sonra ne istediğinizi detaylı tanımlıyorsunuz - user story'ler, senaryolar
- AI size teknik plan sunuyor - review ediyorsunuz
- Görevlere bölünüyor
- 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:
# 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.mddosyası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:
# 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
-
Küçük başlayın - İlk projenizi basit tutun, Spec-Kit'in akışını öğrenin
-
Constitution'ı ciddiye alın - İyi tanımlanmış prensipler, tutarlı kod demek
-
Review yapın - AI'ın ürettiği spec ve planları mutlaka gözden geçirin
-
İ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:
- github/spec-kit - Ana repo, 59K+ yıldız
Video İçerikler:
- Spec Kit in Action - YouTube - Resmi tanıtım videosu
Dokümantasyon:
- Spec-Driven Development Guide - Metodolojinin detaylı açıklaması
- Upgrade Guide - Güncelleme rehberi
İlgili Kavramlar:
- Test-Driven Development (TDD)
- Behavior-Driven Development (BDD)
- Domain-Driven Design (DDD)
Son güncelleme: Ocak 2026