From 589f3f050bacc9eb57fe8de359e2695323ea6c6b Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Mon, 29 Jun 2026 10:39:17 +0700 Subject: [PATCH] FHM290626SAS01 - prompt pembuatan PR --- AGENTS.md | 26 ++++++++++++++++ PR_PROMPT.md | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 PR_PROMPT.md diff --git a/AGENTS.md b/AGENTS.md index 9bf317b..83ebc7e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,6 +15,32 @@ ## Priority - Safety confirmation is mandatory and overrides speed. +## 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 fungsi/fitur] + +## File yang Diubah +| File | Fungsi/Bagian | Keterangan | +|---|---|---| +| `path/to/file.php` | `nama_fungsi()` | 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..9699f4a --- /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 | +|---|---|---| +| `application/controllers/ais/Transactionv2.php` | `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.