Sesuaikan Code Review
Atur apa yang ditandai Code Review pada pull request Anda dengan REVIEW.md dan CLAUDE.md: kalibrasi ulang tingkat keparahan, lewati path, tambahkan pemeriksaan, dan lihat salinan mana yang berlaku.
Anda dapat mengubah apa yang ditandai Code Review pada repositori Anda dengan melakukan commit instruksi ke repositori tersebut. Beginilah cara Anda mengurangi jumlah nit, menghentikan komentar pada file yang dihasilkan, atau menambahkan aturan yang penting bagi tim Anda. Letakkan instruksi tersebut di salah satu dari dua file:
CLAUDE.md: instruksi proyek yang dibaca Claude Code untuk setiap tugas, termasuk review. Code Review membacanya sebagai konteks proyek dan menandai perubahan yang melanggarnya.REVIEW.md: instruksi khusus untuk review. Gunakan file ini untuk menyatakan apa yang ingin ditandai oleh tim Anda, pada tingkat keparahan apa, dan apa yang harus dilewati.
Tambahkan REVIEW.md di root repositori Anda dan merge file tersebut. Kemudian lindungi default branch Anda.
[!NOTE]
Untuk mengubah seberapa menyeluruh review atau kapan review dijalankan, minta seorang Owner untuk mengubah tingkat review atau pengaturan Review runs.
Gunakan CLAUDE.md untuk aturan di seluruh proyek
Code Review membaca file CLAUDE.md di repositori Anda sebagai konteks proyek. Perubahan yang melanggar salah satu aturannya menjadi temuan pada tingkat keparahan mana pun yang sesuai dengan masalahnya.
Sebuah review membaca CLAUDE.md di root repositori Anda dan file CLAUDE.md di direktori induk dari setiap file yang diubah. CLAUDE.md di sebuah subdirektori dibaca ketika pull request mengubah file di bawah path tersebut.
Gunakan REVIEW.md untuk aturan khusus review
REVIEW.md adalah file di root repositori Anda yang menyesuaikan Code Review dengan repositori Anda. Anda juga dapat menambahkan REVIEW.md di sebuah subdirektori untuk menambahkan pemeriksaan bagi perubahan di bawah path tersebut, di samping file root.
Agent yang menemukan masalah dan agent yang memverifikasinya menerima isinya sebagai instruksi review repositori Anda, bersama dengan panduan review default Code Review. Langkah yang menulis review akhir merujuk ke file ini sebelum menetapkan tingkat keparahan dan menulis ringkasan.
Contoh tata letak ini memiliki file root dan satu file subdirektori:
your-repo/
├── REVIEW.md # Root file
├── services/
│ └── billing/
│ └── REVIEW.md # Adds checks for changes under services/billing/
└── src/
Sebelum Anda mengandalkan file subdirektori, lindungi default branch Anda dan periksa apa yang dibaca review untuk pengaturan branch Anda.
[!NOTE]
Layanan Code Review dan perintah
/code-reviewlokal adalah dua tool terpisah, dan keduanya membaca file yang berbeda. Layanan ini membacaCLAUDE.mddanREVIEW.md. Perintah/code-review, yang Anda jalankan di dalam sesi Claude Code di mesin Anda sendiri, membaca fileCLAUDE.mdAnda dan tidak membacaREVIEW.md. Letakkan panduan yang ingin Anda terapkan di kedua tempat dalamCLAUDE.md, dan gunakanREVIEW.mduntuk aturan yang khusus untuk review pull request.
Contoh REVIEW.md
REVIEW.md ini mengkalibrasi ulang tingkat keparahan untuk layanan backend, membatasi nit, melewati file yang dihasilkan, dan menambahkan pemeriksaan khusus repo.
# Review instructions
## What Important means here
Reserve Important for findings that would break behavior, leak data,
or block a rollback: incorrect logic, unscoped database queries, PII
in logs or error messages, and migrations that aren't backward
compatible. Style, naming, and refactoring suggestions are Nit at
most.
## Cap the nits
Report at most five Nits per review.
## Do not report
- Anything CI already enforces: lint, formatting, type errors
- Generated files under `src/gen/` and any `*.lock` file
- Test-only code that intentionally violates production rules
## Always check
- New API routes have an integration test
- Log lines don't include email addresses, user IDs, or request bodies
- Database queries are scoped to the caller's tenant
Pilih apa yang ditulis di REVIEW.md
REVIEW.md adalah Markdown bentuk bebas yang mengubah apa yang ditemukan dan dilaporkan oleh review. File ini tidak mengubah format review. Temukan masalah yang Anda alami, lalu tambahkan instruksi seperti yang ditunjukkan. Contoh menggunakan empat yang pertama.
- Hal yang salah ditandai sebagai Important: definisikan ulang arti 🔴 Important untuk repositori Anda. Kalibrasi default menargetkan kode produksi, sedangkan repositori dokumentasi, repositori konfigurasi, atau prototipe mungkin menginginkan definisi yang jauh lebih sempit. Nyatakan kelas temuan mana yang Important dan mana yang paling tinggi hanya Nit. Anda juga dapat menaikkan tingkat, misalnya memperlakukan setiap pelanggaran
CLAUDE.mdsebagai Important. - Terlalu banyak nit: batasi berapa banyak komentar 🟡 Nit yang diposting oleh satu review. Batasan seperti "laporkan paling banyak lima nit" menjaga review tetap dapat ditindaklanjuti.
- Komentar pada file yang dihasilkan atau pada hal yang sudah diperiksa CI: daftarkan path dan kategori temuan di mana Claude harus melewati temuan. Kandidat umum adalah kode yang dihasilkan, lockfile, dan dependensi vendored, beserta apa pun yang sudah ditegakkan CI Anda seperti linting atau pemeriksaan ejaan. Untuk path yang memerlukan sedikit review tetapi tidak pemeriksaan penuh, tetapkan ambang yang lebih tinggi sebagai gantinya: "di
scripts/, hanya laporkan jika hampir pasti dan serius." - Aturan tim tidak diperiksa: tambahkan aturan yang ingin Anda tandai di setiap pull request, seperti "rute API baru harus memiliki tes integrasi."
- Temuan yang ternyata salah: wajibkan bukti sebelum suatu kelas temuan diposting. Misalnya, "klaim perilaku memerlukan kutipan
file:linedi sumber, bukan inferensi dari penamaan" mengurangi positif palsu yang jika tidak akan membuat penulis harus bolak-balik.
Beberapa instruksi ini memerlukan file root pada default branch yang dilindungi.
Batasi REVIEW.md pada instruksi yang mengubah perilaku review, dan biarkan konteks proyek umum di CLAUDE.md.
Sertakan file lain di REVIEW.md
Anda dapat membagi instruksi review ke beberapa file dan menariknya ke dalam REVIEW.md root Anda. Gunakan ini ketika REVIEW.md menjadi panjang atau ketika Anda sudah menyimpan aturan review di file lain.
Untuk menyertakan file, tambahkan baris ke REVIEW.md root yang hanya berisi @ dan nama file. Code Review menempatkan isi file tersebut sebagai pengganti baris itu, sehingga isinya berlaku sebagai bagian dari REVIEW.md. Dalam contoh ini, file root memberikan satu instruksinya sendiri lalu menyertakan dua file aturan:
# Review instructions
Report at most five Nits per review.
@review-security.md
@review-api.md
Simpan file yang disertakan di root repositori, di samping REVIEW.md:
your-repo/
├── REVIEW.md
├── review-security.md
└── review-api.md
Code Review menyertakan file tersebut ketika membaca REVIEW.md dari branch yang dilindungi, jadi periksa branch mana yang dibaca review untuk repositori Anda:
- Branch yang dilindungi: Code Review menempatkan file yang disertakan sebagai pengganti baris
@-nya - Default branch yang tidak dilindungi: baris
@tetap berada diREVIEW.mdsebagai teks biasa. Jika pull request mengubah file yang disebutkan oleh baris tersebut, baris itu dihilangkan.
Ketika review tidak menerapkan file yang disertakan, periksa masing-masing hal berikut:
- Lokasi: pindahkan file ke root repositori. Path ke subdirektori seperti
@docs/review-rules.mdtidak disertakan. - Nama: cocokkan nama file secara persis, termasuk huruf besar-kecil, dan gunakan nama tanpa spasi. Baris yang namanya tidak cocok dengan file apa pun di samping
REVIEW.mdtetap berada diREVIEW.mdsebagai teks biasa, dan check run tidak melaporkannya sebagai penyertaan yang dilewati. - Satu tingkat: cantumkan setiap file di
REVIEW.mdroot. Baris@di file yang disertakan atau diREVIEW.mdsubdirektori tetap sebagai teks biasa, dan tautan Markdown ke file lain bukan merupakan penyertaan. - Batas: sertakan paling banyak delapan file berbeda, dan jaga agar
REVIEW.mdbeserta file yang disertakannya di bawah 150.000 byte secara keseluruhan. File yang akan mencapai batas byte dilewati seluruhnya, bukan dipotong. Check run melaporkan berapa banyak baris penyertaan yang dilewati karena salah satu batas tersebut. - Tautan: jaga agar tautan Markdown berjumlah 64 atau kurang di seluruh
REVIEW.mddan file yang disertakannya. Tautan ke alamathttp,https, ataumailtodan ke anchor#tidak dihitung. Melewati batas tersebut, review melewati seluruhREVIEW.mdroot Anda, bukan hanya file yang disertakan. Check run kemudian menyatakan bahwa instruksi tidak diterapkan. - Salinan yang di-merge: merge file yang disertakan ke branch tempat
REVIEW.mddibaca. Review membaca keduanya dari commit yang sama, tidak pernah dari perubahan pull request itu sendiri.
Dari branch mana REVIEW.md dibaca
Code Review membaca REVIEW.md dari base branch pull request atau dari default branch, tidak pernah dari perubahan pull request itu sendiri. Untuk mengubah perilaku review, merge perubahan REVIEW.md terlebih dahulu.
Simpan REVIEW.md di default branch Anda dan lindungi branch tersebut. Ketika review membaca salinan pada default branch yang dilindungi, yaitu baris pertama tabel di bawah, review mematuhi instruksi berikut dari file root:
- Menurunkan tingkat keparahan temuan
- Mengecualikan path, file, atau kelas masalah
- Membatasi komentar nit
Apa yang dihitung sebagai perlindungan branch
Code Review menghitung pengaturan berikut sebagai perlindungan:
- Default branch: aturan perlindungan branch klasik atau ruleset
- Branch lainnya: hanya ruleset
Sebuah ruleset dihitung ketika membatasi pembaruan atau mewajibkan pull request dengan setidaknya satu persetujuan. Jika mewajibkan pull request, ruleset tersebut juga harus membatalkan persetujuan itu pada push baru atau mewajibkan persetujuan datang setelah push terakhir.
Apa yang dibaca review untuk setiap pengaturan branch
Temukan situasi repositori Anda di kolom pertama tabel di bawah.
| Perlindungan branch | Salinan yang dibaca | File yang dibaca |
|---|---|---|
| Default branch dilindungi, dan pull request menargetkannya atau menargetkan branch yang tidak dilindungi ruleset mana pun | Default branch | File root, file yang disertakannya, dan file subdirektori |
| Pull request menargetkan branch lain yang dilindungi oleh ruleset | Base branch tersebut | File root, file yang disertakannya, dan file subdirektori |
| Default branch tidak dilindungi, dan base branch tidak memiliki aturan perlindungan jenis apa pun | Default branch | File root |
| Code Review tidak dapat mengonfirmasi pengaturan perlindungan. Ini termasuk default branch yang tidak dilindungi dengan base branch yang hanya memiliki aturan klasik | Tidak ada | Tidak ada |
Jika check run menyebutkan REVIEW.md, lihat The check run mentions REVIEW.md.
Sumber daya terkait
- Code Review: apa itu layanan ini dan bagaimana review dijalankan
- Membaca dan meminta review pada pull request: arti setiap tingkat keparahan dan bagaimana temuan ditampilkan
- Menyiapkan Code Review: tingkat review dan kapan review dijalankan, yang ditetapkan oleh Owner
- Review secara lokal dengan
/code-review: perintah/code-review, argumennya, dan tingkat effort - Memori: cara kerja file
CLAUDE.mddi seluruh Claude Code