Commit 2ce1cba7 authored by Le The Phong's avatar Le The Phong

Update CLAUDE.md v1.0

parent b626b818
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
**Tools Policy:** **Tools Policy:**
- **BẮT BUỘC:** - **BẮT BUỘC:**
- Read trước khi Edit/Write - 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 - Edit > Write cho file đã tồn tại
- **CẤM:** - **CẤM:**
- ❌ bash cat/grep/find/sed/echo cho file operations - ❌ bash cat/grep/find/sed/echo cho file operations
...@@ -53,17 +54,16 @@ BẮT BUỘC phải chọn model theo hướng dẫn sau: ...@@ -53,17 +54,16 @@ BẮT BUỘC phải chọn model theo hướng dẫn sau:
| Bước | Model | Cách thực hiện | | Bước | Model | Cách thực hiện |
|------|-------|----------------| |------|-------|----------------|
| 0. Xác định taskId | Haiku | Main assistant xử lý | | 0. Xác định taskId | Sonnet | Main assistant xử lý |
| 1. Context Discovery | Haiku | Delegate qua Task tool | | 1. Context Discovery | Haiku | Delegate qua Task tool |
| 2-3. Planning Phase | Sonnet* | EnterPlanMode (gộp Design + Plan) | | 2-3. Design + Plan | Sonnet* | Main assistant xử lý |
| 4-6. Implement + Test + Finalize | Haiku | Main assistant xử lý | | 4-6. Implement + Test | 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ụ: **Thông báo:** Phải thông báo model trước mỗi bước, ở mỗi task. Ví dụ :
- "Bước 0 với Haiku model" - "Bước 1 với Sonnet model"
- "Bước 1: Task(Explore) với Haiku model" - "Task(Explore) với Haiku model"
- "Planning Phase với Sonnet model (Plan Mode)"
--- ---
...@@ -80,63 +80,71 @@ BẮT BUỘC phải chọn model theo hướng dẫn sau: ...@@ -80,63 +80,71 @@ BẮT BUỘC phải chọn model theo hướng dẫn sau:
### 1. Context Discovery ### 1. Context Discovery
- Quét cấu trúc dự án, hiểu tech stack - Quét cấu trúc dự án, hiểu tech stack
- Scan các file liên quan để hiểu patterns và conventions - 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
- **ƯU TIÊN:** Task(Explore) cho broad exploration | Glob/Grep cho needle queries
### Planning Phase (Bước 2-3 gộp chung) ### Planning Phase (Bước 2-3 gộp chung)
**🔵 EnterPlanMode (Sonnet) - BẮT ĐẦU NGAY TẠI ĐÂY** **🔵 EnterPlanMode - BẮT ĐẦU NGAY TẠI ĐÂY**
### 2. High-level Plan (Plan.md)
**Mục tiêu**: Xác định hướng đi & lựa chọn giải pháp
#### Bước 2: High-level Design (TRONG Plan Mode) **Nội dung**:
- Sonnet đề xuất các phương án với ưu/nhược điểm - Đề xuất các phương án với ưu/nhược điểm
- Trade-offs giữa các phương án
- Tech stack / thư viện nếu cần thay đổi
**Cách trình bày**:
- **ƯU TIÊN:** AskUserQuestion (2-4 options) | Manual text - **ƯU TIÊN:** AskUserQuestion (2-4 options) | Manual text
**🛑 DỪNG NGAY TẠI ĐÂY**: **🛑 DỪNG NGAY TẠI ĐÂY**:
- KHÔNG ĐƯỢC tiếp tục sang Bước 3 - KHÔNG ĐƯỢC tiếp tục sang Bước 3
- Chờ user xác nhận phương án được chọn - 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 - User có thể yêu cầu điều chỉnh hoặc xem xét phương án khác
- **Vẫn Ở TRONG Plan Mode, chưa exit**
#### Bước 3: Planning & Context Persistence (TIẾP TỤC trong Plan Mode)
**Sau khi user approve phương án:** ### 3. Implementation Plan (Implementation.md - TIẾP TỤC trong Plan Mode)
1. **Checkout branch:** `git checkout -b {tên-nhánh-hiện-tại}-{taskId}` **Mục tiêu**: Chi tiết hóa cách thực hiện phương án đã chọn
2. **Tạo thư mục:** `mkdir implementation_plan_{taskId}` **Nội dung**:
- 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 (nếu có)
- Các bước thực hiện chi tiết (step-by-step)
- Dependencies giữa các bước
3. **Sonnet scan codebase & ghi file `planning_summary.md`:** **🛑 DỪNG:** Chờ user approve plan
- **Nội dung:** 100% context từ planning phase
- Phương án đã chọn
- Files cần tạo/sửa (exact line numbers)
- Code snippets & references tìm được
- Dependencies (nếu có)
- Step-by-step implementation (chi tiết)
- Verification plan
4. **→ ExitPlanMode** (KẾT THÚC Plan Mode, context đã persist vào file, ready cho Haiku) **SAU KHI APPROVE:**
- **BẮT BUỘC:** TodoWrite (tạo todo list)
**→ ExitPlanMode**
- Tiếp tục Bước 4
### 4. Implementation (Haiku) ### 4. Implementation
- **Bước đầu tiên:** Đọc `planning_summary.md` → Có 100% context cần thiết - Git Checkout nhánh mới: `git checkout -b {tên-nhánh-hiện-tại}-{taskId}`
- Thực hiện từng step theo file - Thực thi theo Plan
- **BẮT BUỘC:** Read trước Edit/Write (verify code status) - Follow references và patterns đã xác định
- **BẮT BUỘC:** Read trước Edit/Write, TodoWrite update (`in_progress``completed`)
### 5. Verification Loop ### 5. Verification Loop
- Chạy test (Bash: dotnet test, npm test, pytest...) - Chạy test (Bash: dotnet test, npm test, pytest...)
- **Nếu FAIL:** Đọc log → Sửa lỗi → Chạy lại - **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) - **Đếm tổng số lần fail** (kể cả lỗi khác nhau)
**🛑 DỪNG NGAY sau 3 lần fail**: **🛑 DỪNG NGAY sau 3 lần fail**:
- KHÔNG ĐƯỢC tự tiếp tục fix - KHÔNG ĐƯỢC tự tiếp tục fix
- Báo cáo tình trạng cho user (lỗi gì, đã fix gì) - Báo cáo tình trạng cho user (lỗi gì, đã fix gì)
- Chờ user quyết định: - Chờ user quyết định: Escalate / Về Bước 2 / Về Bước 3
* **Về Planning Phase**: EnterPlanMode, đọc `implementation_plan_{taskId}/planning_summary.md` để recovery context, phân tích lỗi, đề xuất phương án mới - Nếu về Bước 2/3: Hỏi user có muốn chuyển lên Opus không (mặc định Sonnet)
* **Tiếp tục fix**: Nếu lỗi đơn giản và có hướng giải quyết rõ ràng
- Nếu về Planning Phase: Hỏi user có muốn chuyển lên Opus không (mặc định Sonnet)
### 6. Finalize ### 6. Finalize
- Update `planning_summary.md` nếu có thay đổi so với plan ban đầu - TodoWrite: Mark all completed
- Update API docs trong `implementation_plan_{taskId}/` nếu có thay đổi API - Tạo thư mục: `mkdir implementation_plan_{taskId}`
- Commit: `git add [files] && git commit -m "{taskId} - {Nội dung Tiếng Việt}"` - Tạo 2 file summary (markdown) trong thư mục:
\ No newline at end of file - `plan.md` - Tóm tắt High-level Plan từ Bước 2
- `implementation.md` - Tóm tắt Implementation Plan từ Bước 3
- 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