docs: standardize pro 3-step testing workflow and add SonarQube guide

- Update README.md with recommended 3-step decoupled workflow (audit -> batch write -> terminal run)
- Add docs/10-sonarqube-100-percent-coverage-guide.md covering line/branch coverage and Clover XML export
- Update /laravel-unit-test skill definition prioritizing decoupled batch generation
- Fix remote installer URLs to official Smartgift Git server

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-08 11:06:23 +07:00
parent c8edce44ea
commit c29bfb9c31
3 changed files with 167 additions and 52 deletions
+35 -29
View File
@@ -8,47 +8,53 @@ description: Phân tích một class mã nguồn PHP Laravel bất kỳ và tự
Skill này là công cụ chính để tự động tạo ra file Unit Test cho bất kỳ class nào trong dự án Laravel (Service, Action, Controller, Job, FormRequest, Policy, Rule,...).
## Cách kích hoạt
Người dùng có thể kích hoạt linh hoạt theo các chế độ (từ 1 lệnh duy nhất cho toàn bộ dự án đến từng file đơn lẻ):
Người dùng có thể kích hoạt linh hoạt theo các chế độ (từ quy trình chuẩn Pro 3 bước cho dự án lớn đến file đơn lẻ):
1. **🌟 Chế độ Autopilot Khép Kín: Viết Xong Chạy Test Luôn (`--all --run` hoặc `--autopilot`)**:
### 🏆 QUY TRÌNH CHUẨN PRO CHO DỰ ÁN LỚN (KHUYÊN DÙNG NHẤT):
Để tránh bị tràn context token và đảm bảo viết sâu 100% từng nhánh SonarQube, hãy tách biệt 2 pha: **PHA VIẾT (Generation)** và **PHA CHẠY (Execution)**:
1. **Bước 1: Quét bản đồ dự án (`--untested`)**:
```text
/laravel-unit-test --untested
```
*Liệt kê danh sách class chưa có test theo độ ưu tiên: Services/Actions -> Requests/Rules -> Jobs/Policies.*
2. **Bước 2: Viết test tập trung theo từng tầng (CHỈ VIẾT, CHƯA CHẠY TEST)**:
```text
/laravel-unit-test app/Services/
# Sau khi xong, viết tiếp:
/laravel-unit-test app/Actions/
/laravel-unit-test app/Http/Requests/
```
*AI dồn 100% token tập trung sinh test sâu, đầy đủ Happy Path, Edge Cases, Exception và Branch Coverage.*
3. **Bước 3: Chạy test đồng loạt ngoài Terminal & Nghiệm thu**:
```bash
./test-runner.sh --coverage
```
*Chạy 1 lần duy nhất trên In-memory SQLite siêu tốc, đo độ phủ và xuất file báo cáo.*
---
### ⚡ CÁC CHẾ ĐỘ TIỆN ÍCH KHÁC:
4. **Chế độ Autopilot Khép Kín: Viết & Chạy Test Ngay (`--all --run` hoặc `--autopilot`)**:
```text
/laravel-unit-test --all --run
# Hoặc:
/laravel-unit-test --autopilot
```
*Chỉ với 1 lệnh duy nhất, Agent sẽ thực thi trọn vẹn quy trình 4-trong-1:*
- **Tự động Setup**: Kiểm tra dependencies & SQLite in-memory, tự cài đặt gói thiếu.
- **Tự động Quét**: Lập manifest toàn bộ class trong dự án `app/`.
- **Tự động Viết & Test Ngay**: Sinh test đến đâu -> Chạy test `./test-runner.sh` ngay đến đó.
- **Tự động Sửa Lỗi (Auto-Healing)**: Nếu test đỏ (Fail) -> Tự đọc log lỗi và sửa lại test cho đến khi XANH (Pass 100%).
- **Nghiệm thu**: Đo Code Coverage và in bảng tổng kết cuối cùng.
*Dành cho dự án vừa và nhỏ: AI tự lập manifest, viết đến đâu chạy `./test-runner.sh` ngay đến đó, tự động sửa lỗi (Auto-Healing) nếu test fail.*
2. **Chế độ Viết Cho 1 File & Test Luôn (`--run`)**:
5. **Chế độ Viết Cho 1 File & Test Luôn (`--run`)**:
```text
/laravel-unit-test app/Services/PaymentService.php --run
```
*Sinh test cho class và lập tức chạy thử để xác nhận Pass 100% trước khi hoàn thành.*
3. **Chế độ Hàng loạt theo Thư mục (Batch Directory Mode)**:
6. **Chế độ Theo Git Diff (Dành Cho Pull Request)**:
```text
/laravel-unit-test app/Services/ --run
# Hoặc toàn bộ Actions:
/laravel-unit-test app/Actions/ --run
/laravel-unit-test --changed
```
4. **Chế độ Theo Module / DDD (Module Mode)**:
```text
/laravel-unit-test Modules/Order/ --run
# Hoặc:
/laravel-unit-test app/Domains/Payment/ --run
```
5. **Chế độ Theo Git Diff (Changed Files Mode - Dành Cho Pull Request)**:
```text
/laravel-unit-test --changed --run
```
6. **Chế độ File đơn lẻ (Single File Mode)**:
7. **Chế độ File đơn lẻ**:
```text
/laravel-unit-test app/Services/PaymentService.php
```