一键导入
refactor-backend
Panduan refactor khusus Backend (Laravel)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Panduan refactor khusus Backend (Laravel)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Workflow untuk fitur non-standar seperti Dashboard, Settings, User Management, atau Halaman Khusus.
Panduan refactor E2E test per modul menggunakan shared test factories, termasuk pertimbangan refactoring frontend/backend agar testing konsisten.
Panduan refactor khusus Frontend (React SPA)
Panduan membuat unit test, feature test, dan e2e test sesuai pola codebase.
Panduan membuat migration, seeder, dan factory sesuai standar Laravel.
Workflow untuk membuat fitur CRUD kompleks dengan relasi foreign key, filter multi-field, dan komponen frontend terpisah.
| name | Refactor Backend |
| description | Panduan refactor khusus Backend (Laravel) |
Lakukan refactor kode backend secara TERKONTROL tanpa merusak API contract, response structure, atau test existing.
| Tool | Kapan Digunakan |
|---|---|
mcp_laravel-boost_database-schema | WAJIB cek schema sebelum refactor Model |
mcp_laravel-boost_list-routes | Verifikasi routes tidak berubah |
mcp_laravel-boost_search-docs | Cari best practices Laravel |
mcp_laravel-boost_tinker | Test query Eloquent sebelum commit |
activate_laravel_logging_and_debugging_tools() | Aktifkan tool error/log jika test gagal |
read_file | Baca file referensi |
Controller HANYA BOLEH:
StoreDepartmentRequest, UpdateEmployeeRequestGunakan jika:
Gunakan jika:
Gunakan jika:
# WAJIB cek schema sebelum refactor:
mcp_laravel-boost_database-schema()
# Baca file existing untuk pattern:
read_file(filePath: "/absolute/path/to/project/app/Http/Controllers/PositionController.php", startLine: 1, endLine: 220)
read_file(filePath: "/absolute/path/to/project/app/Http/Requests/Positions/StorePositionRequest.php", startLine: 1, endLine: 220)
| Pattern | File Referensi |
|---|---|
| Thin Controller | app/Http/Controllers/PositionController.php |
| FormRequest | app/Http/Requests/Positions/StorePositionRequest.php |
| Resource | app/Http/Resources/Positions/PositionResource.php |
// ✅ BENAR
public function store(StoreDepartmentRequest $request): JsonResponse
public function update(UpdateDepartmentRequest $request, Department $department): JsonResponse
// ❌ SALAH
public function store(Request $request) // tidak spesifik
| Method | Status Code |
|---|---|
store() | 201 Created |
update() | 200 OK |
destroy() | 204 No Content |
/**
* Store a newly created department.
*
* @param \App\Http\Requests\StoreDepartmentRequest $request
* @return \Illuminate\Http\JsonResponse
*/
// ✅ BENAR
use App\Models\CoaVersion;
use Illuminate\Validation\Rule;
$activeVersion = CoaVersion::where('status', 'active')->first();
'code' => ['required', Rule::unique('approval_flows')->ignore($this->approval_flow)];
// ❌ SALAH
$activeVersion = \App\Models\CoaVersion::where('status', 'active')->first();
'code' => ['required', \Illuminate\Validation\Rule::unique('approval_flows')->ignore($this->approval_flow)];
::class metadata.JANGAN buat DTO/Action/Domain Service jika:
// turbo-all
./vendor/bin/sail test
Jika test gagal:
activate_laravel_logging_and_debugging_tools()
# lalu gunakan tool error/log Laravel yang tersedia untuk cek exception terbaru
Gunakan mcp_laravel-boost_list-routes untuk verify routes tidak berubah.
./vendor/bin/sail test