feat: add --all --run autopilot mode for instant write-and-test execution

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-07 16:45:45 +07:00
parent 2045c856e9
commit 6fc49787a9
3 changed files with 55 additions and 41 deletions
+26 -22
View File
@@ -10,38 +10,42 @@ Skill này là công cụ chính để tự động tạo ra file Unit Test cho
## 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ẻ):
1. **🌟 Chế độ 1 Lệnh Duy Nhất Cho Toàn Bộ Dự Án (All-in-One Full Coverage Mode - Khuyên dùng cho dự án lớn)**:
1. **🌟 Chế độ Autopilot Khép Kín: Viết Xong Chạy Test Luôn (`--all --run` hoặc `--autopilot`)**:
```text
/laravel-unit-test --all
```
**Cơ chế cam kết không bỏ sót bất kỳ file nào:**
- **Giai đoạn 1 (Lập Manifest Kiểm Soát)**: Tự động quét toàn bộ `app/` (và `Modules/`), lọc ra tất cả các class có logic (Services, Actions, FormRequests, Rules, Jobs, Policies, Middlewares, Listeners, Observers, Repositories, Custom Casts). Lập file danh sách kiểm soát `tests/.test-manifest.json` (ví dụ: Tổng cộng 42 files).
- **Giai đoạn 2 (Thực Thi Tuần Tự & Theo Dõi Tiến Độ)**: Duyệt tuần tự từng class trong manifest (`[1/42]`, `[2/42]`,...), sinh test tương ứng và đánh dấu `[COMPLETED]`. Không bao giờ bị tràn context và có thể tiếp tục nếu bị gián đoạn.
- **Giai đoạn 3 (Tự Động Chạy Thử & Sửa Lỗi Ngay - Auto-Healing)**: Sinh xong file nào lập tức chạy `./test-runner.sh --filter=<Test>` cho file đó. Nếu FAIL -> Tự động đọc log lỗi và sửa lại test cho đến khi PASS 100%.
- **Giai đoạn 4 (Báo Cáo Nghiệm Thu Độ Phủ)**: Chạy `./test-runner.sh --coverage` và in bảng tổng kết: `42/42 files covered, 100% Passed, Code Coverage: > 80%`.
2. **Chế độ Hàng loạt theo Thư mục (Batch Directory Mode)**:
```text
/laravel-unit-test app/Services/
/laravel-unit-test --all --run
# Hoặc:
/laravel-unit-test app/Actions/
/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.
2. **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)**:
```text
/laravel-unit-test app/Services/ --run
# Hoặc toàn bộ Actions:
/laravel-unit-test app/Actions/ --run
```
3. **Chế độ Theo Module / DDD (Module Mode)**:
4. **Chế độ Theo Module / DDD (Module Mode)**:
```text
/laravel-unit-test Modules/Order/
/laravel-unit-test Modules/Order/ --run
# Hoặc:
/laravel-unit-test app/Domains/Payment/
```
4. **Chế độ Quét & Phủ Test Toàn Dự Án (Untested Audit Mode)**:
```text
/laravel-unit-test --untested
/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
/laravel-unit-test --changed --run
```
6. **Chế độ File đơn lẻ (Single File Mode)**: