Commit b1ce9b30 authored by Le The Phong's avatar Le The Phong

v1.1

parent b601030c
......@@ -19,8 +19,6 @@
**Dependencies**: Chỉ install khi cần. Pin version cho production.
**Ưu tiên**: Workspace Rules > Global Rules khi có xung đột.
### 2. Testing
- Viết unit test trong quá trình implement
- AI phải tự động viết test, không chờ được yêu cầu
......@@ -38,120 +36,64 @@
- Commit: {taskId} - {Nội dung Tiếng Việt}
### 5. Claude Code Rules
**Tools Policy:**
- **BẮT BUỘC:**
- Read trước khi Edit/Write
- TodoWrite khi task ≥3 steps: Update real-time, exactly 1 in_progress
- Edit > Write cho file đã tồn tại
- **CẤM:**
- ❌ bash cat/grep/find/sed/echo cho file operations
**Model Selection:**
BẮT BUỘC phải chọn model theo hướng dẫn sau:
| Bước | Model | Cách thực hiện |
|------|-------|----------------|
| 0. Xác định taskId | Sonnet | Main assistant xử lý |
| 1. Context Discovery | Haiku | Delegate qua Task tool |
| 2-3. Design + Plan | Sonnet* | Main assistant xử lý |
| 4-6. Implement + Test | Haiku | Delegate qua Task tool |
| Phase | Model khuyến nghị | Ghi chú |
|-------|-------|---------|
| Xác định taskId | Haiku | Quick check, simple |
| Planning (EnterPlanMode) | Sonnet | Main context, Design & Plan |
| └─ Phase 1 (Context scan) | Haiku (Task/Explore) | Delegate qua Task tool |
| Implementation + Verification | Haiku | Delegate qua Task tool |
*User có thể chọn Opus nếu cần (xem escalation flow)
User có thể chọn Opus nếu cần (xem escalation flow)
**Thông báo:** Phải thông báo model trước mỗi bước, ở mỗi task. Ví dụ :
- "Bước 1 với Sonnet model"
- "Task(Explore) với Haiku model"
**BẮT BUỘC:** Trước mỗi bước/phase/task, thông báo model THỰC TẾ đang chạy (lấy từ system prompt)
Ví dụ:
- "Bước 1: Xác định taskId (Haiku)"
- "Planning Phase - EnterPlanMode (Opus)"
- "Phase 1: Context scan - Task(Explore, Sonnet)"
---
## II. Workflows (Tuần tự & Bắt buộc)
### 0. Xác định taskId
### Bước 1: Xác định taskId
- Xác định {taskId} từ yêu cầu (format: xem Global Rules)
**🛑 DỪNG NGAY TẠI ĐÂY** nếu chưa có {taskId}:
- Không làm công việc nào khác
- Yêu cầu user bổ sung {taskId}
### 1. Context Discovery
- Quét cấu trúc dự án, hiểu tech stack
- Scan các file liên quan để hiểu patterns và conventions
- **ƯU TIÊN:** Task(Explore) cho broad exploration | Glob/Grep cho needle queries
### Planning Phase (Bước 2-3 gộp chung)
**🔵 EnterPlanMode - BẮT ĐẦU NGAY TẠI ĐÂY**
### 2. High-level Plan
**Mục tiêu**: Xác định hướng đi & lựa chọn giải pháp
**Nội dung**:
- Phân tích, làm rõ những điểm còn mơ hồ, thắc mắc trong yêu cầu
- Đề xuất các phương án với ưu/nhược điểm
- Trade-offs giữa các phương án
**Cách trình bày**:
- **ƯU TIÊN:** AskUserQuestion (2-4 options) | Manual text
**🛑 DỪNG NGAY TẠI ĐÂY**:
- KHÔNG ĐƯỢC tiếp tục sang Bước 3
- Chờ user xác nhận phương án được chọn
- User có thể yêu cầu điều chỉnh hoặc xem xét phương án khác
### 3. Technical Design (TIẾP TỤC trong Plan Mode)
**Mục tiêu**: Thiết kế chi tiết phương án đã chọn
**Nội dung**: Tùy theo đặc thù project, đưa ra các tài liệu thiết kế phù hợp
- Ưu tiên sử dụng diagram, data flow, business logic, pseudo code hơn là text thông thường
- KHÔNG có implementation details
- Sẽ bổ sung chi tiết hơn khi đi vào từng loại project
🛑 **DỪNG NGAY** nếu chưa có {taskId}:
- Không làm công việc nào khác
- Yêu cầu user bổ sung {taskId}
**🛑 DỪNG NGAY TẠI ĐÂY**:
- Chờ user approve design
- User có thể yêu cầu điều chỉnh thiết kế
**SAU KHI APPROVE:**
- **→ ExitPlanMode**
- Tiếp tục Bước 4
### Bước 2: Planning Phase (Plan mode của Claude)
### 4. Implementation
### Bước 3: Implementation + Verification
**1. Phân tích Implementation**
- Quét codebase tìm references phù hợp
- Liệt kê references với lý do (similarity, patterns, priority)
- List files cần tạo/sửa
- Xác định thư viện cần cài
**BẮT BUỘC:**
- Git Checkout nhánh mới: `git checkout -b {tên-nhánh-hiện-tại}-{taskId}`
**2. Breakdown Tasks**
- Các bước thực hiện chi tiết (step-by-step)
- Dependencies giữa các bước
- **BẮT BUỘC:** TodoWrite (tạo todo list)
**Execution:**
- Thực thi theo implementation plan từ Planning Phase
**3. Execute Implementation**
- Git Checkout nhánh mới: `git checkout -b {tên-nhánh-hiện-tại}-{taskId}`
- Thực thi theo Design từ bước 3 và TodoList
- Follow references và patterns đã xác định
- **BẮT BUỘC:** Read trước Edit/Write
- **BẮT BUỘC:** TodoWrite update (`in_progress``completed`)
**Verification Loop:**
- Chạy test: `dotnet test`, `npm test`, `pytest`, etc.
- **Nếu FAIL:** Đọc log → Sửa lỗi → TodoWrite update → Chạy lại
- **Đếm tổng số lần fail** (kể cả lỗi khác nhau)
### 5. Verification Loop
- Chạy test (Bash: dotnet test, npm test, pytest...)
- **Nếu FAIL:** Đọc log → Sửa lỗi → TodoWrite update → Chạy lại
- **Đếm tổng số lần fail** (kể cả lỗi khác nhau)
🛑 **DỪNG sau 3 lần fail:**
- KHÔNG tự tiếp tục fix
- Báo cáo cho user: lỗi gì, đã fix gì
- User quyết định: Escalate / Về Planning Phase / Tiếp tục fix
- Nếu escalate: Hỏi user có muốn chuyển lên Opus không (mặc định Sonnet)
**🛑 DỪNG NGAY sau 3 lần fail**:
- KHÔNG ĐƯỢC tự tiếp tục fix
- Báo cáo tình trạng cho user (lỗi gì, đã fix gì)
- Chờ user quyết định: Escalate / Về Bước 2 / Về Bước 3
- Nếu về Bước 2/3: Hỏi user có muốn chuyển lên Opus không (mặc định Sonnet)
### 6. Finalize
- TodoWrite: Mark all completed
### Bước 4: Finalize
- Tạo thư mục: `mkdir implementation_plan_{taskId}`
- Tạo 2 file summary (markdown) trong thư mục:
- `plan.md` - Tóm tắt Requirements Analysis & Solution Selection từ Bước 2
- `design.md` - Tóm tắt Technical Design từ Bước 3
- `implementation.md` - Tóm tắt Implementation Plan từ Bước 4
- Commit: `git add [files] && git commit -m "{taskId} - {Nội dung Tiếng Việt}"`
\ No newline at end of file
- Tạo summary files trong thư mục 'implementation_plan_{taskId}' vừa tạo
- `implementation_plan.md` - Tóm tắt implementation_plan ở bước design
- api docs nếu có public api thay đổi
- Các tài liệu thiết kế khác nếu cần thiết
- **Commit:**
```
git add [files] && git commit -m "{taskId} - {Nội dung Tiếng Việt}"
```
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment