Makaleler

Claude Code ve Cursor ile spesifikasyon odaklı geliştirme

Claude Code, bir kod tabanını okuyan, dosyaları düzenleyen ve komutları çalıştıran ajanlı bir kodlama aracıdır. Cursor, proje kuralları .cursor/rules içinde .mdc dosyaları olarak duran düzenleyicidir. Spesifikasyon odaklı geliştirme (SDD, spec-driven development), spesifikasyonu koddan önce yazmak ve spesifikasyonu doğruluk kaynağı saymaktır. Ürün gereksinimleri belgesi (PRD, product requirements document), iş görevlere bölünmeden önce sorunu ve kapsamı anlatan düzyazıdır. SpecScore içinde bir özellik spesifikasyonu, tek bir ürün yeteneğinin dosyasıdır; bir gereksinim (REQ), o özelliğin içindeki adlandırılmış bir kuraldır; bir kabul kriteri (AC, acceptance criterion) ise bu kurallardan birine ya da birkaçına işaret eden isteğe bağlı soyut bir koşuldur. Sürekli entegrasyon (CI, continuous integration), önerilen her değişiklikte otomatik bir denetimdir. Denetim, komut satırı arayüzü (CLI, command-line interface) komutudur: specscore spec lint, specscore/specscore-cli içindeki CLI’dan. Bu sayfadaki Cursor spesifikasyonları, o özellik dosyası ile ajana onu lintlemesini söyleyen Cursor proje kuralıdır.

Son güncelleme: 6 Kasım 2026

Özellik dosyasına ne girer, ajan dosyasına ne girer

Özellik dosyası yükümlülüğü tutar. spec/features/ altındaki bir özellik README’si #### REQ: kurallarını ve ### AC: kriterlerini taşır. Doldurulmuş biçim, plan ve görev, Markdown’da PRD şablonudur. specscore spec lint bu biçimi denetler: başlıklar, zorunlu bölümler, indeks satırları ve referanslar. Ürün fikrinin iyi olup olmadığına karar vermez. Spesifikasyonları CI’da lintlemek bu komutun daha uzun anlatımıdır.

Ajan dosyası tek bir araç için yönergeler tutar. Anthropic genel bakışı, CLAUDE.md dosyasının proje kökündeki bir Markdown dosyası olduğunu ve Claude Code’un onu her oturumun başında okuduğunu söyler. Cursor kurallar belgeleri, bir proje kuralının .cursor/rules içindeki bir .mdc dosyası olduğunu ve bu dizindeki düz bir .md dosyasının frontmatter’ı olmadığı için yok sayıldığını söyler. Bu dosyalar ajana depoda nasıl çalışacağını söyler. Linter’ın denetlediği spesifikasyon değildirler. Yalnızca CLAUDE.md içinde ya da yalnızca .cursor/rules/specscore.mdc içinde var olan bir gereksinim, specscore spec lint için görünmezdir.

specscore agent setup ne yazar

CLI README, specscore agent setup komutunun her ajanın yönerge dosyasını yazdığını ve o ajanın bir beceriler dizini varsa SpecScore beceri paketlerini oraya kopyaladığını söyler. Komut, --force geçilmedikçe var olan bir dosyayı atlar. Sözleşme, specscore/specscore-cli içindeki agent-setup özelliğidir.

Bu sözleşme caller kimliği claude değerini CLAUDE.md ve .claude/skills/ ile, caller kimliği cursor değerini .cursor/rules/specscore.mdc ve .cursor/skills/ ile eşler. Komutu, specscore.yaml dosyası zaten bulunan bir projenin içinde çalıştırın. Bu dosya yoksa komut 6 ile çıkar ve ileti specscore init önerir. Her iki ajanı adlandıran tek bir çağrı specscore agent setup claude,cursor komutudur. Özellik, virgülle ayrılmış bir listenin ayrı argümanlarla aynı olduğunu söyler. Üst dizinler oluşturulur. Her yol eklenen, değiştirilen ya da atlanan olarak bildirilir.

Üretilen CLAUDE.md proje başlığını, --caller claude geçiren CLI örneklerini ve kurulum satırı /plugin install specscore@specscore satırını içerir. Cursor dosyası, YAML frontmatter içeren Markdown’dır. Frontmatter description ve alwaysApply: true içerir. Cursor kurallar tablosu, alwaysApply: true değerinin kuralın her sohbete dahil edilmesi anlamına geldiğini söyler. --no-skills yönerge dosyalarını yazar ve beceri paketlerini kopyalamaz. Aynı sözleşme tablosu ayrıca codex, copilot, antigravity.google, pi.dev, opencode ve deepseek adlandırır. Bu sayfa, başlıktaki iki ajanı izler.

Claude Code ve Cursor dosyalarını yazar. specscore.yaml bulunan bir projeden çalıştırın.
specscore agent setup claude,cursor
Sözleşmenin claude ve cursor için atadığı yollar. --no-skills geçilince beceri dizinleri oluşturulmaz. --force geçilmedikçe var olan bir dosya olduğu gibi kalır.
CLAUDE.md
.claude/skills/
.cursor/rules/specscore.mdc
.cursor/skills/

