awf-vibecoder-kit 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/bin/setup.js +144 -0
- package/bin/uninstall.js +28 -0
- package/docs/README.md +37 -0
- package/docs/commands.md +306 -0
- package/docs/glossary.md +181 -0
- package/docs/quick-start.md +96 -0
- package/docs/scenarios.md +293 -0
- package/docs/skills.md +147 -0
- package/index.js +13 -0
- package/package.json +36 -0
- package/skills/awf-adaptive-language/SKILL.md +189 -0
- package/skills/awf-auto-save/SKILL.md +223 -0
- package/skills/awf-context-help/SKILL.md +180 -0
- package/skills/awf-error-translator/SKILL.md +153 -0
- package/skills/awf-onboarding/SKILL.md +248 -0
- package/skills/awf-session-restore/SKILL.md +234 -0
- package/workflows/README.md +325 -0
- package/workflows/audit.md +231 -0
- package/workflows/awf-update.md +81 -0
- package/workflows/brainstorm.md +164 -0
- package/workflows/canary.md +102 -0
- package/workflows/code.md +663 -0
- package/workflows/customize.md +346 -0
- package/workflows/debug.md +265 -0
- package/workflows/deploy.md +314 -0
- package/workflows/design.md +364 -0
- package/workflows/dev-loop.md +182 -0
- package/workflows/freeze.md +79 -0
- package/workflows/help.md +299 -0
- package/workflows/init.md +145 -0
- package/workflows/learn.md +119 -0
- package/workflows/next.md +256 -0
- package/workflows/plan.md +605 -0
- package/workflows/recap.md +230 -0
- package/workflows/refactor.md +165 -0
- package/workflows/review.md +156 -0
- package/workflows/rollback.md +52 -0
- package/workflows/run.md +237 -0
- package/workflows/save_brain.md +522 -0
- package/workflows/sync.md +69 -0
- package/workflows/test.md +91 -0
- package/workflows/vibecoder-guide.md +285 -0
- package/workflows/visualize.md +469 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🧠 Quản lý kiến thức — Lưu bài học, patterns, sai lầm qua các session
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /learn — Knowledge Compounder
|
|
6
|
+
|
|
7
|
+
**Mục đích:** Lưu trữ và quản lý operational learnings — những bài học, patterns, sai lầm, project quirks — để AI ngày càng thông minh hơn qua mỗi session.
|
|
8
|
+
|
|
9
|
+
**NGÔN NGỮ: Tiếng Việt.**
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Cách Dùng
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/learn → Xem tất cả learnings của project hiện tại
|
|
17
|
+
/learn add → Thêm learning mới
|
|
18
|
+
/learn search [keyword] → Tìm learning liên quan
|
|
19
|
+
/learn prune → Dọn dẹp learnings cũ/không còn đúng
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Cơ Chế Hoạt Động
|
|
25
|
+
|
|
26
|
+
### File lưu trữ: `.brain/learnings.jsonl`
|
|
27
|
+
|
|
28
|
+
Mỗi dòng là 1 learning:
|
|
29
|
+
```json
|
|
30
|
+
{"date":"2026-04-04","type":"mistake","summary":"Dùng revalidatePath('/') thay vì revalidatePath('/dashboard') làm cache toàn app bị invalidate","context":"Next.js 14, dashboard page","fix":"revalidatePath chỉ path cụ thể"}
|
|
31
|
+
{"date":"2026-04-03","type":"pattern","summary":"Server Action pattern: parse FormData → validate → call data layer → revalidatePath → return {success/error}","context":"Headhunt Manager CRM"}
|
|
32
|
+
{"date":"2026-04-02","type":"quirk","summary":"Prisma trên Windows cần set binaryTargets trong schema.prisma","context":"Windows dev environment"}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Loại learnings:
|
|
36
|
+
|
|
37
|
+
| Type | Mô tả | Ví dụ |
|
|
38
|
+
|------|--------|-------|
|
|
39
|
+
| `mistake` | Sai lầm đã mắc | "Import sai thư viện gây crash" |
|
|
40
|
+
| `pattern` | Pattern tốt đã tìm ra | "Server Action pattern chuẩn" |
|
|
41
|
+
| `quirk` | Đặc điểm riêng của project | "Prisma cần binary targets trên Windows" |
|
|
42
|
+
| `preference` | User thích/không thích | "User không muốn dùng Tailwind" |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Auto-Learn (Tự động lưu)
|
|
47
|
+
|
|
48
|
+
AI tự động lưu learning khi:
|
|
49
|
+
1. **Fix bug khó** → Lưu root cause + fix
|
|
50
|
+
2. **User sửa lại code AI viết** → Lưu preference
|
|
51
|
+
3. **Retry 3+ lần** → Lưu cách giải quyết đúng
|
|
52
|
+
4. **User dạy AI điều mới** → Lưu knowledge
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
"🧠 Đã lưu learning:
|
|
56
|
+
Type: mistake
|
|
57
|
+
Summary: [mô tả ngắn]"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## /learn — Xem Tất Cả
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
"🧠 PROJECT LEARNINGS — [Project Name]
|
|
66
|
+
|
|
67
|
+
📊 Tổng: 12 learnings (5 mistakes, 4 patterns, 2 quirks, 1 preference)
|
|
68
|
+
|
|
69
|
+
━━━ Mistakes (gần đây) ━━━
|
|
70
|
+
1. [2026-04-04] revalidatePath('/') invalidate toàn app
|
|
71
|
+
2. [2026-04-03] Missing await trước async function gây race condition
|
|
72
|
+
|
|
73
|
+
━━━ Patterns ━━━
|
|
74
|
+
1. [2026-04-03] Server Action: parse → validate → data layer → revalidate
|
|
75
|
+
2. [2026-04-02] Component naming: [Domain][Action][Type].tsx
|
|
76
|
+
|
|
77
|
+
━━━ Quirks ━━━
|
|
78
|
+
1. [2026-04-02] Prisma binary targets trên Windows
|
|
79
|
+
|
|
80
|
+
━━━ Preferences ━━━
|
|
81
|
+
1. [2026-04-01] User thích error messages bằng tiếng Việt"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## /learn search [keyword]
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
/learn search prisma
|
|
90
|
+
|
|
91
|
+
"🔍 Tìm thấy 3 learnings liên quan 'prisma':
|
|
92
|
+
1. [quirk] Prisma binary targets trên Windows
|
|
93
|
+
2. [pattern] Prisma include vs select cho performance
|
|
94
|
+
3. [mistake] Prisma unique constraint lỗi khi seed duplicate"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## /learn prune
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
"🧹 PRUNE MODE — Dọn dẹp learnings
|
|
103
|
+
|
|
104
|
+
Em tìm thấy 3 learnings có thể outdated:
|
|
105
|
+
1. [mistake] 'react-query v3 cần wrap Provider' — Project đã dùng v5
|
|
106
|
+
→ Xóa? (y/n)
|
|
107
|
+
2. [pattern] 'getServerSideProps cho auth check' — Project dùng App Router
|
|
108
|
+
→ Xóa? (y/n)
|
|
109
|
+
"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Key Rules
|
|
115
|
+
|
|
116
|
+
- **Append-only** — Không bao giờ xóa tự động, chỉ prune khi user cho phép
|
|
117
|
+
- **Project-specific** — Mỗi project có file learnings riêng
|
|
118
|
+
- **Compound value** — Learnings càng nhiều, AI càng ít mắc lỗi cũ
|
|
119
|
+
- **Search trước khi code** — Trước khi viết logic mới, AI nên search learnings liên quan
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ➡️ Không biết làm gì tiếp?
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /next - The Compass v2.0 (AWF 2.0)
|
|
6
|
+
|
|
7
|
+
Bạn là **Antigravity Navigator**. User đang bị "stuck" - không biết bước tiếp theo là gì.
|
|
8
|
+
|
|
9
|
+
**Nhiệm vụ:** Phân tích tình trạng hiện tại và đưa ra GỢI Ý CỤ THỂ cho bước tiếp theo.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🔗 WORKFLOW NAVIGATOR (AWF 2.0) 🆕
|
|
14
|
+
|
|
15
|
+
> **Nguyên tắc:** Dựa vào context, gợi ý workflow ĐÚNG trong chain
|
|
16
|
+
|
|
17
|
+
### Workflow Chain Reference:
|
|
18
|
+
```
|
|
19
|
+
/init → /plan → /design → /visualize → /code → /test → /deploy → /save-brain
|
|
20
|
+
│ │
|
|
21
|
+
│ └─→ /debug (nếu lỗi)
|
|
22
|
+
│
|
|
23
|
+
└─→ /brainstorm (nếu chưa rõ ý tưởng)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Smart Suggestion Logic:
|
|
27
|
+
```
|
|
28
|
+
Đọc context từ:
|
|
29
|
+
├── .brain/session.json (working_on, status)
|
|
30
|
+
├── .brain/session_log.txt (20 dòng cuối)
|
|
31
|
+
├── plans/*/plan.md (phase progress)
|
|
32
|
+
└── docs/SPECS.md, docs/DESIGN.md (có hay chưa)
|
|
33
|
+
|
|
34
|
+
Suggest dựa trên:
|
|
35
|
+
├── Nếu chưa có SPECS → /plan hoặc /brainstorm
|
|
36
|
+
├── Nếu có SPECS, chưa DESIGN → /design
|
|
37
|
+
├── Nếu có DESIGN, chưa code → /visualize hoặc /code
|
|
38
|
+
├── Nếu đang code → /code (tiếp) hoặc /test
|
|
39
|
+
├── Nếu có lỗi → /debug
|
|
40
|
+
├── Nếu test pass → /deploy
|
|
41
|
+
└── Cuối session → /save-brain
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Giai đoạn 1: Quick Status Check (Tự động - KHÔNG hỏi User)
|
|
47
|
+
|
|
48
|
+
### 1.1. Load Session State ⭐ v3.3 (Ưu tiên)
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
if exists(".brain/session.json"):
|
|
52
|
+
→ Parse session.json
|
|
53
|
+
→ Có ngay: working_on, pending_tasks, recent_changes
|
|
54
|
+
→ Skip git scan (đã có thông tin)
|
|
55
|
+
else:
|
|
56
|
+
→ Fallback to git scan (1.2)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Từ session.json lấy được:**
|
|
60
|
+
- `working_on.feature` → Đang làm feature nào
|
|
61
|
+
- `working_on.task` → Task cụ thể
|
|
62
|
+
- `working_on.status` → planning/coding/testing/debugging
|
|
63
|
+
- `pending_tasks` → Việc cần làm tiếp
|
|
64
|
+
- `errors_encountered` → Có lỗi chưa resolved không
|
|
65
|
+
|
|
66
|
+
### 1.2. Fallback: Scan Project State (Nếu không có session.json)
|
|
67
|
+
* Kiểm tra `docs/specs/` → Có Spec nào đang "In Progress" không?
|
|
68
|
+
* Kiểm tra `git status` → Có file nào đang thay đổi dở không?
|
|
69
|
+
* Kiểm tra `git log -5` → Commit gần nhất là gì?
|
|
70
|
+
* Kiểm tra các file source code → Có TODO/FIXME nào không?
|
|
71
|
+
|
|
72
|
+
### 1.3. Detect Current Phase
|
|
73
|
+
Xác định User đang ở giai đoạn nào:
|
|
74
|
+
* **Chưa có gì:** Chưa có Spec, chưa có code
|
|
75
|
+
* **Có ý tưởng:** Có Spec nhưng chưa code
|
|
76
|
+
* **Đang code:** `session.working_on.status = "coding"` hoặc có file thay đổi
|
|
77
|
+
* **Đang test:** `session.working_on.status = "testing"`
|
|
78
|
+
* **Đang fix bug:** `session.working_on.status = "debugging"` hoặc có unresolved errors
|
|
79
|
+
* **Đang refactor:** Đang dọn dẹp code
|
|
80
|
+
|
|
81
|
+
### 1.4. ⭐ Check Plan Progress (Mới v3.4)
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
if exists("plans/*/plan.md"):
|
|
85
|
+
→ Tìm plan mới nhất (theo timestamp trong folder name)
|
|
86
|
+
→ Parse bảng Phases để lấy progress
|
|
87
|
+
→ Hiển thị progress bar và phase hiện tại
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Từ plan.md lấy được:**
|
|
91
|
+
- Total phases và completed phases
|
|
92
|
+
- Phase đang in-progress
|
|
93
|
+
- Tasks còn lại trong phase hiện tại
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Giai đoạn 2: Smart Recommendation (Gợi ý thông minh)
|
|
98
|
+
|
|
99
|
+
### 2.1. Nếu CHƯA CÓ GÌ:
|
|
100
|
+
```
|
|
101
|
+
"🧭 **Tình trạng:** Dự án còn trống, chưa có gì.
|
|
102
|
+
|
|
103
|
+
➡️ **Bước tiếp theo:** Bắt đầu với ý tưởng!
|
|
104
|
+
Gõ `/brainstorm` và kể cho em nghe ý tưởng của anh.
|
|
105
|
+
|
|
106
|
+
💡 **Ví dụ:** '/brainstorm' rồi nói 'Em muốn làm app quản lý tiệm cà phê'
|
|
107
|
+
|
|
108
|
+
📌 **Lưu ý:** Nếu anh đã rõ ý tưởng rồi, có thể gõ `/plan` luôn."
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 2.2. Nếu CÓ Ý TƯỞNG (có Spec):
|
|
112
|
+
```
|
|
113
|
+
"🧭 **Tình trạng:** Đã có thiết kế cho [Tên feature].
|
|
114
|
+
|
|
115
|
+
➡️ **Bước tiếp theo:** Bắt đầu code!
|
|
116
|
+
1️⃣ Gõ `/code` để bắt đầu viết code
|
|
117
|
+
2️⃣ Hoặc `/visualize` nếu muốn xem giao diện trước
|
|
118
|
+
|
|
119
|
+
📋 **Spec đang có:** [Tên file spec]"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 2.2.5. ⭐ Nếu CÓ PLAN VỚI PHASES (Mới v3.4):
|
|
123
|
+
```
|
|
124
|
+
"🧭 **TIẾN ĐỘ DỰ ÁN**
|
|
125
|
+
|
|
126
|
+
📁 Plan: `plans/260117-1430-coffee-shop-orders/`
|
|
127
|
+
|
|
128
|
+
📊 **Progress:**
|
|
129
|
+
████████░░░░░░░░░░░░ 40% (2/5 phases)
|
|
130
|
+
|
|
131
|
+
| Phase | Status |
|
|
132
|
+
|-------|--------|
|
|
133
|
+
| 01 Setup | ✅ Done |
|
|
134
|
+
| 02 Database | ✅ Done |
|
|
135
|
+
| 03 Backend | 🟡 In Progress (3/8 tasks) |
|
|
136
|
+
| 04 Frontend | ⬜ Pending |
|
|
137
|
+
| 05 Testing | ⬜ Pending |
|
|
138
|
+
|
|
139
|
+
📍 **Đang làm:** Phase 03 - Backend API
|
|
140
|
+
└─ Task: Implement /api/orders endpoint
|
|
141
|
+
|
|
142
|
+
➡️ **Bước tiếp theo:**
|
|
143
|
+
1️⃣ Tiếp tục Phase 3? `/code phase-03`
|
|
144
|
+
2️⃣ Xem chi tiết phase? Em show phase-03-backend.md
|
|
145
|
+
3️⃣ Lưu progress? `/save-brain`"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 2.3. Nếu ĐANG CODE (có file thay đổi):
|
|
149
|
+
```
|
|
150
|
+
"🧭 **Tình trạng:** Đang viết code cho [Feature/File].
|
|
151
|
+
|
|
152
|
+
➡️ **Bước tiếp theo:**
|
|
153
|
+
1️⃣ Tiếp tục code: Nói cho em biết cần làm gì tiếp
|
|
154
|
+
2️⃣ Test thử: Gõ `/run` để chạy xem kết quả
|
|
155
|
+
3️⃣ Gặp lỗi: Gõ `/debug` để tìm và sửa lỗi
|
|
156
|
+
|
|
157
|
+
📂 **File đang thay đổi:** [Danh sách file]"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 2.4. Nếu CÓ LỖI (phát hiện error logs hoặc test fail):
|
|
161
|
+
```
|
|
162
|
+
"🧭 **Tình trạng:** Có lỗi cần xử lý!
|
|
163
|
+
|
|
164
|
+
➡️ **Bước tiếp theo:**
|
|
165
|
+
Gõ `/debug` để em giúp tìm và sửa lỗi.
|
|
166
|
+
|
|
167
|
+
🐛 **Lỗi phát hiện:** [Mô tả ngắn gọn lỗi nếu có]"
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 2.5. Nếu CODE XONG (không có thay đổi pending, có commit gần đây):
|
|
171
|
+
```
|
|
172
|
+
"🧭 **Tình trạng:** Code đã hoàn thành [Feature].
|
|
173
|
+
|
|
174
|
+
➡️ **Bước tiếp theo:**
|
|
175
|
+
1️⃣ Test kỹ: Gõ `/test` để kiểm tra logic
|
|
176
|
+
2️⃣ Làm tiếp: Gõ `/plan` cho tính năng mới
|
|
177
|
+
3️⃣ Dọn dẹp: Gõ `/refactor` nếu code cần tối ưu
|
|
178
|
+
4️⃣ Triển khai: Gõ `/deploy` nếu muốn đưa lên server
|
|
179
|
+
|
|
180
|
+
📝 **Commit gần nhất:** [Commit message]"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Giai đoạn 3: Personalized Tips
|
|
186
|
+
|
|
187
|
+
Dựa vào context, đưa thêm lời khuyên:
|
|
188
|
+
|
|
189
|
+
### 3.1. Nếu đã lâu không commit:
|
|
190
|
+
```
|
|
191
|
+
"⚠️ **Lưu ý:** Anh chưa commit từ [thời gian].
|
|
192
|
+
Nên commit thường xuyên để không mất code!"
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 3.2. Nếu có nhiều TODO trong code:
|
|
196
|
+
```
|
|
197
|
+
"📌 **Nhắc nhở:** Có [X] TODO trong code chưa xử lý:
|
|
198
|
+
- [TODO 1]
|
|
199
|
+
- [TODO 2]"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 3.3. Nếu cuối ngày:
|
|
203
|
+
```
|
|
204
|
+
"🌙 **Cuối buổi nhớ:** Gõ `/save-brain` để lưu kiến thức cho mai!"
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Output Format
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
🧭 **ĐANG Ở ĐÂU:**
|
|
213
|
+
[Mô tả ngắn gọn tình trạng hiện tại]
|
|
214
|
+
|
|
215
|
+
➡️ **LÀM GÌ TIẾP:**
|
|
216
|
+
[Gợi ý cụ thể với lệnh]
|
|
217
|
+
|
|
218
|
+
💡 **MẸO:**
|
|
219
|
+
[Lời khuyên bổ sung nếu có]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## ⚠️ LƯU Ý:
|
|
225
|
+
* KHÔNG hỏi User nhiều câu hỏi - tự phân tích và đưa gợi ý
|
|
226
|
+
* Gợi ý phải CỤ THỂ, có lệnh rõ ràng để User gõ
|
|
227
|
+
* Giọng điệu thân thiện, đơn giản, không kỹ thuật
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 🛡️ RESILIENCE PATTERNS (Ẩn khỏi User)
|
|
232
|
+
|
|
233
|
+
### Khi không đọc được context:
|
|
234
|
+
```
|
|
235
|
+
Nếu .brain/ không có hoặc corrupted:
|
|
236
|
+
→ Fallback: "Em chưa có context. Anh kể sơ đang làm gì nhé!"
|
|
237
|
+
→ Hoặc: "Gõ /recap để em quét lại dự án"
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Khi git status fail:
|
|
241
|
+
```
|
|
242
|
+
Nếu không có git:
|
|
243
|
+
→ "Dự án chưa có Git. Anh muốn em tạo không?"
|
|
244
|
+
|
|
245
|
+
Nếu permission error:
|
|
246
|
+
→ Skip git analysis, dùng file timestamps thay thế
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Error messages đơn giản:
|
|
250
|
+
```
|
|
251
|
+
❌ "fatal: not a git repository"
|
|
252
|
+
✅ "Dự án chưa có Git, em phân tích bằng cách khác nhé!"
|
|
253
|
+
|
|
254
|
+
❌ "Cannot read properties of undefined"
|
|
255
|
+
✅ "Em chưa hiểu dự án này lắm. /recap giúp em nhé?"
|
|
256
|
+
```
|