Həftə 5Təxmini vaxt: Bir həftə sonu — 6-8 saat.
Ara capstone: bir funksiya, sıfırdan auditə qədər
Nə qurursan
Kiçik, amma tam bir funksiya qur: hesabı olan istifadəçi nəsə yaradır, onu görür, silir. Məsələn qeydlər, işarələr və ya şərhlər. Ölçü vacib deyil — yolun tam olması vacibdir: şərtnamə, arxitektura qeydi, branch, kiçik commit-lər, serverdə yoxlanan icazə, və sonunda öz kodunun auditi.
Təhvil verilənlər
- 1Şərtnamə: məqsəd, qeyri-məqsədlər, məlumat modeli (hər nullable sahənin mənası ilə), endpoint-lər və xəta cavabları.
- 2Layihənin qaydalar faylı (CLAUDE.md və ya bənzəri) və agentin icazə sərhədi.
- 3Branch və commit tarixi: hər commit bir fikir, mesajlar niyəni deyir.
- 4curl sınaqları: sessiyasız 401, başqa hesabla 403, öz hesabınla 200 — çıxışları saxla.
- 5Bir səhifəlik audit hesabatı: nə tapdın, nəyi düzəltdin, nəyi bilərəkdən buraxdın.
Bitmiş sayılır, əgər
- Kod yazılmazdan əvvəl şərtnamə təsdiqlənib və onda razı olmadığın ən az iki şeyi dəyişmisən.
- Hər yazma endpoint-i sessiyasız 401 qaytarır; başqasının resursuna 403.
- Kimlik heç bir yerdə gövdədən, query-dən və ya ehtiyat yoldan oxunmur.
- Silmə əməliyyatı yalnız sahibinə açıqdır və bunu curl ilə sübut etmisən.
- master-ə birbaşa heç nə yazılmayıb.
Ən çox rast gəlinən səhv: funksiyanı böyütmək. Beş ekran əvəzinə bir ekran qur, amma yolu tam get — bu capstone kod miqdarını yox, intizamı ölçür.
Başlanğıc prompt-u
We are building <feature> from scratch, and I am learning the method,
not just the result. Work in this order and stop at each boundary:
1. Ask me the questions the spec cannot answer without me.
2. Write the spec: goal, non-goals, data model (say what every nullable field
means), endpoints with who may call them and what they return on error,
edge cases, acceptance criteria I can check by hand.
Stop. I will correct it.
3. Write the architecture note: which module owns which fact, which way data
flows, where the trust boundary is. Stop.
4. Implement step one only, on a branch, in one commit. Then stop.
Never take identity from the request body. Show me the curl commands that
prove each endpoint's answer before you tell me it works.