Yönerge dosyası özellik ağacını gösterir. Onun yerini almaz. Kurulumdan sonra Claude Code’un spec/features/ ağacını okuması, Cursor kuralının da aynı ağacı göstermesi gerekir. Özellik spesifikasyonu, specscore spec lint komutunun kabul ettiği ya da reddettiği belge olmaya devam eder.

specscore spec lint komutunu döngüde çalıştırın

Önce CLI’ı kurun. Kurulum yöntemleri kurulum sayfasındadır. Ardından özelliği ve linter’ı ajanla aynı döngüde tutun.

Özelliği istemden önce yazın

Özellik README’sini, özellikler indeksi satırını ve specscore.yaml dosyasını PRD şablonu ile ekleyin. Her yükümlülüğü ## Behavior altına #### REQ: {slug} olarak koyun. Kabul kriterlerini bu id’lere **Requirements:** ile yöneltin. CLAUDE.md ve .cursor/rules/ dizinini sonraki adıma bırakın.

Ajan kodu düzenlemeden önce lintleyin

Depoda specscore spec lint çalıştırın. Temiz bir ağaç 0 violations found basar ve 0 ile çıkar. Başarısızlık raporu — dosya, satır, şiddet, kural, ileti — Spesifikasyonları CI’da lintlemek sayfasındadır. Bu komut temiz olana kadar özelliği düzeltin. Linter’ın zaten reddettiği bir özellikten başlayan bir ajan bozuk biçimi kopyalar.

Claude Code ve Cursor’ı ağaca yöneltin

specscore agent setup claude,cursor komutunu çalıştırın. Eklenen CLAUDE.md ve .cursor/rules/specscore.mdc dosyalarını okuyun ve spesifikasyon ağacını ve CLI’ı, --caller dahil, adlandırdıklarını doğrulayın. Dosyalardan biri zaten varsa komut onu atlar. --force geçin, yalnızca o dosyayı değiştirmek istediğinizde.

Bir kriter adlandıran bir görev isteyin

Ajan oturumunda, işin karşılaması gereken özelliği ve kabul kriterini adlandırın. Bir plan görevi bunu **Verifies:** ve bir kabul kriteri id’si ile yapar. Ajandan bitirmeden önce specscore spec lint komutunu yeniden çalıştırmasını ve davranış değişince özellik dosyasını değiştirmesini isteyin. Yönerge dosyası ajana komutu çalıştırmasını söyler. Özellik dosyası, komutun denetlediği şeydir.

Lint, özellik ve görevi sunan beceriler

CLI README’sindeki sarmalayıcı eklentinin kurulum satırları /plugin marketplace add specscore/ai-marketplace ve /plugin install specscore@specscore satırlarıdır. Eklenti deposu specscore/ai-plugin-specscore deposudur, MIT lisansı altındadır. Beceriler README’si, kullanıcıların /specscore:<skill-name> çağırdığını söyler. Gönderilen sarmalayıcılar /specscore:spec sarmalayıcısını içerir; o specscore spec lint komutunu sarar; /specscore:feature sarmalayıcısı specscore feature komutunu sarar (list, info, tree, deps, refs, new ve change-status); /specscore:task sarmalayıcısı specscore task komutunu sarar. /specscore:change-status özellik ve fikir durumu değişikliklerini kapsar. Bu sitedeki CLI Skills sayfası o sarmalayıcıdır. specscore agent setup, --no-skills geçmediğiniz sürece bu beceri paketlerini .claude/skills/ ve .cursor/skills/ içine kopyalar.

