@leejungkiin/awkit 1.3.8 → 1.4.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.
Files changed (33) hide show
  1. package/bin/awk.js +204 -52
  2. package/core/AGENTS.md +38 -0
  3. package/core/GEMINI.md.bak +126 -199
  4. package/package.json +1 -1
  5. package/skills/awf-session-restore/SKILL.md +12 -2
  6. package/skills/brainstorm-agent/SKILL.md +11 -8
  7. package/skills/gitnexus/gitnexus-cli/SKILL.md +82 -0
  8. package/skills/gitnexus/gitnexus-debugging/SKILL.md +89 -0
  9. package/skills/gitnexus/gitnexus-exploring/SKILL.md +78 -0
  10. package/skills/gitnexus/gitnexus-guide/SKILL.md +64 -0
  11. package/skills/gitnexus/gitnexus-impact-analysis/SKILL.md +97 -0
  12. package/skills/gitnexus/gitnexus-refactoring/SKILL.md +121 -0
  13. package/skills/nm-memory-sync/SKILL.md +14 -1
  14. package/skills/orchestrator/SKILL.md +0 -38
  15. package/skills/ship-to-code/SKILL.md +115 -0
  16. package/skills/single-flow-task-execution/SKILL.md +409 -0
  17. package/skills/single-flow-task-execution/code-quality-reviewer-prompt.md +20 -0
  18. package/skills/single-flow-task-execution/implementer-prompt.md +78 -0
  19. package/skills/single-flow-task-execution/spec-reviewer-prompt.md +61 -0
  20. package/skills/symphony-enforcer/SKILL.md +36 -18
  21. package/skills/trello-sync/SKILL.md +25 -17
  22. package/templates/CODEBASE.md +26 -42
  23. package/templates/configs/trello-config.json +2 -2
  24. package/templates/project-identity/android.json +10 -0
  25. package/templates/project-identity/backend-nestjs.json +10 -0
  26. package/templates/project-identity/expo.json +10 -0
  27. package/templates/project-identity/ios.json +10 -0
  28. package/templates/project-identity/web-nextjs.json +10 -0
  29. package/templates/workflow_dual_mode_template.md +5 -5
  30. package/workflows/_uncategorized/conductor-codex.md +125 -0
  31. package/workflows/_uncategorized/conductor.md +97 -0
  32. package/workflows/_uncategorized/trello-sync.md +52 -0
  33. package/workflows/quality/visual-debug.md +66 -12
@@ -7,8 +7,8 @@ description: |
7
7
  v3.5: UI-First Three-Phase Execution with User Test Checkpoints.
8
8
  metadata:
9
9
  stage: core
10
- version: "3.5"
11
- replaces: "v3.4"
10
+ version: "3.6"
11
+ replaces: "v3.5"
12
12
  requires: symphony-orchestrator
13
13
  tags: [symphony, enforcement, checkpoint, task-lifecycle, core, spec-first, auto-next, kiro, ui-first, user-test]
14
14
  agent: Symphony Enforcer
@@ -24,14 +24,15 @@ invocation-type: auto
24
24
  priority: 1
25
25
  ---
26
26
 
27
- # Symphony Enforcer v3.5 — UI-First Three-Phase Execution + User Test Checkpoints
27
+ # Symphony Enforcer v3.6 — UI-First Three-Phase Execution + Legacy Cleanup
28
28
 
29
29
  > **Purpose:** Đảm bảo AI KHÔNG BAO GIỜ quên cập nhật Symphony.
30
- > **Key Changes v3.5:**
30
+ > **Key Changes v3.6:**
31
+ > - **Step 0.5: Legacy Artifact Cleanup**: Auto-detect stale `.symphony/tasks.json` and warn user
31
32
  > - **Gate 4 Three-Phase Execution**: Phase A (Infra) → Phase B (UI Shell + User Test) → Phase C (Logic + User Test)
32
33
  > - **TP1.7: User Test Checkpoint**: Trigger dừng lại cho user test trên device thật
33
34
  > - **UI-First Task Ordering**: UI tasks PHẢI đi trước logic tasks trong Symphony
34
- > - Kế thừa tất cả features v3.4 (Kiro, Completion Status, Design Compliance).
35
+ > - Kế thừa tất cả features v3.5 (Kiro, Completion Status, Design Compliance).
35
36
  > **Principle:** AI tự detect completion — user KHÔNG CẦN nói "xong".
36
37
 
37
38
  ---
@@ -52,16 +53,32 @@ KHÔNG CÓ NGOẠI LỆ:
52
53
 
53
54
  ## 🔒 STRICT STARTUP PROTOCOL (BẮT BUỘC)
54
55
 
55
- Mỗi khi bắt đầu task code/debug/plan, AI PHẢI đi qua **5 steps tuần tự**.
56
+ Mỗi khi bắt đầu task code/debug/plan, AI PHẢI đi qua **6 steps tuần tự**.
56
57
  KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
57
58
 
59
+ ### Step 0.5: Legacy Artifact Cleanup (AUTO — v3.6)
60
+
61
+ ```
62
+ → Kiểm tra: .symphony/tasks.json tồn tại?
63
+ → CÓ → ⚠️ CẢNH BÁO: "Legacy tasks.json detected. Symphony uses SQLite DB — this file is stale."
64
+ → Khuyên user xoá: "rm .symphony/tasks.json"
65
+ → KHÔNG tự xoá (safety guardrail) — chỉ cảnh báo.
66
+ → Ghi log vào NeuralMemory: "Legacy tasks.json found at {project}, warned user."
67
+ → KHÔNG → ✅ Clean (no legacy artifacts)
68
+ → Output: "🧹 Step 0.5: Legacy Check ✅ — No stale artifacts"
69
+ ```
70
+
71
+ > **Lý do:** Symphony v2+ sử dụng SQLite DB (`symphony.db`) làm single source of truth.
72
+ > File `tasks.json` là di sản từ phiên bản cũ (pre-SQLite). Nếu tồn tại song song sẽ gây
73
+ > "split-brain" — một nửa tool đọc JSON, một nửa đọc DB → dữ liệu lệch pha.
74
+
58
75
  ### Step 1: Project Identity — `.project-identity`
59
76
 
60
77
  ```
61
78
  → Kiểm tra: file .project-identity có tồn tại?
62
79
  → CÓ → Đọc projectId, projectName
63
80
  → KHÔNG → ⛔ DỪNG. Hỏi user hoặc tạo .project-identity.
64
- → Output: "📋 Step 1/5: Project Identity ✅ — {projectId}"
81
+ → Output: "📋 Step 1/6: Project Identity ✅ — {projectId}"
65
82
  ```
66
83
 
67
84
  ### Step 2: NeuralMemory Brain — Switch brain
@@ -69,7 +86,7 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
69
86
  ```
70
87
  → nmem brain use <projectId>
71
88
  → nmem_recap(level=1) — load context
72
- → Output: "🧠 Step 2/5: Brain ✅ — switched to {projectId}"
89
+ → Output: "🧠 Step 2/6: Brain ✅ — switched to {projectId}"
73
90
  ```
74
91
 
75
92
  ### Step 3: Spec Alignment — Đọc Project Spec (v3.4 + Kiro)
@@ -82,7 +99,7 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
82
99
  - .kiro/specs/<module>/design.md → architecture
83
100
  - .kiro/specs/<module>/tasks.md → task breakdown (cho Step 4)
84
101
  → Extract constraints liên quan đến task hiện tại
85
- → Output: "📐 Step 3/5: Kiro Specs Loaded ✅ — {N} modules, {M} design docs"
102
+ → Output: "📐 Step 3/6: Kiro Specs Loaded ✅ — {N} modules, {M} design docs"
86
103
 
87
104
  → CHECK 2 (fallback): docs/specs/PROJECT.md tồn tại?
88
105
  → CÓ → Đọc silent: PROJECT.md + TECH-SPEC.md + REQUIREMENTS.md
@@ -90,8 +107,8 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
90
107
  → NẾU PLANNING mode:
91
108
  - Hỏi user 1-3 câu về constraints/UX cụ thể của feature
92
109
  - Ví dụ: "Feature này cần offline support không?"
93
- → Output: "📐 Step 3/5: Spec Aligned ✅"
94
- → KHÔNG → Skip (project chưa /init) → "📐 Step 3/5: No spec — skipped"
110
+ → Output: "📐 Step 3/6: Spec Aligned ✅"
111
+ → KHÔNG → Skip (project chưa /init) → "📐 Step 3/6: No spec — skipped"
95
112
  ```
96
113
 
97
114
  > **Quan trọng:** Nếu .kiro/specs hoặc TECH-SPEC.md có "Constraints & Non-Negotiables",
@@ -105,7 +122,7 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
105
122
  - Group theo module name
106
123
  - Đánh tag kèm module name
107
124
  → ⛔ CẢNH BÁO: KHÔNG đồng bộ hàng loạt các item nhỏ này lên Trello (để tránh rác board). Chỉ đồng bộ lên cấp module hoặc feature lớn.
108
- → Output: "🎯 Step 4/5: Kiro Tasks Imported ✅ — {N} tasks created"
125
+ → Output: "🎯 Step 4/6: Kiro Tasks Imported ✅ — {N} tasks created"
109
126
  → Claim task phù hợp nhất với user request
110
127
  → CÓ + đã import → symphony_available_tasks → claim task phù hợp
111
128
 
@@ -114,7 +131,7 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
114
131
  → CÓ task ready phù hợp → symphony_claim_task
115
132
  → KHÔNG CÓ → symphony_create_task(title) → symphony_claim_task(new_id)
116
133
  → Lưu task_id cho TP1-TP4
117
- → Output: "🎯 Step 4/5: Task ✅ — #sym-XYZ claimed"
134
+ → Output: "🎯 Step 4/6: Task ✅ — #sym-XYZ claimed"
118
135
  ```
119
136
 
120
137
  ### Step 5: Confirmation Block
@@ -122,11 +139,12 @@ KHÔNG được bắt đầu work cho đến khi TẤT CẢ steps ✅.
122
139
  ```
123
140
  🚦 STARTUP PROTOCOL COMPLETE
124
141
  ══════════════════════════════════════
125
- Step 1: 📋 Project Identity {projectId}
126
- Step 2: 🧠 NeuralMemory brain: {projectId}
127
- Step 3: 📐 Spec Alignment ✅ {constraints_count} constraints loaded
128
- Step 4: 🎯 Task #sym-XYZ "{title}"
129
- Step 5: ✅ READY TO WORK
142
+ Step 0.5: 🧹 Legacy Check No stale artifacts
143
+ Step 1: 📋 Project Identity ✅ {projectId}
144
+ Step 2: 🧠 NeuralMemory brain: {projectId}
145
+ Step 3: 📐 Spec Alignment {constraints_count} constraints loaded
146
+ Step 4: 🎯 Task #sym-XYZ "{title}"
147
+ Step 5: ✅ READY TO WORK
130
148
  ══════════════════════════════════════
131
149
  ```
132
150
 
@@ -30,21 +30,23 @@ priority: 2
30
30
  KHÔNG CÓ NGOẠI LỆ:
31
31
  - 1 Dự án = 1 Trello Card (KHÔNG tạo card mới cho mỗi task).
32
32
  - **Mô tả Card (Description)** BẮT BUỘC phải được update chứa cái nhìn tổng thể về dự án (Mục tiêu, Tech Stack, Tình trạng chung) để Quản lý dễ nắm bắt.
33
- - **Trello (PM View) vs Kiro (Dev View):** Trello là màn hình dành cho Quản lý (PM, QC), còn `.kiro/specs/tasks.md` là nơi để AI/Dev làm việc. Hai khái niệm này hoàn toàn khác nhau.
34
- - [QUAN TRỌNG] Checklist Items trên Trello = ĐẦU VIỆC NGHIỆP VỤ (Business Features). VD: "Màn hình Đăng Nhập", "Chức năng AI Chat", "Tích hợp Thanh Toán".
35
- - TUYỆT ĐỐI CẤM đưa các GIAI ĐOẠN QUY TRÌNH (Process Gates) vào Checklist Items. KHÔNG CÓ CÁC MỤC NHƯ: "Tài liệu", "Thiết kế Giao diện", "Gate 1", "Phase 2", "App Scaffolding".
36
- - PM KHÔNG QUAN TÂM ĐẾN QUY TRÌNH GATE CỦA AI. Progress qua các Gate (Gate 1, Gate 2...) CHỈ ĐƯỢC BÁO CÁO qua Comment.
37
- - KHÔNG BAO GIỜ bứng nguyên các task kỹ thuật chi tiết (VD: "Tạo file `BloodPressureViewModel.kt`") lên Trello. CẤM ĐỒNG BỘ (bulk-sync) raw `tasks.md` sang Trello.
38
- - BẮT BUỘC ĐỒNG BỘ TOÀN BỘ DANH SÁCH NGHIỆP VỤ TỔNG HỢP (Features): Chờ đến khi Đặc tả kỹ thuật (Specs) đã các tính năng, AI mới parse ra các Features thành các Checklist Items để Quản lý (PM) có thể thấy trọn vẹn scope.
39
- - Card KHÔNG di chuyển giữa lists (list = team member, cố định).
40
- - Comment milestone quan trọng PHẢI bao gồm các quyết định cốt lõi hoặc sự thay đổi phase (VD: "Đã hoàn thành Gate 2 Design", "Bắt đầu code Logic").
33
+ - **Trello (PM View) vs Kiro (Dev View):** Trello là màn hình dành cho Quản lý (PM, QC), còn `.kiro/specs/tasks.md` hay `task.md` là nơi để AI/Dev làm việc.
34
+ - [QUAN TRỌNG NHẤT VỀ ĐỘ CHI TIẾT (GRANULARITY)]: Khi được yêu cầu chia task để sync lên Trello, AI PHẢI CHIA NHỎ các phase/tính năng lớn ra thành các Sub-features / Điểm chạm nghiệp vụ (Medium-detail). CẤM làm task quá chung chung.
35
+ - BAD (Quá chung chung): "Hoàn thiện Launch", "Setup Thanh Toán", "Xử Logic".
36
+ - BAD (Quá chi tiết / Dev task): "Tạo file BillingManager.kt", "Sửa padding cho nút Share".
37
+ - GOOD (Chuẩn PM View): "Tích hợp Google Play Billing v7", "Xử AlarmManager nhắc nhở đo huyết áp", "Cài đặt Crashlytics", "Thiết kế Store Assets (Icon, Screenshots)".
38
+ - AI NÊN gom nhóm các Items vào thành nhiều Checklist ràng theo từng phân khu lớn (VD: `Checklist: 1. Hoàn Thiện Logic`, `Checklist: 2. Monetization`, `Checklist: 3. Analytics & QA`).
39
+ - TUYỆT ĐỐI CẤM đưa các GIAI ĐOẠN QUY TRÌNH (Process Gates) vào Checklist Items. KHÔNG CÓ CÁC MỤC NHƯ: "Tài liệu", "Thiết kế Giao diện", "Gate 1", "Phase 2".
40
+ - Progress qua các Gate (Gate 1, Gate 2...) CHỈ ĐƯỢC BÁO CÁO qua Comment. Quản không quan tâm AI đang Gate nào trên Checklists.
41
+ - BẮT BUỘC ĐỒNG BỘ TOÀN BỘ DANH SÁCH NGHIỆP VỤ TỔNG HỢP: Khi Spec/dự án đã hòm hòm, AI phân mảnh các scope thành các Checklist Items (như quy tắc Granularity ở trên).
42
+ - Comment ở milestone quan trọng PHẢI bao gồm các quyết định cốt lõi hoặc sự thay đổi phase (VD: "Đã thiết kế xong màn hình Home", "Bắt đầu code Logic tracking").
41
43
  ```
42
44
 
43
45
  ---
44
46
 
45
47
  ## 🔐 Auth & Config
46
48
 
47
- Credentials được lưu dưới dạng **environment variables** (`TRELLO_KEY`, `TRELLO_TOKEN`) trong shell profile (`~/.zshrc` hoặc `~/.bashrc`). Cấu hình dự án (Board/List/Card) lưu tại `.trello-config.json` ở root mỗi dự án.
49
+ Credentials được lưu dưới dạng **environment variables** (`TRELLO_KEY`, `TRELLO_TOKEN`) trong shell profile (`~/.zshrc` hoặc `~/.bashrc`). Cấu hình dự án (Board/List/Card) lưu trong `"trello"` key của `.project-identity` ở root mỗi dự án (fallback: `.trello-config.json`).
48
50
 
49
51
  ### 1. Global Credentials (Environment Variables)
50
52
 
@@ -52,15 +54,21 @@ User setup lần đầu qua **interactive wizard** khi chạy `awkit init`:
52
54
  - CLI tự hỏi API Key → tạo link authorize token → hỏi Token → lưu vào `~/.zshrc`.
53
55
  - Nếu user đã setup rồi, CLI tự skip bước này.
54
56
 
55
- ### 2. Local Project Config (`.trello-config.json` tại root dự án)
57
+ ### 2. Local Project Config (`"trello"` key trong `.project-identity`)
56
58
  ```json
