@leejungkiin/awkit 1.1.0 → 1.1.2
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/README.md +3 -3
- package/VERSION +1 -1
- package/bin/awf.js +1 -1
- package/bin/awk.js +237 -26
- package/core/AGENTS.md +8 -9
- package/core/GEMINI.md +74 -199
- package/package.json +3 -2
- package/skill-packs/neural-memory/skills/nm-memory-sync/SKILL.md +2 -2
- package/skills/CATALOG.md +3 -2
- package/skills/README.md +109 -0
- package/skills/android-re-analyzer/SKILL.md +238 -0
- package/skills/android-re-analyzer/references/api-extraction-patterns.md +119 -0
- package/skills/android-re-analyzer/references/call-flow-analysis.md +176 -0
- package/skills/android-re-analyzer/references/fernflower-usage.md +115 -0
- package/skills/android-re-analyzer/references/jadx-usage.md +116 -0
- package/skills/android-re-analyzer/references/setup-guide.md +221 -0
- package/skills/android-re-analyzer/scripts/check-deps.sh +129 -0
- package/skills/android-re-analyzer/scripts/decompile.sh +375 -0
- package/skills/android-re-analyzer/scripts/find-api-calls.sh +118 -0
- package/skills/android-re-analyzer/scripts/install-dep.sh +448 -0
- package/skills/awf-session-restore/SKILL.md +108 -184
- package/skills/beads-manager/SKILL.md +2 -2
- package/skills/brainstorm-agent/SKILL.md +47 -2
- package/skills/gemini-conductor/SKILL.md +234 -0
- package/skills/memory-sync/SKILL.md +29 -1
- package/skills/nm-memory-sync/SKILL.md +2 -2
- package/skills/orchestrator/SKILL.md +29 -155
- package/skills/skills/nm-memory-sync/SKILL.md +2 -2
- package/skills/smali-to-kotlin/SKILL.md +1 -1
- package/skills/smali-to-swift/SKILL.md +1 -1
- package/skills/swiftui-pro/SKILL.md +108 -0
- package/skills/swiftui-pro/agents/openai.yaml +10 -0
- package/skills/swiftui-pro/assets/swiftui-pro-icon.png +0 -0
- package/skills/swiftui-pro/assets/swiftui-pro-icon.svg +29 -0
- package/skills/swiftui-pro/references/accessibility.md +13 -0
- package/skills/swiftui-pro/references/api.md +39 -0
- package/skills/swiftui-pro/references/data.md +43 -0
- package/skills/swiftui-pro/references/design.md +31 -0
- package/skills/swiftui-pro/references/hygiene.md +9 -0
- package/skills/swiftui-pro/references/navigation.md +14 -0
- package/skills/swiftui-pro/references/performance.md +46 -0
- package/skills/swiftui-pro/references/swift.md +56 -0
- package/skills/swiftui-pro/references/views.md +35 -0
- package/skills/symphony-enforcer/SKILL.md +362 -0
- package/skills/symphony-orchestrator/SKILL.md +301 -0
- package/skills/telegram-notify/SKILL.md +57 -0
- package/symphony/LICENSE +21 -0
- package/symphony/README.md +178 -0
- package/symphony/app/api/agents/route.js +152 -0
- package/symphony/app/api/events/route.js +22 -0
- package/symphony/app/api/knowledge/route.js +253 -0
- package/symphony/app/api/locks/route.js +29 -0
- package/symphony/app/api/notes/route.js +125 -0
- package/symphony/app/api/preflight/route.js +23 -0
- package/symphony/app/api/projects/route.js +116 -0
- package/symphony/app/api/roles/route.js +134 -0
- package/symphony/app/api/skills/route.js +82 -0
- package/symphony/app/api/status/route.js +18 -0
- package/symphony/app/api/tasks/route.js +157 -0
- package/symphony/app/api/workflows/route.js +61 -0
- package/symphony/app/api/workspaces/route.js +15 -0
- package/symphony/app/globals.css +2605 -0
- package/symphony/app/layout.js +20 -0
- package/symphony/app/page.js +2122 -0
- package/symphony/cli/index.js +1060 -0
- package/symphony/core/agent-manager.js +357 -0
- package/symphony/core/context-bus.js +100 -0
- package/symphony/core/db.js +223 -0
- package/symphony/core/file-lock-manager.js +154 -0
- package/symphony/core/merge-pipeline.js +234 -0
- package/symphony/core/orchestrator.js +236 -0
- package/symphony/core/task-manager.js +335 -0
- package/symphony/core/workspace-manager.js +168 -0
- package/symphony/jsconfig.json +7 -0
- package/symphony/lib/core.mjs +1034 -0
- package/symphony/mcp/index.js +29 -0
- package/symphony/mcp/server.js +110 -0
- package/symphony/mcp/tools/context.js +80 -0
- package/symphony/mcp/tools/locks.js +99 -0
- package/symphony/mcp/tools/status.js +82 -0
- package/symphony/mcp/tools/tasks.js +216 -0
- package/symphony/mcp/tools/workspace.js +143 -0
- package/symphony/next.config.mjs +7 -0
- package/symphony/package.json +53 -0
- package/symphony/scripts/postinstall.js +49 -0
- package/symphony/symphony.config.js +41 -0
- package/templates/conductor-tracks.md +38 -0
- package/templates/specs/PROJECT.md +50 -0
- package/templates/specs/ROADMAP.md +79 -0
- package/templates/specs/TECH-SPEC.md +81 -0
- package/templates/specs/task-spec-template.xml +65 -0
- package/templates/workflow_dual_mode_template.md +5 -5
- package/workflows/_uncategorized/AGENTS.md +38 -0
- package/workflows/_uncategorized/decompile.md +67 -0
- package/workflows/_uncategorized/skill-health.md +7 -7
- package/workflows/ads/ads-audit.md +5 -5
- package/workflows/ads/ads-optimize.md +10 -10
- package/workflows/ads/adsExpert.md +7 -7
- package/workflows/conductor.md +97 -0
- package/workflows/context/auto-implement.md +4 -4
- package/workflows/context/codebase-sync.md +19 -8
- package/workflows/context/next.md +27 -27
- package/workflows/context/user-intent-analysis-workflow.md +4 -4
- package/workflows/expert/codeExpert.md +28 -31
- package/workflows/expert/debugExpert.md +11 -11
- package/workflows/expert/planExpert.md +21 -36
- package/workflows/git/smart-git-ops.md +49 -6
- package/workflows/lifecycle/debug.md +7 -7
- package/workflows/lifecycle/deploy.md +10 -10
- package/workflows/lifecycle/init.md +103 -91
- package/workflows/lifecycle/master-code-workflow.md +3 -3
- package/workflows/lifecycle/plan.md +19 -21
- package/workflows/quality/audit.md +1 -1
- package/workflows/quality/project-audit.md +1 -1
- package/workflows/roles/vibe-coding-master-workflow.md +2 -2
- package/workflows/smart-git-ops.md +146 -0
- package/workflows/ui/app-screen-analyzer.md +4 -4
- package/workflows/ui/create-feature.md +8 -8
- package/workflows/ui/create-spec-architect.md +11 -11
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: 📝 Thiết kế tính năng (Dual-Mode v5.0)
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# WORKFLOW: /plan - The Logic Architect v3 (Dual-Mode +
|
|
5
|
+
# WORKFLOW: /plan - The Logic Architect v3 (Dual-Mode + Symphony)
|
|
6
6
|
|
|
7
7
|
> **Mode A (Expert):** `/plan "Feature Name" --auto` -> Tạo plan chuẩn ngay lập tức.
|
|
8
8
|
> **Mode B (Guided):** `/plan` -> Dẫn dắt từng bước Socratic.
|
|
@@ -20,8 +20,8 @@ description: 📝 Thiết kế tính năng (Dual-Mode v5.0)
|
|
|
20
20
|
1. **Analyze Intent:** Extract feature name from args.
|
|
21
21
|
2. **Generate Spec:** Create `docs/specs/ecommerce-cart_spec.md` with standard sections.
|
|
22
22
|
3. **Generate Phases:** Create `plans/[timestamp]-ecommerce-cart/` with 4-6 standard phases.
|
|
23
|
-
4. **Sync
|
|
24
|
-
5. **Report:** "✅ Plan created at `plans/...`. 6 tasks synced to
|
|
23
|
+
4. **Sync Symphony:** Auto-create tasks in Symphony for each phase.
|
|
24
|
+
5. **Report:** "✅ Plan created at `plans/...`. 6 tasks synced to Symphony."
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
@@ -31,7 +31,7 @@ description: 📝 Thiết kế tính năng (Dual-Mode v5.0)
|
|
|
31
31
|
1. **Understand Intent:** "Mô tả ý tưởng của bạn đi? (Nói tự nhiên thôi)"
|
|
32
32
|
2. **Socratic Questions:** (Based on previous Logic Architect v2 logic)
|
|
33
33
|
- Auth? Files? Notifications? Payment?
|
|
34
|
-
- *New:* "Có cần tạo task trong
|
|
34
|
+
- *New:* "Có cần tạo task trong Symphony luôn không?"
|
|
35
35
|
|
|
36
36
|
### Phase 2: Architecture & Flow
|
|
37
37
|
1. **Visualize:** Vẽ sơ đồ Mermaid (Flowchart/Entity Relationship).
|
|
@@ -45,44 +45,42 @@ description: 📝 Thiết kế tính năng (Dual-Mode v5.0)
|
|
|
45
45
|
|
|
46
46
|
### Phase 3: Plan Generation
|
|
47
47
|
1. **Action:** Tạo folder structure và file markdown (như v2).
|
|
48
|
-
2. **Sync
|
|
49
|
-
- `
|
|
50
|
-
- Loop qua từng Phase → `
|
|
51
|
-
- Loop qua từng Step → `
|
|
52
|
-
- `bd dep add` cho inter-phase dependencies
|
|
48
|
+
2. **Sync Symphony:** (Nếu user đồng ý ở Phase 1)
|
|
49
|
+
- `symphony_create_task(title="<Feature>", priority=1)` → Create root task
|
|
50
|
+
- Loop qua từng Phase → `symphony_create_task(title="Phase X", ...)`
|
|
51
|
+
- Loop qua từng Step → `symphony_create_task(title="<Step>", acceptance="...")`
|
|
53
52
|
|
|
54
53
|
### Phase 4: Handoff
|
|
55
|
-
1. **Report:** Hiển thị chi tiết Plan và Link
|
|
54
|
+
1. **Report:** Hiển thị chi tiết Plan và Link Symphony.
|
|
56
55
|
2. **Next Steps Menu:**
|
|
57
56
|
```markdown
|
|
58
57
|
1️⃣ 🚀 Bắt đầu code ngay (`/code phase-01`)
|
|
59
58
|
2️⃣ 👁️ Xem trước UI (`/visualize`)
|
|
60
|
-
3️⃣
|
|
59
|
+
3️⃣ 🎵 Xem danh sách task (`/todo`)
|
|
61
60
|
4️⃣ 🔄 Chỉnh sửa lại plan
|
|
62
61
|
```
|
|
63
62
|
|
|
64
63
|
---
|
|
65
64
|
|
|
66
|
-
## 🧠 Brain &
|
|
65
|
+
## 🧠 Brain & Symphony Integration Details
|
|
67
66
|
|
|
68
|
-
### 1. Auto-Sync Logic
|
|
67
|
+
### 1. Auto-Sync Logic
|
|
69
68
|
Khi tạo plan, hệ thống sẽ:
|
|
70
|
-
1. `
|
|
71
|
-
2. For each phase: `
|
|
72
|
-
3. For each task: `
|
|
73
|
-
4.
|
|
74
|
-
5. Ghi epic mapping → `brain/active_plans.json`
|
|
69
|
+
1. `symphony_create_task(title="<Feature>", priority=1)` → Create root task
|
|
70
|
+
2. For each phase: `symphony_create_task(title="Phase X", ...)`
|
|
71
|
+
3. For each task: `symphony_create_task(title="Task", acceptance="...")`
|
|
72
|
+
4. Ghi task mapping → `brain/active_plans.json`
|
|
75
73
|
|
|
76
74
|
### 2. Context Retention
|
|
77
|
-
- Lưu
|
|
78
|
-
- Khi User gõ `/next`, hệ thống dùng `
|
|
75
|
+
- Lưu task IDs vào `brain/active_plans.json`.
|
|
76
|
+
- Khi User gõ `/next`, hệ thống dùng `symphony_available_tasks(filter="ready")` để suggest task.
|
|
79
77
|
|
|
80
78
|
---
|
|
81
79
|
|
|
82
80
|
## 🛡️ Resilience Patterns
|
|
83
81
|
|
|
84
82
|
- **Duplicate Plan:** Nếu folder đã tồn tại -> Hỏi "Ghi đè (Overwrite) hay Tạo bản sao (Copy)?"
|
|
85
|
-
- **
|
|
83
|
+
- **Symphony Error:** Nếu Symphony unavailable -> Vẫn tạo file MD, báo warning "Task tracking disabled".
|
|
86
84
|
|
|
87
85
|
---
|
|
88
86
|
|
|
@@ -185,7 +185,7 @@ fi
|
|
|
185
185
|
```markdown
|
|
186
186
|
1️⃣ Xem chi tiết vấn đề (scroll up)
|
|
187
187
|
2️⃣ Sửa ngay (`/code`)
|
|
188
|
-
3️⃣ Tạo task để sửa sau (`
|
|
188
|
+
3️⃣ Tạo task để sửa sau (`symphony_create_task(title="Fix warnings")`)
|
|
189
189
|
4️⃣ Bỏ qua và commit (KHÔNG khuyến khích)
|
|
190
190
|
```
|
|
191
191
|
|
|
@@ -27,7 +27,7 @@ priority: "high"
|
|
|
27
27
|
**Trigger**: Complex Logic / New Component.
|
|
28
28
|
1. **Plan**: Check `code-quality.md` & `project-identity`.
|
|
29
29
|
2. **Structure**: File organization & Data flow.
|
|
30
|
-
3. **Output**: `docs/specs/[feature]/design.md` &
|
|
30
|
+
3. **Output**: `docs/specs/[feature]/design.md` & Symphony tasks.
|
|
31
31
|
|
|
32
32
|
### Phase 4: Building (The Developer Hat) 💻
|
|
33
33
|
**Trigger**: Approved Plan.
|
|
@@ -44,7 +44,7 @@ priority: "high"
|
|
|
44
44
|
## 🚀 How to Use
|
|
45
45
|
- **Auto-Switch**: As an AI, I will seamlessly switch personas.
|
|
46
46
|
- **Explicit Call**: You can say "Put on your PM hat" or "QA this for me".
|
|
47
|
-
- **Progress**: Use `
|
|
47
|
+
- **Progress**: Use `symphony_available_tasks()` to track which phase we are in.
|
|
48
48
|
|
|
49
49
|
## 🌟 The Vibe
|
|
50
50
|
- Keep it **Fast**.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🤖 Tự động hóa git workflow hoàn chỉnh (audit → commit → push → telegram report)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /smart-git-ops - Complete Git Automation
|
|
6
|
+
|
|
7
|
+
**Tự động hóa toàn bộ:** Audit → Semantic Commit → Push → Telegram Report
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Phase 1: Pre-Commit Audit
|
|
12
|
+
|
|
13
|
+
// turbo
|
|
14
|
+
```bash
|
|
15
|
+
# Run audit to check for issues
|
|
16
|
+
echo "🔍 Running pre-commit audit..."
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Note:** Nếu audit phát hiện 🔴 Critical issues → DỪNG workflow.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Phase 2: Status & Smart Staging
|
|
24
|
+
|
|
25
|
+
// turbo
|
|
26
|
+
```bash
|
|
27
|
+
git status
|
|
28
|
+
git diff --stat
|
|
29
|
+
|
|
30
|
+
# Auto-stage known safe paths
|
|
31
|
+
git add src/ app/ lib/ docs/ tests/ *.swift *.kt *.ts *.tsx
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Phase 3: Generate Semantic Commit
|
|
37
|
+
|
|
38
|
+
**Logic:**
|
|
39
|
+
1. Phân tích thay đổi từ `git diff --staged`
|
|
40
|
+
2. Tự động tạo commit message theo format: `type(scope): subject`
|
|
41
|
+
3. Hiển thị message → User xác nhận (timeout 5s = auto-approve)
|
|
42
|
+
|
|
43
|
+
**Example Output:**
|
|
44
|
+
```
|
|
45
|
+
📝 Proposed commit message:
|
|
46
|
+
feat(social): add following list view with real-time sync
|
|
47
|
+
|
|
48
|
+
✅ Accept (Enter) | ❌ Edit (E)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Phase 4: Commit
|
|
54
|
+
|
|
55
|
+
// turbo
|
|
56
|
+
```bash
|
|
57
|
+
git commit -m "<generated-message>"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Phase 5: Pre-Push Verification (Optional)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Optional: Run quick build/lint if configured
|
|
66
|
+
# Skip for docs-only changes
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Phase 6: Push
|
|
72
|
+
|
|
73
|
+
// turbo
|
|
74
|
+
```bash
|
|
75
|
+
git pull --rebase origin HEAD 2>/dev/null || true
|
|
76
|
+
git push origin HEAD
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Phase 7: Telegram Report 📨
|
|
82
|
+
|
|
83
|
+
**Mục đích:** Sau khi push thành công, tự động tóm tắt các thay đổi và gửi báo cáo vào Telegram group.
|
|
84
|
+
|
|
85
|
+
**Logic:**
|
|
86
|
+
1. Lấy thông tin commit vừa push:
|
|
87
|
+
```bash
|
|
88
|
+
COMMIT_HASH=$(git log -1 --format='%h')
|
|
89
|
+
COMMIT_MSG=$(git log -1 --format='%s')
|
|
90
|
+
BRANCH=$(git branch --show-current)
|
|
91
|
+
AUTHOR=$(git log -1 --format='%an')
|
|
92
|
+
FILES_CHANGED=$(git diff --stat HEAD~1 HEAD | tail -1)
|
|
93
|
+
REPO_NAME=$(basename $(git rev-parse --show-toplevel))
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
2. Tạo message tóm tắt (Markdown):
|
|
97
|
+
```
|
|
98
|
+
🚀 *Git Push Report*
|
|
99
|
+
|
|
100
|
+
📦 *Repo:* `{REPO_NAME}`
|
|
101
|
+
🌿 *Branch:* `{BRANCH}`
|
|
102
|
+
🔖 *Commit:* `{COMMIT_HASH}`
|
|
103
|
+
👤 *Author:* {AUTHOR}
|
|
104
|
+
|
|
105
|
+
📝 *Message:* {COMMIT_MSG}
|
|
106
|
+
📊 *Changes:* {FILES_CHANGED}
|
|
107
|
+
🕐 *Time:* {timestamp}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
3. Gửi qua `awkit tg send`:
|
|
111
|
+
// turbo
|
|
112
|
+
```bash
|
|
113
|
+
awkit tg send --parse-mode md "<generated-report>"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Fallback:** Nếu `awkit tg send` fail (chưa config), hiển thị hướng dẫn:
|
|
117
|
+
```
|
|
118
|
+
⚠️ Telegram chưa được cấu hình. Chạy: awkit tg setup
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 🎛️ Configuration
|
|
124
|
+
|
|
125
|
+
User có thể config trong `.gemini/config.json`:
|
|
126
|
+
```json
|
|
127
|
+
{
|
|
128
|
+
"smart_git_ops": {
|
|
129
|
+
"auto_approve_timeout": 5,
|
|
130
|
+
"run_audit": true,
|
|
131
|
+
"run_tests_before_push": false,
|
|
132
|
+
"telegram_report": true
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## ⚠️ NEXT STEPS
|
|
140
|
+
|
|
141
|
+
Sau khi push & report thành công:
|
|
142
|
+
```
|
|
143
|
+
1️⃣ Xem commit log (`git log --oneline -3`)
|
|
144
|
+
2️⃣ Đóng task trong Symphony (`symphony_complete_task(task_id)`)
|
|
145
|
+
3️⃣ Tiếp tục task tiếp theo (`/next`)
|
|
146
|
+
```
|
|
@@ -10,7 +10,7 @@ description: 📱 Phân tích màn hình & tạo đặc tả UI
|
|
|
10
10
|
1. **Input Analysis**: Detect App Type & Context.
|
|
11
11
|
2. **Screen Discovery**: Core → Secondary → Common.
|
|
12
12
|
3. **Feature Grouping**: Organize screens into Features.
|
|
13
|
-
4. **Spec Gen**: Create `docs/specs/[feature]/{requirements,design}.md` and init tasks via **
|
|
13
|
+
4. **Spec Gen**: Create `docs/specs/[feature]/{requirements,design}.md` and init tasks via **Symphony**.
|
|
14
14
|
5. **Overview**: Create `docs/specs/_overview.md`.
|
|
15
15
|
|
|
16
16
|
---
|
|
@@ -101,10 +101,10 @@ enum ViewState { case idle, loading, loaded([Model]), error(Error) }
|
|
|
101
101
|
[Entry] -> [Screen1] -> [Screen2]
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
### 3.3. Task Initialization (
|
|
104
|
+
### 3.3. Task Initialization (Symphony)
|
|
105
105
|
```bash
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
symphony_create_task(title= "Implement [Feature] - A1: Models & Repos" --body "File: Domain & Data\nValidates: RQ-01"
|
|
107
|
+
symphony_create_task(title= "Implement [Feature] - B1: [Screen1]" --body "File: Presentation/[Feature]/"
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
---
|
|
@@ -109,14 +109,14 @@ Property 1: [Property description]
|
|
|
109
109
|
**Validates: Requirements X.X, X.X**
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
#### Task Creation (using
|
|
113
|
-
Instead of a `tasks.md` file, use
|
|
112
|
+
#### Task Creation (using Symphony)
|
|
113
|
+
Instead of a `tasks.md` file, use Symphony to create tracking tasks:
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
116
|
# Initialize tasks for the feature
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
symphony_create_task(title="Implement [Feature Name] - Phase A: Foundation", description="Models, Repositories")
|
|
118
|
+
symphony_create_task(title="Implement [Feature Name] - Phase B: UI", description="Views, Components")
|
|
119
|
+
symphony_create_task(title="Implement [Feature Name] - Phase C: Logic", description="ViewModels, Services")
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
#### product.md Template (Steering - one-time)
|
|
@@ -212,7 +212,7 @@ When initiating specs, follow this process:
|
|
|
212
212
|
|
|
213
213
|
### 1.1. Check Spec
|
|
214
214
|
Is there a spec file in `docs/specs/[current-feature]/`?
|
|
215
|
-
- **YES**: **Strict Implementation** mode (follow spec exactly, track progress with
|
|
215
|
+
- **YES**: **Strict Implementation** mode (follow spec exactly, track progress with Symphony)
|
|
216
216
|
- **NO**: **Agile Coding** mode (quick implementation, optionally create spec first)
|
|
217
217
|
|
|
218
218
|
### 1.2. Agile Coding Mode
|
|
@@ -277,7 +277,7 @@ Users often FORGET these. AI MUST ADD:
|
|
|
277
277
|
|
|
278
278
|
### 3.4. Task Sync
|
|
279
279
|
If working in **Strict Implementation** mode:
|
|
280
|
-
- Mark tasks as completed using `
|
|
280
|
+
- Mark tasks as completed using `symphony_complete_task(task_id)`
|
|
281
281
|
- Update `design.md` if architecture changes
|
|
282
282
|
- Keep specs as source of truth
|
|
283
283
|
|
|
@@ -304,7 +304,7 @@ If working in **Strict Implementation** mode:
|
|
|
304
304
|
|
|
305
305
|
1. Report: "Completed [Task Name]."
|
|
306
306
|
2. List: "Changed files: [List]"
|
|
307
|
-
3. If using specs: Update
|
|
307
|
+
3. If using specs: Update task status with `symphony_report_progress(task_id)`
|
|
308
308
|
4. Suggest next steps:
|
|
309
309
|
- "Use `/run` to test."
|
|
310
310
|
- "Use `/test` to verify logic."
|
|
@@ -123,7 +123,7 @@ enum ViewState {
|
|
|
123
123
|
- **Animations:** [Duration, Easing]
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
### 3.4. Task Generation (
|
|
126
|
+
### 3.4. Task Generation (Symphony)
|
|
127
127
|
|
|
128
128
|
**Script:** `docs/specs/[feature]/init_tasks.sh`
|
|
129
129
|
|
|
@@ -131,23 +131,23 @@ enum ViewState {
|
|
|
131
131
|
#!/bin/bash
|
|
132
132
|
|
|
133
133
|
# Phase A: Foundation
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
symphony_create_task(title= "Implement [Feature] - A1: Models" --body "File: Domain/Models/[Feature].swift\nValidates: RQ-01"
|
|
135
|
+
symphony_create_task(title= "Implement [Feature] - A2: Repository" --body "File: Data/Repositories/[Feature]Repository.swift\nValidates: RQ-01, RQ-02"
|
|
136
136
|
|
|
137
137
|
# Phase B: UI
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
symphony_create_task(title= "Implement [Feature] - B1: Main View" --body "File: Presentation/[Feature]/[Feature]View.swift\nValidates: RQ-01"
|
|
139
|
+
symphony_create_task(title= "Implement [Feature] - B2: Components" --body "File: Presentation/[Feature]/Components/\nValidates: RQ-01"
|
|
140
140
|
|
|
141
141
|
# Phase C: Logic
|
|
142
|
-
|
|
142
|
+
symphony_create_task(title= "Implement [Feature] - C1: ViewModel" --body "File: Presentation/[Feature]/[Feature]ViewModel.swift\nValidates: RQ-01, RQ-02"
|
|
143
143
|
|
|
144
144
|
# Phase D: Polish
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
symphony_create_task(title= "Implement [Feature] - D1: Localization" --body "Type: i18n"
|
|
146
|
+
symphony_create_task(title= "Implement [Feature] - D2: Accessibility" --body "Type: a11y"
|
|
147
147
|
|
|
148
148
|
# Phase E: Verify
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
symphony_create_task(title= "Implement [Feature] - E1: Unit Tests" --body "Type: test"
|
|
150
|
+
symphony_create_task(title= "Implement [Feature] - E2: Final Review" --body "Type: checkpoint"
|
|
151
151
|
```
|
|
152
152
|
|
|
153
153
|
---
|
|
@@ -160,7 +160,7 @@ Sau khi tạo xong, trình bày:
|
|
|
160
160
|
📁 Created: docs/specs/[feature]/
|
|
161
161
|
├── requirements.md (X requirements, Y criteria)
|
|
162
162
|
├── design.md (Component hierarchy, Models, UI specs)
|
|
163
|
-
└── init_tasks.sh (Script to create
|
|
163
|
+
└── init_tasks.sh (Script to create Symphony tasks)
|
|
164
164
|
|
|
165
165
|
Ready for implementation with /auto-implement
|
|
166
166
|
```
|