Eklenti README’si, Cursor’ın remote-install komutu olmadığını ve becerileri projedeki .cursor/skills/ dizininden ya da ~/.cursor/skills/ dizininden yüklediğini söyler. Gösterdiği elle kopyalama, ai-plugin-specscore deposunun git clone işlemi ve skills/* için .cursor/skills/ içine cp -R işlemidir. specscore agent setup cursor, özellik spesifikasyonunun adlandırdığı pazar yerinden bu kopyalamayı sizin için yapan komuttur.

SpecStudio Skills yönlendirmeli iş akışıdır. Depo specscore/specstudio-skills deposudur, MIT lisansı altındadır. README’sindeki Claude Code kurulum satırı /plugin install specstudio@specscore satırıdır ve Claude Code’un specscore eklentisini bir bağımlılık olarak kurduğunu söyler. Durum bölümü 0.0.7 sürümünü adlandırır ve ideate, specify, plan, implement, verify ve recap becerilerinin dogfood için yeterince etkin olduğunu söyler. Aynı README’nin envanter tablosu specstudio:ideate ve specstudio:specify becerilerini ayrıntılı belgeler. Bu beceriler SpecScore artefaktları yazar. specscore spec lint komutunun yerini almazlar.

Aynı komut CI’da

specscore/specscore içindeki dogfood.yml, SPECSCORE_VERSION değerini v0.39.1 yapar ve specscore spec lint komutunu pull request’lerde ve main’e yapılan push’larda çalıştırır. İş akışı alıntısı ve metin raporu Spesifikasyonları CI’da lintlemek sayfasındadır. Bir başlığı bozan bir özellik, dosyayı Claude Code yazmış olsa da Cursor yazmış olsa da o job’u düşürür. Ajan döngüsü ve CI aynı komutu çağırır.

Biçim lisansı, specscore/specscore içindeki CC BY 4.0 lisansıdır. CLI lisansı, specscore/specscore-cli içindeki Apache-2.0 lisansıdır.

Başka spesifikasyon odaklı araçlar farklı denetimler yayımlar. Aşağıdaki cümleler yalnızca o projelerin kendi sayfalarının söylediğini kullanır. Araç rehberi aynı sayfaları 30 Ekim 2026’da okunmuş olarak kaydeder, 28 Eylül 2026 basan Spec Kit belge ana sayfası dışında.

OpenSpec, openspec validate komutunu CLI başvurusu içinde belgeler. Bu komut OpenSpec’in değişiklik ve spesifikasyon yapısını denetler. Bir SpecScore ### AC: başlığını denetlemez.

Task Master README’si, bir PRD’yi task-master parse-prd ile görevlere ayrıştırmayı anlatır. O PRD için bir linter anlatmaz.

GitHub Spec Kit, aşamaları Markdown artefaktları yazan bir ajan iş akışını anlatır. O belge ana sayfası, bir SpecScore özellik README’sini CI’da lintleyen bir komut anlatmaz.

Sık sorulan sorular

Claude Code ile spesifikasyon odaklı geliştirme nedir?

Claude Code kodu yazmadan önce SpecScore özelliğini yazmak, sonra CLAUDE.md dosyasını o özelliği gösteren yönerge dosyası olarak tutmaktır. Özellik, gereksinimleri (REQ) ve kabul kriterlerini (AC) tutar. specscore spec lint özelliği denetler. specscore agent setup claude, specscore.yaml dosyası zaten bulunan bir projede CLAUDE.md yazar.

Cursor spesifikasyonları nereye gider?

Ürün yükümlülüğü, spec/features/ altındaki özellik README’sine gider. Cursor proje kuralı .cursor/rules/specscore.mdc dosyasına gider. Beceri dosyaları .cursor/skills/ dizinine gider. specscore agent setup cursor kuralı yazar ve --no-skills geçmediğiniz sürece beceri paketlerini kopyalar. .mdc kurallarının nasıl uygulandığına kaynak, Cursor’ın kendi belgeleridir.

CLAUDE.md özellik spesifikasyonunun yerini alır mı?

Hayır. CLAUDE.md, Claude Code’un yönerge olarak okuduğu dosyadır. Özellik README’si, specscore spec lint komutunun denetlediği dosyadır. agent-setup özelliği, üretilen dosyanın ajana spesifikasyon ağacını ve CLI komutlarını öğrettiğini söyler. Yönerge dosyasının spesifikasyon olduğunu söylemez.

CLAUDE.md ya da Cursor kuralı zaten varsa ne olur?

Komut var olan dosyayı atlar ve --force belirten bir atlama satırı basar. Var olan baytlar durur. --force geçin, yalnızca değiştirmek istediğinizde. Aynı atlama kuralı, zaten mevcut bir beceri dosyası için de geçerlidir.

Linter’ı hangi beceri çalıştırır?

Eklentinin beceriler README’sinde /specscore:spec, specscore spec lint komutunu sarar. Bu CLI komutunu kendiniz de çalıştırabilirsiniz, ajan oturumunda ya da CI’da. /specscore:feature ve /specscore:task özellik ve görev komutlarını sarar. Kendi başlarına lintlemezler.

Linter düzyazıyı notlar mı?

Hayır. specscore spec lint yapıyı denetler. Spesifikasyonları CI’da lintlemek raporu gösterir. Temiz bir yapısal denetim, bir ürün incelemesi değildir.

Kaynaklar

agent-setup davranışı, 6 Kasım 2026’da okunan, main üzerindeki specscore-cli spec/features/cli/agent/setup/README.md içindeki sözleşmedir. Beceri adları, aynı gün okunan, main üzerindeki ai-plugin-specscore skills/README.md dosyasındandır. SpecStudio kurulum satırı ve 0.0.7 sürüm durum listesi, aynı gün okunan, main üzerindeki specstudio-skills README.md dosyasındandır. Claude Code açıklaması ve CLAUDE.md cümlesi code.claude.com/docs/en/overview adresindendir. Cursor proje kuralı yolları cursor.com/docs/rules adresindendir. Bu depodaki dogfood.yml, SPECSCORE_VERSION değerini v0.39.1’e sabitler. Rakip sayfalar aşağıda bağlananlardır; araç rehberi onları 30 Ekim 2026’da okunmuş olarak kaydeder, 28 Eylül 2026 basan Spec Kit belge ana sayfası dışında.

Ajanın kodlamak üzere olduğu spesifikasyonu lintleyin.

Have an idea how to improve this page?