57
59
  {
58
- "board": "Appdexter - Code Magic",
59
- "list": "Kiên",
60
- "card": "Tên Card Dự Án"
60
+ "projectName": "MyApp",
61
+ "projectId": "myapp",
62
+ "trello": {
63
+ "board": "Appdexter - Code Magic",
64
+ "list": "Kiên",
65
+ "card": "Tên Card Dự Án"
66
+ }
61
67
  }
62
68
  ```
63
69
 
70
+ > **Fallback:** Nếu `.project-identity` không có key `trello`, CLI sẽ thử đọc `.trello-config.json` (backward compat).
71
+
64
72
  | Field | Mô tả |
65
73
  |-------|--------|
66
74
  | `board` | Tên board (TÊN, không dùng ID) |
@@ -81,7 +89,7 @@ Lần 3 (vẫn lỗi): báo user "Trello chưa được cấu hình. Vui lòng c
81
89
 
82
90
  ### Tự Động Hóa Qua `awkit trello` (BẮT BUỘC)
83
91
 
84
- AI không cần tự inject ENV hay tìm kiếm cấu hình. Công cụ lệnh `awkit trello` v1.3.0+ sẽ TỰ ĐỘNG đọc từ env vars và `.trello-config.json`. MỌI thao tác Trello phải đi qua `awkit trello`.
92
+ AI không cần tự inject ENV hay tìm kiếm cấu hình. Công cụ lệnh `awkit trello` v1.3.0+ sẽ TỰ ĐỘNG đọc từ env vars và `.project-identity`. MỌI thao tác Trello phải đi qua `awkit trello`.
85
93
  ---
86
94
 
87
95
  ## 📚 Command Reference
@@ -99,7 +107,7 @@ Công cụ `awkit` đã cung cấp sẵn các lệnh native quản lý Trello. P
99
107
  | Báo Blocked / Lỗi | `awkit trello block "<reason>"` |
100
108
  | Tạo checklist mới | `awkit trello checklist "<name>"` |
101
109
 
102
- > 💡 Nếu gặp board/list/card "not found", cấu hình có thể sai, báo user kiểm tra lại `.trello-config.json`.
110
+ > 💡 Nếu gặp board/list/card "not found", cấu hình có thể sai, báo user kiểm tra lại `trello` key trong `.project-identity`.
103
111
 
104
112
  ---
105
113
 
@@ -222,14 +230,14 @@ Trong comment, **PHẢI** ghi Symphony Task ID: `Symphony: #sym-XXX`
222
230
 
