Angkat aturan yang sudah ada di validasi dan migration menjadi dokumen project-rules.md: nominal, payment method, status, RLS, dan acceptance criteria yang bisa diuji.
35m bacaanKuis WajibMicro Badge Lesson
Rules & Acceptance Criteria yang Jujur
PRD mini menjawab: apa yang ingin dibangun?
Rules menjawab: apa aturan main yang tidak boleh dilanggar?
Di aplikasi donasi, rules tidak boleh kabur. Kalimat seperti “donasi harus aman” terdengar bagus, tapi belum bisa diuji. Aman yang mana? Aman dari input palsu? Aman dari akses data donatur? Aman dari status yang loncat sembarangan?
Rules yang berguna harus spesifik dan bisa dicek.
Contoh:
text
Nominal donasi minimal Rp10.000 dan maksimal Rp100.000.000.
Ini bisa diuji.
Bandingkan dengan:
text
Nominal donasi harus masuk akal.
Ini terlalu subjektif.
Sumber rules ada di kode dan migration
Untuk starter ini, sebagian aturan sudah tertanam di dua tempat:
Jika user submit nominal Rp5.000, server mengembalikan error validasi dan donasi tidak tersimpan.
Rule:
text
Campaign publik hanya yang status published.
Acceptance criteria:
text
Campaign draft tidak muncul di halaman utama.
Rule:
text
Donasi baru harus pending.
Acceptance criteria:
text
Setelah submit valid, row terbaru di donations memiliki status pending.
Acceptance criteria yang baik membuat hasil AI bisa diuji tanpa debat.
Minta Antigravity membantu menggali rules
Gunakan prompt ini:
text
Saya sedang menulis docs/project-rules.md untuk Platform Donasi Amanah.Jangan mengubah file apa pun.Baca:- src/lib/validations/donation.ts- supabase/migrations/20260829_vertical_slice.sqlTolong keluarkan rules yang SUDAH ADA, bukan rules karangan.Kelompokkan menjadi:1. rules input donasi,2. rules campaign,3. rules status donasi,4. rules akses/RLS,5. acceptance criteria yang bisa diuji manual.Untuk setiap rule, sebutkan sumber file atau potongan constraint-nya.
Perhatikan frasa yang sudah ada. Kita tidak sedang meminta AI menciptakan aturan baru. Kita meminta AI membantu mengangkat aturan yang tersebar di kode menjadi dokumen yang bisa dibaca ulang.
Verifikasi hasil agent
Jangan salin hasil agent begitu saja. Cek dengan command:
Kalau agent menyebut rule yang tidak bisa kamu temukan sumbernya, jangan masukkan dulu ke dokumen.
Tulis docs/project-rules.md
Buat file:
text
docs/project-rules.md
Isi awal:
md
# Project Rules — Platform Donasi Amanah## Input donasi- Nominal harus bilangan bulat.- Nominal minimal Rp10.000.- Nominal maksimal Rp100.000.000.- Nama donatur wajib, minimal 2 karakter dan maksimal 120 karakter.- Email opsional, tetapi jika diisi harus valid.- Nomor WhatsApp opsional, tetapi jika diisi harus memakai format nomor Indonesia yang valid.- Metode pembayaran hanya `qris` atau `va`.- Consent wajib dicentang.## Campaign- Campaign publik hanya yang statusnya `published`.- Campaign punya `target_amount` lebih dari 0.## Donasi- Donasi baru selalu dimulai dari status `pending`.- Status yang dikenal: `pending`, `verified`, `rejected`, `cancelled`, `refunded`.- User publik hanya boleh insert donasi dengan status `pending`.- Nomor donasi harus unik.## Akses data- Campaign published boleh dibaca publik.- Donasi hanya boleh dibaca pemiliknya atau lewat mekanisme lookup token yang aman.- Token lookup disimpan sebagai hash, bukan token mentah.## Acceptance criteria umum- Nominal di bawah Rp10.000 ditolak oleh server.- Campaign draft tidak tampil publik.- Submit valid membuat donasi berstatus `pending`.- User tidak bisa mengirim status `verified` dari form publik.
Dokumen ini akan dipakai prompt berikutnya. Jadi tulis dengan bahasa yang jelas, bukan sekadar copy paste constraint SQL.
Cek kualitas rules
Satu rule dianggap bagus kalau bisa menjawab:
text
Bisakah saya membuktikan rule ini benar/salah?
Kalau jawabannya tidak, rule itu masih terlalu kabur.
Contoh yang perlu diperbaiki:
text
Data donatur harus aman.
Versi yang lebih bisa diuji:
text
Email dan phone donatur tidak tampil di laporan publik.
Yang perlu kamu hasilkan
Output sesi ini:
text
docs/project-rules.md
Plus minimal tiga acceptance criteria yang nanti bisa dipakai di prompt:
md
## Acceptance criteria untuk prompt pertama- Dari halaman utama, klik campaign published harus menuju halaman donasi, bukan 404.- Perubahan tidak boleh menyentuh schema database.- Setelah perubahan, `npm run build` tetap berhasil.
Kamu akan memakai acceptance criteria ini di prompt pertama.
Checkpoint
docs/project-rules.md ada.
Rules berasal dari donation.ts atau migration, bukan imajinasi.
Setiap rule spesifik dan bisa diuji.
Kamu punya acceptance criteria untuk prompt pertama.
Kamu tahu kenapa donasi baru harus pending, bukan verified.
Sekarang PRD menjelaskan arah, rules menjelaskan pagar, dan acceptance criteria menjelaskan bukti selesai. Setelah ini baru masuk akal meminta Antigravity menyentuh kode.
Checkpoint KuisTarget: 70%
Kuis 01.2 — Rules & Acceptance Criteria yang Jujur
Kuis ini wajib untuk sertifikat. Kamu tetap bisa lanjut ke pelajaran berikutnya dan mengerjakannya nanti.