# AGENTS.md — <Proje adı>
> Bu dosya bir router'dır. Detay konu dokümanlarındadır.
> Üst sınır: 200 satır. Şu an: <satır sayısı>.
## Proje
<Bir cümle: ne, kimin için, hangi yığın.>
Örnek: "B2B fatura kesme servisi. Python 3.11 + FastAPI + PostgreSQL 15."
İlgili dosyalar: `ARCHITECTURE.md`, `CONTRIBUTING.md`, `examples/reference-endpoint/`.
---
## Sıkı kısıtlar (ihlal edilemez)
1. Tüm DB sorguları parametreli; ham string concat yasak.
2. Tüm endpoint'ler OAuth 2.0 ile kimlik doğrular.
3. Secret'lar yalnız `.env` ve `vault://` üzerinden; repoya commit edilmez.
4. Her PR `make check` yeşilken açılır.
5. 300 satırdan büyük yeni dosya kabul edilmez (ratchet kuralı).
---
## Dev Environment Tips
- Kurulum: `make setup`
- Yerel geliştirme: `make dev`
- Python sürümü: `.python-version` dosyasında sabit.
- Node sürümü: `.nvmrc` dosyasında sabit.
- Bağımlılık ekleme: `uv add <paket>` (pip değil).
- Yeni modül: `examples/reference-endpoint/` örneğini kopyala, üzerine yaz.
## Testing Instructions
- Tüm testler: `make test`
- Tek bir dosya: `pytest tests/test_<isim>.py -x`
- Tip denetimi: `mypy src/ --strict`
- Lint: `ruff check src/`
- Tam doğrulama (CI'nin de koştuğu): `make check`
Ajan teslim etmeden önce `make check` koşar ve çıktısını PR açıklamasına yapıştırır. Yeşil olmayan diff teslim edilmez.
## PR Instructions
- Commit mesajı: `[<modül>] <tek mantıksal değişim>`
- Bir PR = bir mantıksal değişim. Karışık PR reddedilir.
- `PROGRESS.md` ve `DECISIONS.md` değişiklikle birlikte güncellenir.
- İlgili konu dokümanı değişti mi? Checkbox işaretle.
- `make check` çıktısı PR gövdesinde.
---
## Konu dokümanları
Aşağıdaki haritayı oku; ilgili görev geldiğinde **yalnız ilgili dosyayı** aç.
| Görev | Dosya |
| --- | --- |
| API uçları eklerken / değiştirirken | `docs/api-patterns.md` |
| DB şema, migration, sorgu | `docs/database-rules.md` |
| Yeni test yazarken | `docs/testing-standards.md` |
| Auth, secrets, input validation | `docs/security.md` |
| Sürüm çıkışı | `docs/release.md` |
## Durum ve karar
- Aktif iş: `PROGRESS.md`
- Karar günlüğü (neden, alternatif, sonuç): `DECISIONS.md`
- Yeni özellikler: `features.json`