223
231
  | Tình huống | Xử lý |
224
232
  |-----------|--------|
225
- | `.trello-config.json` không tồn tại | ⛔ Bỏ qua Trello sync, log cảnh báo, tiếp tục code |
233
+ | Trello config not found | ⛔ Bỏ qua Trello sync, log cảnh báo, tiếp tục code |
226
234
  | **Credentials not found** | `source ~/.zshrc` → retry (max 2 lần). Vẫn lỗi → báo user chạy `awkit init` |
227
235
  | Card not found | Chạy `sync`, retry. Nếu vẫn lỗi → báo user |
228
236
  | Checklist chưa có | Tạo checklist mới bằng `awkit trello checklist` |
229
237
  | Item trùng tên | Dùng `card:checklists` kiểm tra trước khi thêm |
230
238
  | Rate limit / API error | Log warning, tiếp tục code, KHÔNG block flow. CLI tự retry 429. |
231
239
  | Token hết hạn | Báo user chạy `awkit init` để setup lại credential mới |
232
- | Dự án chưa có card trên Trello | Báo user tạo card trên board, cập nhật `.trello-config.json` |
240
+ | Dự án chưa có card trên Trello | Báo user tạo card trên board, cập nhật `trello` trong `.project-identity` |
233
241
 
234
242
  ---
235
243
 
@@ -1,14 +1,15 @@
1
1
  # {{PROJECT_NAME}} — Codebase Map
2
2
 
3
- > **Project Type:** {{PROJECT_TYPE}} | **Stage:** {{PROJECT_STAGE}}
4
- > **Tech Stack:** {{TECH_STACK_SUMMARY}}
3
+ > **Project Type:** {{PROJECT_TYPE}} | **Tech Stack:** {{TECH_STACK_SUMMARY}}
5
4
  > **Last Synced:** {{DATE}}
6
5
 
7
- ---
6
+ > [!NOTE]
7
+ > AI PHẢI đọc file này TRƯỚC KHI dùng `grep_search` / `codebase_search` / `list_dir`.
8
+ > Đọc → xác định target → search cụ thể. KHÔNG search "mù".
8
9
 
9
- ## 🗺️ Layer Map
10
+ ---
10
11
 
11
- > _AI: Dùng bản đồ này để định vị file trước khi scan directory_
12
+ ## 🗺️ Directory Structure
12
13
 
