From fa143b3eb01603e397ba62527e270a26ec0b7465 Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Mon, 29 Jun 2026 10:39:48 +0700 Subject: [PATCH] FHM290626SAS01 - prompt pembuatan PR --- AGENTS.md | 26 ++++++++++++++++ CLAUDE.md | 26 ++++++++++++++++ PR_PROMPT.md | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 PR_PROMPT.md diff --git a/AGENTS.md b/AGENTS.md index 04c0d2b..2033e31 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,6 +14,32 @@ - Saat bug UI/network, cek dulu alur `mounted`, `watch`, `computed`, dan `store dispatch` sebelum menambah mekanisme baru. - Jika diminta meniru modul referensi, ikuti pola modul referensi secara ketat. +## Pull Request Format + +Setiap PR wajib menggunakan struktur berikut: + +**Title:** `TASKCODE - deskripsi singkat` + +**Body:** +``` +## Latar Belakang Masalah +[Root cause atau kebutuhan yang melatarbelakangi perubahan] + +## Perubahan +- [Bullet point perubahan spesifik per komponen/fungsi/store] + +## File yang Diubah +| File | Komponen/Fungsi | Keterangan | +|---|---|---| +| `path/to/Component.vue` | `method X` | deskripsi singkat | + +## Test yang Harus Dilakukan QA +- [ ] Skenario normal: ... +- [ ] Skenario edge case: ... +- [ ] Skenario negatif: ... +- [ ] Regression: pastikan fitur terkait tidak rusak +``` + ## Git Flow (Saat Diminta Commit/Push) - Inspeksi minimal: jalankan `git status` dan `git diff --stat` dulu. - **Sebelum membuat commit, selalu tanya kode task kepada user.** diff --git a/CLAUDE.md b/CLAUDE.md index e22875a..ff02235 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,3 +1,29 @@ +# Pull Request Format + +Setiap PR wajib menggunakan struktur berikut: + +**Title:** `TASKCODE - deskripsi singkat` + +**Body:** +``` +## Latar Belakang Masalah +[Root cause atau kebutuhan yang melatarbelakangi perubahan] + +## Perubahan +- [Bullet point perubahan spesifik per komponen/fungsi/store] + +## File yang Diubah +| File | Komponen/Fungsi | Keterangan | +|---|---|---| +| `path/to/Component.vue` | `method X` | deskripsi singkat | + +## Test yang Harus Dilakukan QA +- [ ] Skenario normal: ... +- [ ] Skenario edge case: ... +- [ ] Skenario negatif: ... +- [ ] Regression: pastikan fitur terkait tidak rusak +``` + # Commit Message Format - Sebelum membuat commit, **selalu tanya kode task** kepada user. - Format commit message wajib: `TASKCODE - deskripsi singkat` diff --git a/PR_PROMPT.md b/PR_PROMPT.md new file mode 100644 index 0000000..56c7ef7 --- /dev/null +++ b/PR_PROMPT.md @@ -0,0 +1,87 @@ +# Prompt Standar Pembuatan Pull Request + +Gunakan prompt berikut saat meminta AI untuk membuat PR. Isi bagian dalam kurung `[ ]` sesuai konteks. + +--- + +## Prompt + +``` +Buatkan PR dari branch [HEAD_BRANCH] ke [BASE_BRANCH] dengan detail berikut: + +**Kode Task:** [TASKCODE] + +**Latar Belakang Masalah:** +[Jelaskan root cause masalah atau kebutuhan bisnis. +Contoh: "Fungsi post_transaction_daily tidak memfilter T_TestIsPrice sehingga +pemeriksaan non-price ikut terkirim ke AIS dan menyebabkan transaksi ditolak."] + +**Perubahan yang Dilakukan:** +- [Perubahan 1, spesifik per fungsi/komponen] +- [Perubahan 2] +- [dst...] + +**File yang Terkait:** +- `path/to/file1` — [deskripsi singkat perubahan] +- `path/to/file2` — [deskripsi singkat perubahan] + +**Skenario Test untuk QA:** +- Normal: [flow utama yang harus berjalan] +- Edge case: [kondisi batas yang harus ditangani] +- Negatif: [kondisi yang harus ditolak/error] +- Regression: [fitur lain yang harus dipastikan tidak rusak] +``` + +--- + +## Contoh Hasil PR yang Diharapkan + +### Title +`FHM290626CPONE01 - fix filter T_TestIsPrice pada post_transaction` + +### Body + +```markdown +## Latar Belakang Masalah + +Fungsi `post_layanan_all` di `Masterdata.php` hanya mendaftarkan layanan dengan +`T_TestIsPrice = 'Y'` ke master layanan AIS. Namun fungsi `post_transaction_*` +tidak memfilter hal yang sama — semua pemeriksaan dengan `T_TestIsActive = 'Y'` +ikut terkirim sebagai transaksi, termasuk yang `T_TestIsPrice = 'N'`. +Akibatnya AIS menolak transaksi karena `LayananID` tidak terdaftar di master layanan. + +## Perubahan + +- Menambahkan kondisi `AND T_TestIsPrice = 'Y'` pada semua JOIN ke tabel `t_test` + di fungsi `post_transaction_daily_by_date`, `post_transaction_daily`, + dan `post_transaction_by_labnumber`. + +## File yang Diubah + +| File | Fungsi/Bagian | Keterangan | +|---|---|---| +| `path/to/Component.vue` | `post_transaction_*` | 21 titik JOIN diupdate | +| `application/controllers/ais/Transactionv3.php` | `post_transaction_*` | 21 titik JOIN diupdate | +| `application/controllers/ais/Transactionv4.php` | `post_transaction_*` | 21 titik JOIN diupdate | +| `application/controllers/ais/Transactionv5.php` | `post_transaction_*` | 21 titik JOIN diupdate | + +## Test yang Harus Dilakukan QA + +- [ ] **Normal:** Kirim transaksi dengan pemeriksaan yang `T_TestIsPrice = 'Y'` — + harus berhasil masuk ke AIS tanpa error. +- [ ] **Edge case:** Order yang mengandung campuran pemeriksaan `IsPrice = 'Y'` + dan `IsPrice = 'N'` — hanya yang `'Y'` yang terkirim ke AIS. +- [ ] **Negatif:** Kirim transaksi yang seluruh pemeriksaannya `T_TestIsPrice = 'N'` + — tidak boleh ada layanan yang terkirim ke AIS. +- [ ] **Regression:** Pastikan total tagihan, RegpasNominal, dan TrxBayar + tetap terhitung dengan benar setelah filter diterapkan. +``` + +--- + +## Catatan + +- Selalu gunakan kode task dari user sebelum membuat PR. +- Token Gitea tersimpan di `.env` dengan key `GITEA_TOKEN`. +- Base URL Gitea: `https://devone.aplikasi.web.id/gitea` +- Repo: `fajri/BE_CPONE` (BE) atau sesuai repo aktif.