@leejungkiin/awkit 1.3.7 → 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.
- package/bin/awk.js +250 -59
- package/core/AGENTS.md +38 -0
- package/core/GEMINI.md.bak +126 -199
- package/package.json +1 -1
- package/skill-packs/superpowers/skills/single-flow-task-execution/SKILL.md +50 -0
- package/skills/admob-roas/SKILL.md +130 -0
- package/skills/awf-session-restore/SKILL.md +12 -2
- package/skills/brainstorm-agent/SKILL.md +11 -8
- package/skills/gitnexus/gitnexus-cli/SKILL.md +82 -0
- package/skills/gitnexus/gitnexus-debugging/SKILL.md +89 -0
- package/skills/gitnexus/gitnexus-exploring/SKILL.md +78 -0
- package/skills/gitnexus/gitnexus-guide/SKILL.md +64 -0
- package/skills/gitnexus/gitnexus-impact-analysis/SKILL.md +97 -0
- package/skills/gitnexus/gitnexus-refactoring/SKILL.md +121 -0
- package/skills/nm-memory-sync/SKILL.md +14 -1
- package/skills/orchestrator/SKILL.md +25 -465
- package/skills/ship-to-code/SKILL.md +115 -0
- package/skills/single-flow-task-execution/SKILL.md +409 -0
- package/skills/single-flow-task-execution/code-quality-reviewer-prompt.md +20 -0
- package/skills/single-flow-task-execution/implementer-prompt.md +78 -0
- package/skills/single-flow-task-execution/spec-reviewer-prompt.md +61 -0
- package/skills/symphony-enforcer/SKILL.md +239 -32
- package/skills/trello-sync/SKILL.md +55 -32
- package/templates/CODEBASE.md +26 -42
- package/templates/configs/trello-config.json +2 -2
- package/templates/project-identity/android.json +10 -0
- package/templates/project-identity/backend-nestjs.json +10 -0
- package/templates/project-identity/expo.json +10 -0
- package/templates/project-identity/ios.json +10 -0
- package/templates/project-identity/web-nextjs.json +10 -0
- package/templates/workflow_dual_mode_template.md +5 -5
- package/workflows/_uncategorized/conductor-codex.md +125 -0
- package/workflows/_uncategorized/conductor.md +97 -0
- package/workflows/_uncategorized/trello-sync.md +52 -0
- package/workflows/quality/visual-debug.md +66 -12
package/templates/CODEBASE.md
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# {{PROJECT_NAME}} — Codebase Map
|
|
2
2
|
|
|
3
|
-
> **Project Type:** {{PROJECT_TYPE}} | **
|
|
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
|
-
|
|
10
|
+
---
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
## 🗺️ Directory Structure
|
|
12
13
|
|
|
13
14
|
```
|
|
14
15
|
{{DIR_STRUCTURE}}
|
|
@@ -16,47 +17,32 @@
|
|
|
16
17
|
|
|
17
18
|
---
|
|
18
19
|
|
|
19
|
-
## 📁
|
|
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
|
-
|
|
22
|
+
> Compact format: `path` → purpose (1 line mỗi file)
|
|
33
23
|
|
|
34
|
-
|
|
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
|
-
|
|
31
|
+
### Features
|
|
46
32
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
40
|
+
| Path | Purpose |
|
|
41
|
+
|------|---------|
|
|
42
|
+
| `{{VIEW_FILE_1}}` | {{PURPOSE_1}} |
|
|
43
|
+
| `{{VIEW_FILE_2}}` | {{PURPOSE_2}} |
|
|
55
44
|
|
|
56
|
-
|
|
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
|
-
|
|
60
|
+
_Architecture decisions, gotchas, và context quan trọng._
|
|
77
61
|
|
|
78
62
|
---
|
|
79
63
|
|
|
80
|
-
*Auto-generated by `awkit init` — keep
|
|
64
|
+
*Auto-generated by `awkit init` — keep updated with `/codebase-sync`*
|
|
@@ -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` & `.
|
|
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
|
|
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 &
|
|
82
|
+
## 🧠 Brain & Beads Integration
|
|
83
83
|
|
|
84
|
-
- **Input:** Check `
|
|
84
|
+
- **Input:** Check `bd list --status in_progress` to resume context.
|
|
85
85
|
- **Output:**
|
|
86
|
-
- Create/Update
|
|
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
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🎼 CLI Conductor — Gọi Gemini CLI phân tích, lên chiến lược, và review code project-wide
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /conductor — Two-Agent Orchestration Workflow
|
|
6
|
+
|
|
7
|
+
> Antigravity chủ động gọi Gemini CLI (headless) khi cần tầm nhìn toàn project.
|
|
8
|
+
> CLI chạy quota pool riêng → nhân đôi AI capacity.
|
|
9
|
+
|
|
10
|
+
// turbo-all
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Sub-commands
|
|
15
|
+
|
|
16
|
+
### `/conductor:analyze` — Phân tích project-wide
|
|
17
|
+
|
|
18
|
+
1. Xác định project root (dùng `.project-identity` hoặc `CODEBASE.md`)
|
|
19
|
+
2. Thông báo user: "📡 Đang gọi Gemini CLI phân tích cấu trúc project..."
|
|
20
|
+
3. Gọi CLI:
|
|
21
|
+
```bash
|
|
22
|
+
cd <PROJECT_ROOT> && timeout 60 gemini -p "Analyze the project structure. List main modules, their responsibilities, key files, and dependencies. Be concise." --approval-mode plan 2>/dev/null
|
|
23
|
+
```
|
|
24
|
+
4. Parse output → tóm tắt cho user
|
|
25
|
+
5. Nếu project có `conductor/tracks.md` → cập nhật
|
|
26
|
+
6. Nếu chưa có `conductor/` → hỏi user có muốn tạo không
|
|
27
|
+
|
|
28
|
+
### `/conductor:track` — Tạo/cập nhật strategic track
|
|
29
|
+
|
|
30
|
+
1. Đọc `conductor/tracks.md` hiện tại (nếu có)
|
|
31
|
+
2. User mô tả mục tiêu chiến lược
|
|
32
|
+
3. Gọi CLI:
|
|
33
|
+
```bash
|
|
34
|
+
cd <PROJECT_ROOT> && timeout 60 gemini -p "Given this project context and goal: <GOAL>. Create a strategic track with: objectives, key milestones, and task breakdown. Current tracks: <EXISTING_TRACKS>" --approval-mode plan 2>/dev/null
|
|
35
|
+
```
|
|
36
|
+
4. Parse output → ghi vào `conductor/tracks.md`
|
|
37
|
+
5. Tạo Symphony tasks từ task breakdown (nếu user đồng ý)
|
|
38
|
+
|
|
39
|
+
### `/conductor:delegate` — Delegate task cho CLI xử lý
|
|
40
|
+
|
|
41
|
+
1. Xác định task cần CLI (phân tích, review, generate)
|
|
42
|
+
2. Build prompt với context đầy đủ
|
|
43
|
+
3. Gọi CLI:
|
|
44
|
+
```bash
|
|
45
|
+
cd <PROJECT_ROOT> && timeout 60 gemini -p "<TASK_PROMPT>" --approval-mode plan 2>/dev/null
|
|
46
|
+
```
|
|
47
|
+
4. Nhận kết quả → tích hợp vào workflow hiện tại
|
|
48
|
+
5. Tiếp tục code/debug với insights từ CLI
|
|
49
|
+
|
|
50
|
+
### `/conductor:review` — Pre-commit review qua CLI
|
|
51
|
+
|
|
52
|
+
1. Lấy diff: `git diff --staged` hoặc `git diff`
|
|
53
|
+
2. Gọi CLI:
|
|
54
|
+
```bash
|
|
55
|
+
cd <PROJECT_ROOT> && timeout 60 gemini -p "Review these code changes for bugs, security issues, and best practices: $(git diff --staged --stat)" --approval-mode plan 2>/dev/null
|
|
56
|
+
```
|
|
57
|
+
3. Parse output → báo cáo issues cho user
|
|
58
|
+
4. Nếu clean → suggest `git commit`
|
|
59
|
+
|
|
60
|
+
### `/conductor:setup` — Khởi tạo conductor infrastructure
|
|
61
|
+
|
|
62
|
+
1. Tạo thư mục `conductor/` tại project root
|
|
63
|
+
2. Copy template `conductor-tracks.md` → `conductor/tracks.md`
|
|
64
|
+
3. Thêm `conductor/` vào `.gitignore` (nếu user muốn)
|
|
65
|
+
4. Thông báo: "✅ Conductor infrastructure ready!"
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Fallback Rules
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
cli_unavailable:
|
|
73
|
+
- "⚠️ Gemini CLI không khả dụng, tiếp tục với Antigravity-only mode"
|
|
74
|
+
- Do NOT block workflow
|
|
75
|
+
|
|
76
|
+
cli_timeout:
|
|
77
|
+
- "⏳ CLI phân tích quá lâu (>60s), bỏ qua và tiếp tục"
|
|
78
|
+
|
|
79
|
+
cli_error:
|
|
80
|
+
- Log error
|
|
81
|
+
- Fall back gracefully
|
|
82
|
+
- Suggest: "gemini --version" to check installation
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Communication
|
|
88
|
+
|
|
89
|
+
Mỗi khi gọi CLI, LUÔN thông báo user:
|
|
90
|
+
```
|
|
91
|
+
📡 Đang gọi Gemini CLI để [mục đích]...
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Sau khi nhận kết quả:
|
|
95
|
+
```
|
|
96
|
+
✅ CLI phân tích xong. Tóm tắt: [key findings]
|
|
97
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🔄 Đồng bộ thủ công Project Status lên Trello Card (tuân thủ quy tắc Anti-Spam)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 🔄 Trello Sync Workflow (`/trello-sync`)
|
|
6
|
+
|
|
7
|
+
Quy trình này hướng dẫn AI đồng bộ thủ công mức độ hoàn thành của dự án hiện tại lên Trello Card, dựa trên dữ liệu từ thiết kế, Kiro Specs, hoặc Symphony tasks.
|
|
8
|
+
|
|
9
|
+
## 🎯 Mục đích
|
|
10
|
+
Được sử dụng khi người dùng muốn ép (force) AI cập nhật tiến độ tổng thể lên Trello, hoặc khi AI cần tổng kết (summarize) status sau một Sprint/Milestone quan trọng.
|
|
11
|
+
|
|
12
|
+
## 📋 Hướng dẫn thực thi
|
|
13
|
+
|
|
14
|
+
### Bước 1: Thu thập ngữ cảnh hiện tại
|
|
15
|
+
1. Kiểm tra trạng thái dự án hiện tại (đọc `Symphony` tasks, `.kiro/specs/tasks.md` hoặc các file spec nội bộ).
|
|
16
|
+
2. Tóm tắt lại các **module hoặc tính năng lớn** (High-level features) đã hoàn thành, đang làm, và chưa làm.
|
|
17
|
+
|
|
18
|
+
### Bước 2: Load Trello Configuration
|
|
19
|
+
1. Đảm bảo shell đã có sẵn `TRELLO_KEY` và `TRELLO_TOKEN` (từ biến môi trường máy). CLI đã tự động thừa hưởng.
|
|
20
|
+
2. Đọc file `.trello-config.json` tại thư mục gốc của dự án để lấy thông tin `<board>`, `<list>`, và `<card>`.
|
|
21
|
+
3. Nếu file cấu hình không tồn tại, báo lỗi và yêu cầu user tạo cấu hình hoặc chạy `/init`.
|
|
22
|
+
|
|
23
|
+
### Bước 3: Cập nhật Trello (Cân bằng giữa Chi tiết và Tối giản)
|
|
24
|
+
> **⛔ CẢNH BÁO QUAN TRỌNG:**
|
|
25
|
+
> Đừng "spam" tạo checklist item cho các task code le te. Nhưng cũng ĐỪNG quá trống rỗng. Hãy cập nhật Card Description và Comment đầy đủ ý nghĩa cho Quản lý dự án.
|
|
26
|
+
|
|
27
|
+
1. Hãy sử dụng thư viện native CLI `awkit trello`. Không dùng lệnh `trello-cli` thuần hay script Python/Bash.
|
|
28
|
+
2. **Cập nhật Mô tả (Description)** tổng quan của dự án (cực kỳ quan trọng để Quản lý nắm bắt):
|
|
29
|
+
```bash
|
|
30
|
+
awkit trello desc "**Tech Stack:** Kotlin, Compose... **Hiện trạng:** Đang làm module Foundation..."
|
|
31
|
+
```
|
|
32
|
+
3. CHỈ đồng bộ tên Milestone / Module / Feature lớn vào Checklist Item.
|
|
33
|
+
4. **Thêm Checklist mới** (nếu module đó chưa có checklist riêng):
|
|
34
|
+
```bash
|
|
35
|
+
awkit trello checklist "<Milestone / Module Name>"
|
|
36
|
+
```
|
|
37
|
+
5. **Thêm item mới vào Checklist** (Task mới):
|
|
38
|
+
```bash
|
|
39
|
+
awkit trello item "<Feature Name>"
|
|
40
|
+
```
|
|
41
|
+
6. **Mark done một item** (Module lớn đã xong):
|
|
42
|
+
```bash
|
|
43
|
+
awkit trello complete "<Feature Name>"
|
|
44
|
+
```
|
|
45
|
+
7. **Thêm Comment** tổng kết milestone:
|
|
46
|
+
```bash
|
|
47
|
+
awkit trello comment "🎯 Milestone Update: Chúng ta đã hoàn thành feature..."
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Bước 4: Hoàn tất
|
|
51
|
+
1. Tóm tắt lại với user về các module/tính năng đã được sync thành công lên Trello card.
|
|
52
|
+
2. Gợi ý Next step: Gọi `/next` hoặc `/code` để tiếp tục làm việc.
|
|
@@ -5,30 +5,84 @@ safe_auto_run: false
|
|
|
5
5
|
|
|
6
6
|
# Visual Debug Workflow
|
|
7
7
|
|
|
8
|
-
Turn a screenshot into
|
|
8
|
+
Turn a screenshot into actionable UI improvements — both technical bugs AND design quality issues.
|
|
9
|
+
|
|
10
|
+
> **Mindset**: You are a Senior UI/UX Designer doing a heuristic review, NOT just a developer looking for crashes. Every screen must meet premium app standards.
|
|
11
|
+
|
|
12
|
+
## 1. Visual Analysis (Dual-Lens)
|
|
9
13
|
|
|
10
|
-
## 1. Visual Analysis
|
|
11
14
|
**Trigger**: User uploads a screenshot.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
16
|
+
### Lens A — Technical Bug Scan
|
|
17
|
+
1. **Identify Screen**: Name the screen/feature shown.
|
|
18
|
+
2. **Spot Technical Anomalies**:
|
|
19
|
+
- Broken layout, text overflow, clipped content
|
|
20
|
+
- Wrong colors, missing assets, placeholder data still visible
|
|
21
|
+
- Error messages, loading spinners stuck, empty states missing
|
|
22
|
+
|
|
23
|
+
### Lens B — UI/UX Designer Review (CRITICAL)
|
|
24
|
+
Run through these **7 checkpoints** on EVERY image. For each checkpoint, produce a finding or explicitly say "OK".
|
|
25
|
+
|
|
26
|
+
| # | Checkpoint | What to look for |
|
|
27
|
+
|---|-----------|-----------------|
|
|
28
|
+
| 1 | **Information Completeness** | Are all required data fields present? Missing inputs that the feature logically needs? (e.g., a "Add Medicine" form without dosage field) |
|
|
29
|
+
| 2 | **Naming & Copy Consistency** | Do button labels, titles, and section headers match the screen's purpose? Any contradictions? (e.g., screen title says "Add X" but button says "Save Y") |
|
|
30
|
+
| 3 | **Visual Hierarchy** | Is it clear what's most important? Do headings, font sizes, and colors guide the eye correctly? |
|
|
31
|
+
| 4 | **Spacing & Layout Balance** | Large empty gaps? Content crammed? Proper padding and margins? Consistent spacing rhythm? |
|
|
32
|
+
| 5 | **Component State Clarity** | Can the user tell which items are selected, disabled, required, or interactive? Are disabled buttons explained? |
|
|
33
|
+
| 6 | **Navigation Consistency** | Does the tab bar / nav bar state match the current screen? Are back buttons and breadcrumbs correct? |
|
|
34
|
+
| 7 | **Interaction Completeness** | Are there enough options in selection groups? Missing common choices? Proper validation hints for required fields? |
|
|
35
|
+
|
|
36
|
+
### Output Format
|
|
37
|
+
```
|
|
38
|
+
## Visual Analysis Report
|
|
39
|
+
|
|
40
|
+
### 🐛 Technical Issues
|
|
41
|
+
- [list or "None found"]
|
|
42
|
+
|
|
43
|
+
### 🎨 Design Issues
|
|
44
|
+
| # | Checkpoint | Status | Finding |
|
|
45
|
+
|---|-----------|--------|---------|
|
|
46
|
+
| 1 | Info Completeness | ⚠️ | Missing dosage input field |
|
|
47
|
+
| 2 | Naming Consistency | ⚠️ | Button "Save X" contradicts title "Add Y" |
|
|
48
|
+
| 3 | Visual Hierarchy | ✅ | OK |
|
|
49
|
+
| ... | ... | ... | ... |
|
|
50
|
+
|
|
51
|
+
### 📋 Priority Actions
|
|
52
|
+
1. [Critical] ...
|
|
53
|
+
2. [Important] ...
|
|
54
|
+
3. [Nice-to-have] ...
|
|
55
|
+
```
|
|
17
56
|
|
|
18
57
|
## 2. Code Mapping
|
|
19
|
-
1. **Locate Component**:
|
|
20
|
-
2. **Verify Context**: Read the file to understand the current
|
|
58
|
+
1. **Locate Component**: Based on text, screen title, or visual structure, find the source file.
|
|
59
|
+
2. **Verify Context**: Read the file to understand the current implementation.
|
|
60
|
+
3. **Cross-Reference Design Spec**: If a design doc or spec exists (`.kiro/specs/`, `docs/specs/`), compare the implementation against it.
|
|
21
61
|
|
|
22
62
|
## 3. Diagnosis
|
|
23
|
-
|
|
63
|
+
|
|
64
|
+
### For Technical Bugs
|
|
65
|
+
1. **Hypothesize** root cause:
|
|
24
66
|
- *Logic Error*: State variable is wrong?
|
|
25
67
|
- *Style Error*: Padding/Margin/Flex issue?
|
|
26
68
|
- *Data Error*: Null or undefined data?
|
|
27
69
|
2. **Confirm**: Correlate code logic with the visual bug.
|
|
28
70
|
|
|
71
|
+
### For Design Issues
|
|
72
|
+
1. **Classify Severity**:
|
|
73
|
+
- 🔴 **Critical**: Missing data/functionality that blocks user goals (e.g., no dosage field in medicine form)
|
|
74
|
+
- 🟡 **Important**: UX friction or inconsistency that confuses users (e.g., mismatched button label)
|
|
75
|
+
- 🟢 **Nice-to-have**: Polish and refinement (e.g., better spacing, shadow depth)
|
|
76
|
+
2. **Propose Design Fix**: Describe the ideal state with specific UI recommendations.
|
|
77
|
+
|
|
29
78
|
## 4. Remediation
|
|
30
|
-
1. **
|
|
31
|
-
2. **
|
|
79
|
+
1. **Present Report**: Show the analysis table with all findings to the user.
|
|
80
|
+
2. **Prioritize**: Ask user which issues to fix now vs. later.
|
|
81
|
+
3. **Apply Fixes**: Edit code for approved items.
|
|
82
|
+
- Technical bugs → direct code fix
|
|
83
|
+
- Design issues → may require new UI components, layout changes, or copy updates
|
|
32
84
|
|
|
33
85
|
## 5. Verification
|
|
34
|
-
1. Ask user to rebuild or preview
|
|
86
|
+
1. Ask user to rebuild or preview.
|
|
87
|
+
2. Re-run the 7 checkpoints on the updated screenshot if provided.
|
|
88
|
+
3. Confirm all critical and important issues are resolved.
|