13
14
  ```
14
15
  {{DIR_STRUCTURE}}
@@ -16,47 +17,32 @@
16
17
 
17
18
  ---
18
19
 
19
- ## 📁 Feature Areas
20
-
21
- | Area | Location | Description |
22
- |------|----------|-------------|
23
- | _(example)_ Features | `{{FEATURES_DIR}}` | Main feature modules |
24
- | _(example)_ Shared UI | `{{SHARED_UI_DIR}}` | Reusable UI components |
25
- | _(example)_ Services | `{{SERVICES_DIR}}` | Business logic & data layer |
26
- | _(example)_ Models | `{{MODELS_DIR}}` | Data models & DTOs |
27
-
28
- > ⚠️ Update this table after adding new feature areas.
29
-
30
- ---
20
+ ## 📁 File Index
31
21
 
32
- ## 🔥 Firebase Integration
22
+ > Compact format: `path` → purpose (1 line mỗi file)
33
23
 
34
- | Feature | Status | Notes |
35
- |---------|--------|-------|
36
- | Analytics | ✅ | Event tracking |
37
- | Crashlytics | ✅ | Crash reporting |
38
- | Remote Config | ✅ | Feature flags |
39
- | Auth | ✅ | Sign in methods |
40
- | Firestore | ⬜ | — |
41
- | Storage | ⬜ | — |
24
+ ### Core / Infrastructure
42
25
 
43
- ---
26
+ | Path | Purpose |
27
+ |------|---------|
28
+ | `{{CORE_FILE_1}}` | {{PURPOSE_1}} |
29
+ | `{{CORE_FILE_2}}` | {{PURPOSE_2}} |
44
30
 
45
- ## 🏗️ Architecture
31
+ ### Features
46
32
 
47
- - **Pattern:** {{ARCHITECTURE}}
48
- - **State Management:** {{STATE_MANAGEMENT}}
49
- - **Networking:** {{NETWORKING}}
50
- - **Storage:** {{STORAGE}}
33
+ | Path | Purpose |
34
+ |------|---------|
35
+ | `{{FEATURE_FILE_1}}` | {{PURPOSE_1}} |
36
+ | `{{FEATURE_FILE_2}}` | {{PURPOSE_2}} |
51
37
 
52
- ---
38
+ ### UI / Views
53
39
 
54
- ## 📏 Naming Conventions
40
+ | Path | Purpose |
41
+ |------|---------|
42
+ | `{{VIEW_FILE_1}}` | {{PURPOSE_1}} |
43
+ | `{{VIEW_FILE_2}}` | {{PURPOSE_2}} |
55
44
 
56
- - **Files:** `PascalCase` (Swift/Kotlin) or `kebab-case` (JS/TS)
57
- - **Functions/Methods:** `camelCase`
58
- - **Constants:** `UPPER_SNAKE_CASE`
59
- - **Variables:** `camelCase`
45
+ > ⚠️ Thêm file mới vào section phù hợp. Dùng `/codebase-sync` để auto-update.
60
46
 
61
47
  ---
62
48
 
@@ -67,14 +53,12 @@
67
53
  | `.project-identity` | AI project context |
68
54
  | `CODEBASE.md` | This file — codebase map for AI |
69
55
 
70
- > Add important files here as the project grows.
71
-
72
56
  ---
73
57
 
74
58
  ## 📝 Notes
75
59
 
76
- _Add architecture decisions, gotchas, and important context here._
60
+ _Architecture decisions, gotchas, context quan trọng._
77
61
 
78
62
  ---
79
63
 
80
- *Auto-generated by `awkit init` — keep this file updated with `/codebase-sync`*
64
+ *Auto-generated by `awkit init` — keep updated with `/codebase-sync`*
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "BOARD_NAME": "Appdexter - Code Magic",
3
- "LIST_NAME": "Your Backlog List",
4
- "CARD_NAME": "Project Card Name or ID"
3
+ "LIST_NAME": "Kiên",
4
+ "CARD_NAME": "FitWitness Android"
5
5
  }
@@ -1,5 +1,10 @@
1
1
  {
2
+ "_comments": {
3
+ "projectId": "Auto-generated from folder name. DO NOT change — used by Symphony for task scoping.",
4
+ "trello": "Fill in your Trello board/list/card names. Run 'awkit trello info' to verify."
5
+ },
2
6
  "projectName": "MyAndroidApp",
7
+ "projectId": "myandroidapp",
3
8
  "projectType": "android",
4
9
  "packageName": "com.company.myandroidapp",
5
10
  "primaryLanguage": "en",
@@ -16,6 +21,11 @@
16
21
  "testing": "JUnit + Espresso",
17
22
  "buildSystem": "Gradle (KTS)"
18
23
  },
24
+ "trello": {
25
+ "board": "Your Board Name",
26
+ "list": "Your List Name",
27
+ "card": "Your Card Name"
28
+ },
19
29
  "projectStage": "planning",
20
30
  "codingStandards": {
21
31
  "language": "en",
@@ -1,5 +1,10 @@
1
1
  {
2
+ "_comments": {
3
+ "projectId": "Auto-generated from folder name. DO NOT change — used by Symphony for task scoping.",
4
+ "trello": "Fill in your Trello board/list/card names. Run 'awkit trello info' to verify."
5
+ },
2
6
  "projectName": "MyBackendAPI",
7
+ "projectId": "mybackendapi",
3
8
  "projectType": "backend",
4
9
  "primaryLanguage": "en",
5
10
  "techStack": {
@@ -12,6 +17,11 @@
12
17
  "testing": "Jest",
13
18
  "deployment": "Docker + Cloud Run"
14
19
  },
20
+ "trello": {
21
+ "board": "Your Board Name",
22
+ "list": "Your List Name",
23
+ "card": "Your Card Name"
24
+ },
15
25
  "projectStage": "planning",
16
26
  "codingStandards": {
17
27
  "language": "en",
@@ -1,5 +1,10 @@
1
1
  {
2
+ "_comments": {
3
+ "projectId": "Auto-generated from folder name. DO NOT change — used by Symphony for task scoping.",
4
+ "trello": "Fill in your Trello board/list/card names. Run 'awkit trello info' to verify."
5
+ },
2
6
  "projectName": "MyExpoApp",
7
+ "projectId": "myexpoapp",
3
8
  "projectType": "expo",
4
9
  "bundleIdentifier": "com.company.myexpoapp",
5
10
  "primaryLanguage": "en",
@@ -15,6 +20,11 @@
15
20
  "testing": "Jest + Detox",
16
21
  "build": "EAS Build"
17
22
  },
23
+ "trello": {
24
+ "board": "Your Board Name",
25
+ "list": "Your List Name",
26
+ "card": "Your Card Name"
27
+ },
18
28
  "projectStage": "planning",
19
29
  "codingStandards": {
20
30
  "language": "en",
@@ -1,5 +1,10 @@
1
1
  {
2
+ "_comments": {
3
+ "projectId": "Auto-generated from folder name. DO NOT change — used by Symphony for task scoping.",
4
+ "trello": "Fill in your Trello board/list/card names. Run 'awkit trello info' to verify."
5
+ },
2
6
  "projectName": "MyiOSApp",
7
+ "projectId": "myiosapp",
3
8
  "projectType": "ios",
4
9
  "bundleIdentifier": "com.company.myiosapp",
5
10
  "primaryLanguage": "en",
@@ -15,6 +20,11 @@
15
20
  "testing": "XCTest",
16
21
  "packageManager": "SPM"
17
22
  },
23
+ "trello": {
24
+ "board": "Your Board Name",
25
+ "list": "Your List Name",
26
+ "card": "Your Card Name"
27
+ },
18
28
  "projectStage": "planning",
19
29
  "codingStandards": {
20
30
  "language": "en",
@@ -1,5 +1,10 @@
1
1
  {
2
+ "_comments": {
3
+ "projectId": "Auto-generated from folder name. DO NOT change — used by Symphony for task scoping.",
4
+ "trello": "Fill in your Trello board/list/card names. Run 'awkit trello info' to verify."
5
+ },
2
6
  "projectName": "MyWebApp",
7
+ "projectId": "mywebapp",
3
8
  "projectType": "react_web",
4
9
  "primaryLanguage": "en",
5
10
  "techStack": {
@@ -12,6 +17,11 @@
12
17
  "auth": "NextAuth.js",
13
18
  "deployment": "Vercel"
14
19
  },
20
+ "trello": {
21
+ "board": "Your Board Name",
22
+ "list": "Your List Name",
23
+ "card": "Your Card Name"
24
+ },
15
25
  "projectStage": "planning",
16
26
  "codingStandards": {
17
27
  "language": "en",
@@ -34,7 +34,7 @@ description: [Short description of the workflow]
34
34
  ### Phase 1: Context & Setup
35
35
  1. **Understand Intent:**
36
36
  - "Bạn muốn làm gì với [Command]?"
37
- - (AI analyzes context from `.project-identity` & `.symphony`)
37
+ - (AI analyzes context from `.project-identity` & `.beads`)
38
38
 
39
39
  2. **Configuration:**
40
40
  - [Question 1]
@@ -68,7 +68,7 @@ description: [Short description of the workflow]
68
68
  - Locations of artifacts.
69
69
 
70
70
  2. **Memory Sync:**
71
- - Auto-sync with Symphony (Task) & Brain (Knowledge).
71
+ - Auto-sync with Beads (Task) & Brain (Knowledge).
72
72
 
73
73
  3. **Next Steps Menu:**
74
74
  ```markdown
