# Claude Code ve Cursor ile spesifikasyon odaklı geliştirme

Canonical: https://specscore.md/tr/articles/claude-code-specs/

Son güncelleme: 6 Kasım 2026

[Claude Code](https://code.claude.com/docs/en/overview), bir kod tabanını okuyan, dosyaları düzenleyen ve komutları çalıştıran ajanlı bir kodlama aracıdır. [Cursor](https://cursor.com/docs/rules), proje kuralları `.cursor/rules` içinde `.mdc` dosyaları olarak duran düzenleyicidir. [Spesifikasyon odaklı geliştirme](https://specscore.md/tr/spec-driven-development/) (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](https://specscore.md/) içinde bir [özellik spesifikasyonu](https://specscore.md/feature-specification), tek bir ürün yeteneğinin dosyasıdır; bir [gereksinim](https://specscore.md/requirement-specification) (REQ), o özelliğin içindeki adlandırılmış bir kuraldır; bir [kabul kriteri](https://specscore.md/acceptance-criteria-specification) (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](https://specscore.md/tr/validators/) (CI, continuous integration), önerilen her değişiklikte otomatik bir denetimdir. Denetim, [komut satırı arayüzü](https://specscore.md/tr/cli/) (CLI, command-line interface) komutudur: `specscore spec lint`, [specscore/specscore-cli](https://github.com/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.

## Ö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 şablonu](https://specscore.md/tr/articles/feature-spec-template/)dur. `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](https://specscore.md/tr/articles/lint-specs-in-ci/) 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](https://github.com/specscore/specscore-cli/blob/main/README.md), `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](https://github.com/specscore/specscore-cli) içindeki [agent-setup özelliği](https://github.com/specscore/specscore-cli/blob/main/spec/features/cli/agent/setup/README.md)dir.

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.

```text
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.

```text
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](https://specscore.md/feature-specification), `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ı](https://specscore.md/tr/cli/install/)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](https://specscore.md/tr/articles/feature-spec-template/) 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](https://specscore.md/tr/articles/lint-specs-in-ci/) 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](https://github.com/specscore/ai-plugin-specscore) deposudur, [MIT lisansı](https://github.com/specscore/ai-plugin-specscore/blob/main/LICENSE) altındadır. [Beceriler README’si](https://github.com/specscore/ai-plugin-specscore/blob/main/skills/README.md), 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](https://specscore.md/tr/ai/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](https://github.com/specscore/ai-plugin-specscore/blob/main/README.md) 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](https://specscore.md/tr/ai/specstudio-skills/) yönlendirmeli iş akışıdır. Depo [specscore/specstudio-skills](https://github.com/specscore/specstudio-skills) deposudur, [MIT lisansı](https://github.com/specscore/specstudio-skills/blob/main/LICENSE) 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](https://github.com/specscore/specscore) içindeki [dogfood.yml](https://github.com/specscore/specscore/blob/main/.github/workflows/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](https://specscore.md/tr/articles/lint-specs-in-ci/) 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](https://github.com/specscore/specscore) içindeki [CC BY 4.0](https://github.com/specscore/specscore/blob/main/LICENSE) lisansıdır. CLI lisansı, [specscore/specscore-cli](https://github.com/specscore/specscore-cli) içindeki [Apache-2.0](https://github.com/specscore/specscore-cli/blob/main/LICENSE) 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](https://specscore.md/tr/spec-driven-development/tools/) aynı sayfaları 30 Ekim 2026’da okunmuş olarak kaydeder, 28 Eylül 2026 basan Spec Kit belge ana sayfası dışında.

[OpenSpec](https://github.com/Fission-AI/OpenSpec), `openspec validate` komutunu [CLI başvurusu](https://openspec.dev/docs/cli) 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](https://github.com/eyaltoledano/claude-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](https://github.github.io/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](https://github.com/specscore/specscore-cli/blob/main/spec/features/cli/agent/setup/README.md), ü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](https://specscore.md/tr/articles/lint-specs-in-ci/) 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.

- [Claude Code — genel bakış (CLAUDE.md)](https://code.claude.com/docs/en/overview)
- [Cursor — Rules (proje kuralları .mdc dosyalarıdır)](https://cursor.com/docs/rules)
- [specscore-cli — agent-setup özelliği](https://github.com/specscore/specscore-cli/blob/main/spec/features/cli/agent/setup/README.md)
- [specscore-cli — README (agent setup ve eklenti kurulumu)](https://github.com/specscore/specscore-cli/blob/main/README.md)
- [specscore/specscore-cli](https://github.com/specscore/specscore-cli)
- [specscore-cli — Apache-2.0 lisansı](https://github.com/specscore/specscore-cli/blob/main/LICENSE)
- [specscore/specscore](https://github.com/specscore/specscore)
- [specscore/specscore — CC BY 4.0 lisansı](https://github.com/specscore/specscore/blob/main/LICENSE)
- [specscore/specscore — dogfood.yml (CLI v0.39.1)](https://github.com/specscore/specscore/blob/main/.github/workflows/dogfood.yml)
- [specscore/ai-plugin-specscore](https://github.com/specscore/ai-plugin-specscore)
- [ai-plugin-specscore — MIT lisansı](https://github.com/specscore/ai-plugin-specscore/blob/main/LICENSE)
- [ai-plugin-specscore — beceriler README’si](https://github.com/specscore/ai-plugin-specscore/blob/main/skills/README.md)
- [ai-plugin-specscore — README (Cursor kopyası)](https://github.com/specscore/ai-plugin-specscore/blob/main/README.md)
- [specscore/specstudio-skills](https://github.com/specscore/specstudio-skills)
- [specstudio-skills — MIT lisansı](https://github.com/specscore/specstudio-skills/blob/main/LICENSE)
- [specstudio-skills — README (sürüm 0.0.7)](https://github.com/specscore/specstudio-skills/blob/main/README.md)
- [CLI Skills](https://specscore.md/tr/ai/cli-skills/)
- [SpecStudio Skills](https://specscore.md/tr/ai/specstudio-skills/)
- [Yapay zeka ile kodlama için Markdown’da PRD şablonu](https://specscore.md/tr/articles/feature-spec-template/)
- [Spesifikasyonları CI’da bir spesifikasyon linter’ı ile lintlemek](https://specscore.md/tr/articles/lint-specs-in-ci/)
- [Özellik spesifikasyonu](https://specscore.md/feature-specification)
- [Kabul kriterleri spesifikasyonu](https://specscore.md/acceptance-criteria-specification)
- [OpenSpec CLI başvurusu — openspec validate](https://openspec.dev/docs/cli)
- [Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec)
- [eyaltoledano/claude-task-master](https://github.com/eyaltoledano/claude-task-master)
- [GitHub Spec Kit belgeleri (sayfa tarihi 28 Eylül 2026)](https://github.github.io/spec-kit/)
- [Spesifikasyon odaklı geliştirme araçları](https://specscore.md/tr/spec-driven-development/tools/)

## İlgili

- [Yapay zeka ile kodlama için Markdown’da PRD şablonu](https://specscore.md/tr/articles/feature-spec-template/)
- [Spesifikasyonları CI’da bir spesifikasyon linter’ı ile lintlemek](https://specscore.md/tr/articles/lint-specs-in-ci/)
- [Bir yapay zeka ajanının doğrulayabileceği kabul kriterleri nasıl yazılır](https://specscore.md/tr/articles/acceptance-criteria/)
- [EARS gereksinim sözdizimi örneklerle açıklandı](https://specscore.md/tr/articles/ears-requirements/)
- [Spesifikasyon odaklı geliştirme](https://specscore.md/tr/spec-driven-development/)
- [Spesifikasyon odaklı geliştirme araçları](https://specscore.md/tr/spec-driven-development/tools/)
- [CLI Skills](https://specscore.md/tr/ai/cli-skills/)
- [SpecStudio Skills](https://specscore.md/tr/ai/specstudio-skills/)
- [CLI](https://specscore.md/tr/cli/)
- [Özellik spesifikasyonu](https://specscore.md/feature-specification)
