FHM290626SAS01 - prompt pembuatan PR
This commit is contained in:
26
AGENTS.md
26
AGENTS.md
@@ -14,6 +14,32 @@
|
|||||||
- Saat bug UI/network, cek dulu alur `mounted`, `watch`, `computed`, dan `store dispatch` sebelum menambah mekanisme baru.
|
- 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.
|
- 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)
|
## Git Flow (Saat Diminta Commit/Push)
|
||||||
- Inspeksi minimal: jalankan `git status` dan `git diff --stat` dulu.
|
- Inspeksi minimal: jalankan `git status` dan `git diff --stat` dulu.
|
||||||
- **Sebelum membuat commit, selalu tanya kode task kepada user.**
|
- **Sebelum membuat commit, selalu tanya kode task kepada user.**
|
||||||
|
|||||||
26
CLAUDE.md
26
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
|
# Commit Message Format
|
||||||
- Sebelum membuat commit, **selalu tanya kode task** kepada user.
|
- Sebelum membuat commit, **selalu tanya kode task** kepada user.
|
||||||
- Format commit message wajib: `TASKCODE - deskripsi singkat`
|
- Format commit message wajib: `TASKCODE - deskripsi singkat`
|
||||||
|
|||||||
87
PR_PROMPT.md
Normal file
87
PR_PROMPT.md
Normal file
@@ -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.
|
||||||
Reference in New Issue
Block a user