@@ -79,9 +79,9 @@ description: [Short description of the workflow]
79
79
 
80
80
  ---
81
81
 
82
- ## 🧠 Brain & Symphony Integration
82
+ ## 🧠 Brain & Beads Integration
83
83
 
84
- - **Input:** Check `symphony_available_tasks(filter="my")` to resume context.
84
+ - **Input:** Check `bd list --status in_progress` to resume context.
85
85
  - **Output:**
86
- - Create/Update Symphony task.
86
+ - Create/Update Beads task.
87
87
  - Create Brain memory file if knowledge is valuable.
@@ -0,0 +1,125 @@
1
+ ---
2
+ description: 🔍 Codex Conductor — Gọi Codex CLI rà soát code, debug, review logic, và verify refactor
3
+ ---
4
+
5
+ # /conductor-codex — Three-Agent Inspector Workflow
6
+
7
+ > Antigravity gọi Codex CLI (headless, read-only) khi cần rà soát chuyên sâu.
8
+ > Codex CHỈ ĐỌC + TẠO BÁO CÁO `.md`. KHÔNG BAO GIỜ sửa code.
9
+
10
+ // turbo-all
11
+
12
+ ---
13
+
14
+ ## Prerequisites
15
+
16
+ 1. Kiểm tra Codex CLI:
17
+ ```bash
18
+ which codex || echo "NOT_INSTALLED"
19
+ ```
20
+ 2. Nếu chưa cài → đề xuất cài:
21
+ ```bash
22
+ npm i -g @openai/codex
23
+ ```
24
+ 3. Tạo thư mục report nếu chưa có:
25
+ ```bash
26
+ mkdir -p codex-reports
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Sub-commands
32
+
33
+ ### `/conductor-codex:debug` — Phân tích root cause bug
34
+
35
+ 1. User mô tả bug (crash, lỗi logic, unexpected behavior)
36
+ 2. Thông báo: "🔍 Đang gọi Codex CLI phân tích bug..."
37
+ 3. Gọi CLI:
38
+ ```bash
39
+ cd <PROJECT_ROOT> && timeout 120 codex "A bug was reported: <BUG_DESCRIPTION>. Analyze the codebase to find the root cause. List: (1) most likely root cause with file:line, (2) contributing factors, (3) suggested fix approach. DO NOT edit any files." --approval-mode suggest -q 2>/dev/null
40
+ ```
41
+ 4. Parse output → lưu vào `codex-reports/bug-analysis-<DATE>.md`
42
+ 5. Tóm tắt findings cho user
43
+ 6. Nếu critical → Antigravity thực hiện fix
44
+
45
+ ### `/conductor-codex:review` — Pre-commit code review
46
+
47
+ 1. Kiểm tra có uncommitted changes: `git diff --stat`
48
+ 2. Thông báo: "🔍 Đang gọi Codex CLI review code..."
49
+ 3. Gọi CLI:
50
+ ```bash
51
+ cd <PROJECT_ROOT> && timeout 120 codex "Review the uncommitted changes in this repo. Check for: bugs, logic errors, edge cases, thread safety, security issues, performance problems. Rank issues by severity (critical/warning/info). DO NOT edit any files." --approval-mode suggest -q 2>/dev/null
52
+ ```
53
+ 4. Parse output → lưu vào `codex-reports/review-<DATE>.md`
54
+ 5. Tóm tắt: issues found + severity
55
+ 6. Nếu clean → suggest `git commit`
56
+
57
+ ### `/conductor-codex:logic` — Phân tích logic & edge cases
58
+
59
+ 1. Xác định file/module cần kiểm tra
60
+ 2. Thông báo: "🔍 Đang gọi Codex CLI kiểm tra logic..."
61
+ 3. Gọi CLI:
62
+ ```bash
63
+ cd <PROJECT_ROOT> && timeout 120 codex "Analyze <FILE_OR_MODULE> for logic correctness. Focus on: edge cases (null, empty, boundary), race conditions, error handling gaps, unreachable code, off-by-one errors. List each issue with file:line and severity. DO NOT edit any files." --approval-mode suggest -q 2>/dev/null
64
+ ```
65
+ 4. Parse output → lưu vào `codex-reports/logic-analysis-<DATE>.md`
66
+ 5. Tóm tắt findings cho user
67
+
68
+ ### `/conductor-codex:test` — Generate test cases
69
+
70
+ 1. Xác định feature/module cần test
71
+ 2. Thông báo: "🔍 Đang gọi Codex CLI generate test cases..."
72
+ 3. Gọi CLI:
73
+ ```bash
74
+ cd <PROJECT_ROOT> && timeout 120 codex "Analyze <FILE_OR_MODULE> and generate a comprehensive list of test cases. Include: happy path, edge cases, error cases, boundary values. Format as markdown table with columns: Test Name | Input | Expected Output | Type. DO NOT edit any files." --approval-mode suggest -q 2>/dev/null
75
+ ```
76
+ 4. Parse output → lưu vào `codex-reports/test-cases-<DATE>.md`
77
+ 5. Trình bày test plan cho user
78
+
79
+ ### `/conductor-codex:plan-review` — Review implementation plan
80
+
81
+ 1. Đọc `implementation_plan.md` hiện tại
82
+ 2. Thông báo: "🔍 Đang gọi Codex CLI review plan..."
83
+ 3. Gọi CLI:
84
+ ```bash
85
+ cd <PROJECT_ROOT> && timeout 120 codex "Review this implementation plan in the current directory. Find: logic holes, missing error handling, security risks, race conditions, scalability issues, missing edge cases. Rate each issue by severity (critical/warning/info). DO NOT edit any files." --approval-mode suggest -q 2>/dev/null
86
+ ```
87
+ 4. Parse output → lưu vào `codex-reports/plan-review-<DATE>.md`
88
+ 5. Tóm tắt issues → Antigravity cập nhật plan
89
+
90
+ ---
91
+
92
+ ## Fallback Rules
93
+
94
+ ```yaml
95
+ cli_not_installed:
96
+ - "⚠️ Codex CLI chưa cài. Chạy: npm i -g @openai/codex"
97
+ - Offer to install automatically
98
+
99
+ cli_unavailable:
100
+ - "⚠️ Codex CLI không khả dụng, tiếp tục với Antigravity-only"
101
+ - Do NOT block workflow
102
+
103
+ cli_timeout:
104
+ - "⏳ Codex phân tích quá lâu (>120s), bỏ qua và tiếp tục"
105
+
106
+ cli_error:
107
+ - Log error
108
+ - Fall back gracefully
109
+ - Suggest: "codex --version" to check installation
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Communication
115
+
116
+ Mỗi khi gọi CLI, LUÔN thông báo user:
117
+ ```
118
+ 🔍 Đang gọi Codex CLI để [mục đích]...
119
+ ```
120
+
121
+ Sau khi nhận kết quả:
122
+ ```
123
+ ✅ Codex rà soát xong. Báo cáo: codex-reports/<file>.md
124
+ 📊 Tóm tắt: [key findings]
125
+ ```