viepilot 1.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/CHANGELOG.md +230 -0
- package/LICENSE +23 -0
- package/README.md +550 -0
- package/bin/viepilot.cjs +222 -0
- package/bin/vp-tools.cjs +912 -0
- package/dev-install.sh +109 -0
- package/docs/README.md +125 -0
- package/docs/advanced-usage.md +366 -0
- package/docs/api/README.md +12 -0
- package/docs/api/graphql-schema.md +5 -0
- package/docs/api/kafka-events.md +5 -0
- package/docs/api/rest-api.md +19 -0
- package/docs/api/websocket-api.md +5 -0
- package/docs/dev/architecture.md +226 -0
- package/docs/dev/cli-reference.md +324 -0
- package/docs/dev/contributing.md +195 -0
- package/docs/dev/deployment.md +204 -0
- package/docs/dev/getting-started.md +16 -0
- package/docs/dev/testing.md +171 -0
- package/docs/dev/ui-components-library.md +36 -0
- package/docs/getting-started.md +163 -0
- package/docs/skills-reference.md +399 -0
- package/docs/troubleshooting.md +297 -0
- package/docs/user/faq.md +117 -0
- package/docs/user/features/autonomous-mode.md +111 -0
- package/docs/user/features/checkpoint-recovery.md +76 -0
- package/docs/user/features/debug-mode.md +77 -0
- package/docs/user/features/ui-direction.md +29 -0
- package/docs/user/quick-start.md +157 -0
- package/docs/videos/01-installation.md +113 -0
- package/docs/videos/02-first-project.md +132 -0
- package/docs/videos/03-autonomous-mode.md +147 -0
- package/install.sh +144 -0
- package/lib/cli-shared.cjs +108 -0
- package/package.json +78 -0
- package/skills/vp-audit/SKILL.md +140 -0
- package/skills/vp-auto/SKILL.md +204 -0
- package/skills/vp-brainstorm/SKILL.md +75 -0
- package/skills/vp-crystallize/SKILL.md +175 -0
- package/skills/vp-debug/SKILL.md +96 -0
- package/skills/vp-docs/SKILL.md +258 -0
- package/skills/vp-evolve/SKILL.md +165 -0
- package/skills/vp-pause/SKILL.md +150 -0
- package/skills/vp-request/SKILL.md +250 -0
- package/skills/vp-resume/SKILL.md +141 -0
- package/skills/vp-rollback/SKILL.md +116 -0
- package/skills/vp-status/SKILL.md +137 -0
- package/skills/vp-task/SKILL.md +139 -0
- package/skills/vp-ui-components/SKILL.md +64 -0
- package/templates/phase/PHASE-STATE.md +35 -0
- package/templates/phase/SPEC.md +40 -0
- package/templates/phase/SUMMARY.md +67 -0
- package/templates/phase/TASK.md +101 -0
- package/templates/phase/VERIFICATION.md +49 -0
- package/templates/project/AI-GUIDE.md +114 -0
- package/templates/project/ARCHITECTURE.md +70 -0
- package/templates/project/CHANGELOG.md +36 -0
- package/templates/project/CONTRIBUTING.md +154 -0
- package/templates/project/CONTRIBUTORS.md +41 -0
- package/templates/project/PROJECT-CONTEXT.md +74 -0
- package/templates/project/PROJECT-META.md +133 -0
- package/templates/project/README.md +197 -0
- package/templates/project/ROADMAP.md +56 -0
- package/templates/project/SYSTEM-RULES.md +368 -0
- package/templates/project/TRACKER.md +50 -0
- package/ui-components/INDEX.md +9 -0
- package/ui-components/base/button/README.md +8 -0
- package/ui-components/base/button/metadata.json +8 -0
- package/ui-components/base/card/README.md +8 -0
- package/ui-components/base/card/metadata.json +8 -0
- package/ui-components/base/input/README.md +8 -0
- package/ui-components/base/input/metadata.json +8 -0
- package/workflows/audit.md +549 -0
- package/workflows/autonomous.md +425 -0
- package/workflows/brainstorm.md +257 -0
- package/workflows/crystallize.md +418 -0
- package/workflows/debug.md +241 -0
- package/workflows/documentation.md +587 -0
- package/workflows/evolve.md +258 -0
- package/workflows/pause-work.md +255 -0
- package/workflows/request.md +534 -0
- package/workflows/resume-work.md +226 -0
- package/workflows/rollback.md +202 -0
- package/workflows/ui-components.md +109 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-status
|
|
3
|
+
description: "Hiển thị progress dashboard và actionable insights"
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-status`, `/vp-status`, "status", "tiến độ", "đang ở đâu"
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. Tool Usage
|
|
13
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
14
|
+
</cursor_skill_adapter>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Hiển thị visual progress dashboard với actionable insights.
|
|
18
|
+
|
|
19
|
+
**Reads:**
|
|
20
|
+
- `.viepilot/TRACKER.md`
|
|
21
|
+
- `.viepilot/ROADMAP.md`
|
|
22
|
+
- `.viepilot/phases/*/PHASE-STATE.md`
|
|
23
|
+
- `CHANGELOG.md`
|
|
24
|
+
|
|
25
|
+
**Output:** Dashboard display với next action suggestions.
|
|
26
|
+
</objective>
|
|
27
|
+
|
|
28
|
+
<process>
|
|
29
|
+
|
|
30
|
+
### Step 1: Load State
|
|
31
|
+
```bash
|
|
32
|
+
cat .viepilot/TRACKER.md
|
|
33
|
+
cat .viepilot/ROADMAP.md
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Step 2: Calculate Progress
|
|
37
|
+
For each phase:
|
|
38
|
+
- Count total tasks
|
|
39
|
+
- Count completed tasks
|
|
40
|
+
- Calculate percentage
|
|
41
|
+
|
|
42
|
+
Overall:
|
|
43
|
+
- Total phases
|
|
44
|
+
- Completed phases
|
|
45
|
+
- Overall percentage
|
|
46
|
+
|
|
47
|
+
### Step 3: Display Dashboard
|
|
48
|
+
```
|
|
49
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
50
|
+
VIEPILOT ► STATUS
|
|
51
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
+
|
|
53
|
+
Project: {project_name}
|
|
54
|
+
Version: {current_version}
|
|
55
|
+
Milestone: {milestone_name}
|
|
56
|
+
|
|
57
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
58
|
+
PHASE PROGRESS
|
|
59
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
60
|
+
|
|
61
|
+
Phase 1: Project Setup [██████████] 100% ✅
|
|
62
|
+
Phase 2: Database Foundation [████████░░] 80% 🔄
|
|
63
|
+
Phase 3: TAP Service Core [░░░░░░░░░░] 0% ⏳
|
|
64
|
+
Phase 4: Location Service [░░░░░░░░░░] 0% ⏳
|
|
65
|
+
Phase 5: API Gateway [░░░░░░░░░░] 0% ⏳
|
|
66
|
+
|
|
67
|
+
─────────────────────────────────────────────────────────────────
|
|
68
|
+
Overall Progress: [████░░░░░░] 36%
|
|
69
|
+
|
|
70
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
|
+
CURRENT STATE
|
|
72
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
73
|
+
|
|
74
|
+
Current Phase: 02 - Database Foundation
|
|
75
|
+
Current Task: 4/5 - Create TimescaleDB hypertables
|
|
76
|
+
Task Status: In Progress
|
|
77
|
+
|
|
78
|
+
Last Activity: 2 hours ago
|
|
79
|
+
Last Commit: feat(db): create vehicle/device tables
|
|
80
|
+
|
|
81
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
|
+
QUALITY METRICS
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
|
|
85
|
+
Tests: 45 pass, 2 fail ⚠️
|
|
86
|
+
Coverage: 72%
|
|
87
|
+
Lint: 0 errors, 3 warnings
|
|
88
|
+
|
|
89
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
90
|
+
DECISIONS & BLOCKERS
|
|
91
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
92
|
+
|
|
93
|
+
Decisions Made: 24 total, 21 locked, 3 pending
|
|
94
|
+
Blockers: 0 active
|
|
95
|
+
|
|
96
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
97
|
+
NEXT ACTIONS
|
|
98
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
99
|
+
|
|
100
|
+
Recommended: Fix 2 failing tests, then continue task 4
|
|
101
|
+
|
|
102
|
+
Quick Actions:
|
|
103
|
+
1. Continue current task → /vp-auto --from 2
|
|
104
|
+
2. View failing tests → (show test output)
|
|
105
|
+
3. View current task → (show task file)
|
|
106
|
+
4. Pause work → /vp-pause
|
|
107
|
+
|
|
108
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Step 4: Offer Quick Actions
|
|
112
|
+
Based on state, offer relevant actions:
|
|
113
|
+
|
|
114
|
+
If tests failing:
|
|
115
|
+
- "Fix failing tests"
|
|
116
|
+
- "View test output"
|
|
117
|
+
|
|
118
|
+
If task in progress:
|
|
119
|
+
- "Continue task"
|
|
120
|
+
- "View task details"
|
|
121
|
+
|
|
122
|
+
If phase complete:
|
|
123
|
+
- "Start next phase"
|
|
124
|
+
- "Review phase summary"
|
|
125
|
+
|
|
126
|
+
If blockers:
|
|
127
|
+
- "View blockers"
|
|
128
|
+
- "Skip blocked task"
|
|
129
|
+
</process>
|
|
130
|
+
|
|
131
|
+
<success_criteria>
|
|
132
|
+
- [ ] All progress calculated correctly
|
|
133
|
+
- [ ] Visual dashboard displayed
|
|
134
|
+
- [ ] Current state clearly shown
|
|
135
|
+
- [ ] Quality metrics included
|
|
136
|
+
- [ ] Actionable next steps suggested
|
|
137
|
+
</success_criteria>
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-task
|
|
3
|
+
description: "Manual control over individual tasks"
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-task`, `/vp-task`
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. Tool Usage
|
|
13
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
14
|
+
</cursor_skill_adapter>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Manual control over tasks khi cần fine-grained management.
|
|
18
|
+
|
|
19
|
+
**Commands:**
|
|
20
|
+
- `list` - List tasks in current phase
|
|
21
|
+
- `show N` - Show task N details
|
|
22
|
+
- `start N` - Manually start task N
|
|
23
|
+
- `done N` - Mark task N as done
|
|
24
|
+
- `skip N` - Skip task N with reason
|
|
25
|
+
- `retry N` - Retry failed task N
|
|
26
|
+
- `rollback N` - Rollback task N
|
|
27
|
+
</objective>
|
|
28
|
+
|
|
29
|
+
<process>
|
|
30
|
+
|
|
31
|
+
### Parse Command
|
|
32
|
+
```
|
|
33
|
+
/vp-task {command} {args}
|
|
34
|
+
|
|
35
|
+
Commands:
|
|
36
|
+
- /vp-task list
|
|
37
|
+
- /vp-task show 3
|
|
38
|
+
- /vp-task start 3
|
|
39
|
+
- /vp-task done 3
|
|
40
|
+
- /vp-task skip 3 --reason "Not needed for MVP"
|
|
41
|
+
- /vp-task retry 3
|
|
42
|
+
- /vp-task rollback 3
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Command: list
|
|
46
|
+
```bash
|
|
47
|
+
# Read current phase
|
|
48
|
+
cat .viepilot/TRACKER.md → current_phase
|
|
49
|
+
cat .viepilot/phases/{phase}/PHASE-STATE.md
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Display:
|
|
53
|
+
```
|
|
54
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
55
|
+
Phase {N}: {Name} - Tasks
|
|
56
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
57
|
+
|
|
58
|
+
# │ Task │ Status │ Tag
|
|
59
|
+
───┼───────────────────────────┼─────────────┼─────────────
|
|
60
|
+
1 │ Create parent pom.xml │ ✅ done │ vp-p1-t1-done
|
|
61
|
+
2 │ Create common module │ ✅ done │ vp-p1-t2-done
|
|
62
|
+
3 │ Create tap-service │ 🔄 progress │ vp-p1-t3
|
|
63
|
+
4 │ Create location-service │ ⏳ pending │ -
|
|
64
|
+
5 │ Docker Compose setup │ ⏳ pending │ -
|
|
65
|
+
|
|
66
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Command: show N
|
|
70
|
+
```bash
|
|
71
|
+
cat .viepilot/phases/{phase}/tasks/{N}-*.md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Display task file content with syntax highlighting.
|
|
75
|
+
|
|
76
|
+
### Command: start N
|
|
77
|
+
```yaml
|
|
78
|
+
actions:
|
|
79
|
+
1. Check task not already started
|
|
80
|
+
2. Check dependencies met
|
|
81
|
+
3. Create git tag: vp-p{phase}-t{N}
|
|
82
|
+
4. Update PHASE-STATE.md: status → in_progress
|
|
83
|
+
5. Update TRACKER.md
|
|
84
|
+
6. Display task objective and acceptance criteria
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Command: done N
|
|
88
|
+
```yaml
|
|
89
|
+
actions:
|
|
90
|
+
1. Verify task exists and is in_progress
|
|
91
|
+
2. Ask: "Skip verification? (not recommended)"
|
|
92
|
+
3. If no skip:
|
|
93
|
+
- Run automated checks
|
|
94
|
+
- Check acceptance criteria
|
|
95
|
+
4. Create git tag: vp-p{phase}-t{N}-done
|
|
96
|
+
5. Update PHASE-STATE.md
|
|
97
|
+
6. Update TRACKER.md
|
|
98
|
+
7. Update CHANGELOG.md if feature/fix
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Command: skip N
|
|
102
|
+
```yaml
|
|
103
|
+
actions:
|
|
104
|
+
1. Ask for skip reason (required)
|
|
105
|
+
2. Update task status → skipped
|
|
106
|
+
3. Log skip reason in PHASE-STATE.md
|
|
107
|
+
4. Update TRACKER.md
|
|
108
|
+
5. Move to next task or phase
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Command: retry N
|
|
112
|
+
```yaml
|
|
113
|
+
actions:
|
|
114
|
+
1. Check task is failed or blocked
|
|
115
|
+
2. Reset task status → in_progress
|
|
116
|
+
3. Clear previous error state
|
|
117
|
+
4. Display: "Task {N} reset. Continue with /vp-auto or manual work."
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Command: rollback N
|
|
121
|
+
```yaml
|
|
122
|
+
actions:
|
|
123
|
+
1. Check task has been started (has tag)
|
|
124
|
+
2. Confirm with user: "This will undo all changes from task {N}. Continue?"
|
|
125
|
+
3. Git revert to task start tag:
|
|
126
|
+
git revert --no-commit $(git rev-list vp-p{phase}-t{N}..HEAD)
|
|
127
|
+
4. Reset task status → not_started
|
|
128
|
+
5. Update PHASE-STATE.md
|
|
129
|
+
6. Display rollback summary
|
|
130
|
+
```
|
|
131
|
+
</process>
|
|
132
|
+
|
|
133
|
+
<success_criteria>
|
|
134
|
+
- [ ] Command parsed correctly
|
|
135
|
+
- [ ] Appropriate action taken
|
|
136
|
+
- [ ] State files updated
|
|
137
|
+
- [ ] Git tags managed
|
|
138
|
+
- [ ] User feedback provided
|
|
139
|
+
</success_criteria>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vp-ui-components
|
|
3
|
+
description: "Quản lý workflow sưu tầm và tái sử dụng UI components"
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<cursor_skill_adapter>
|
|
8
|
+
## A. Skill Invocation
|
|
9
|
+
- Skill được gọi khi user mention `vp-ui-components`, `/vp-ui-components`, "ui components", "component library", "21st.dev component"
|
|
10
|
+
- Treat all user text after the skill mention as `{{VP_ARGS}}`
|
|
11
|
+
|
|
12
|
+
## B. User Prompting
|
|
13
|
+
Prompt user conversationally với numbered list options.
|
|
14
|
+
|
|
15
|
+
## C. Tool Usage
|
|
16
|
+
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
17
|
+
</cursor_skill_adapter>
|
|
18
|
+
|
|
19
|
+
<objective>
|
|
20
|
+
Thu thập, phân loại, và lưu trữ UI components để tái sử dụng:
|
|
21
|
+
- Global library: `~/.viepilot/ui-components/`
|
|
22
|
+
- Project library: `.viepilot/ui-components/`
|
|
23
|
+
|
|
24
|
+
Nguồn có thể đến từ prompt/link/snippet (đặc biệt 21st.dev), sau đó chuẩn hóa thành artifacts có metadata.
|
|
25
|
+
|
|
26
|
+
**Creates/Updates:**
|
|
27
|
+
- `~/.viepilot/ui-components/{category}/{component-id}/...`
|
|
28
|
+
- `.viepilot/ui-components/{category}/{component-id}/...`
|
|
29
|
+
- `INDEX.md` cho global + local store
|
|
30
|
+
|
|
31
|
+
**After:** Component có thể dùng lại cho `/vp-brainstorm --ui` và `/vp-crystallize`.
|
|
32
|
+
</objective>
|
|
33
|
+
|
|
34
|
+
<execution_context>
|
|
35
|
+
@$HOME/.cursor/viepilot/workflows/ui-components.md
|
|
36
|
+
</execution_context>
|
|
37
|
+
|
|
38
|
+
<context>
|
|
39
|
+
Optional flags:
|
|
40
|
+
- `--add` : Add/capture component mới
|
|
41
|
+
- `--list` : Liệt kê component theo category
|
|
42
|
+
- `--sync` : Đồng bộ global ↔ local index
|
|
43
|
+
- `--from-21st` : Ưu tiên flow ingest từ 21st.dev references
|
|
44
|
+
- `--approve` : Mark component status thành approved
|
|
45
|
+
</context>
|
|
46
|
+
|
|
47
|
+
<process>
|
|
48
|
+
Execute workflow from `@$HOME/.cursor/viepilot/workflows/ui-components.md`
|
|
49
|
+
|
|
50
|
+
Key steps:
|
|
51
|
+
1. Prepare global + local component stores
|
|
52
|
+
2. Collect source input (prompt/link/snippet + intent)
|
|
53
|
+
3. Classify component taxonomy
|
|
54
|
+
4. Write standardized artifacts (README, SOURCE, html/css, metadata)
|
|
55
|
+
5. Update indexes
|
|
56
|
+
6. Connect selected IDs to brainstorm/crystallize context
|
|
57
|
+
</process>
|
|
58
|
+
|
|
59
|
+
<success_criteria>
|
|
60
|
+
- [ ] Component stored with taxonomy + metadata
|
|
61
|
+
- [ ] Global and local indexes updated
|
|
62
|
+
- [ ] Source provenance documented
|
|
63
|
+
- [ ] Reuse-ready for next brainstorm and crystallize runs
|
|
64
|
+
</success_criteria>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Phase {{PHASE_NUMBER}}: {{PHASE_NAME}} - State
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
- **Started**: {{START_DATE}}
|
|
5
|
+
- **Status**: not_started | in_progress | complete
|
|
6
|
+
- **Progress**: 0/{{TASK_COUNT}} tasks (0%)
|
|
7
|
+
- **Current Task**: -
|
|
8
|
+
|
|
9
|
+
## Task Status
|
|
10
|
+
|
|
11
|
+
| # | Task | Status | Started | Completed | Git Tag |
|
|
12
|
+
|---|------|--------|---------|-----------|---------|
|
|
13
|
+
{{TASK_TABLE}}
|
|
14
|
+
|
|
15
|
+
## Blockers
|
|
16
|
+
_None currently_
|
|
17
|
+
|
|
18
|
+
## Decisions Made (This Phase)
|
|
19
|
+
| Decision | Rationale | Task |
|
|
20
|
+
|----------|-----------|------|
|
|
21
|
+
|
|
22
|
+
## Files Changed
|
|
23
|
+
|
|
24
|
+
List **every file individually** — run `git diff vp-p{N}-t{M}..HEAD --name-status` to get actual list. Do NOT use glob patterns.
|
|
25
|
+
|
|
26
|
+
| File | Action | Task |
|
|
27
|
+
|------|--------|------|
|
|
28
|
+
|
|
29
|
+
## Quality Metrics
|
|
30
|
+
- Tests written: 0
|
|
31
|
+
- Tests passing: 0
|
|
32
|
+
- Code coverage: N/A
|
|
33
|
+
- Linting errors: 0
|
|
34
|
+
|
|
35
|
+
## Notes
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Phase {{PHASE_NUMBER}}: {{PHASE_NAME}} - Specification
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
- **Goal**: {{PHASE_GOAL}}
|
|
5
|
+
- **Dependencies**: {{DEPENDENCIES}}
|
|
6
|
+
- **Estimated Tasks**: {{TASK_COUNT}}
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
{{PHASE_OBJECTIVE}}
|
|
11
|
+
|
|
12
|
+
## Scope
|
|
13
|
+
|
|
14
|
+
### In Scope
|
|
15
|
+
{{IN_SCOPE}}
|
|
16
|
+
|
|
17
|
+
### Out of Scope
|
|
18
|
+
{{OUT_OF_SCOPE}}
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
### Functional
|
|
23
|
+
{{FUNCTIONAL_REQUIREMENTS}}
|
|
24
|
+
|
|
25
|
+
### Non-Functional
|
|
26
|
+
{{NON_FUNCTIONAL_REQUIREMENTS}}
|
|
27
|
+
|
|
28
|
+
## Acceptance Criteria
|
|
29
|
+
|
|
30
|
+
{{ACCEPTANCE_CRITERIA}}
|
|
31
|
+
|
|
32
|
+
## Technical Notes
|
|
33
|
+
|
|
34
|
+
{{TECHNICAL_NOTES}}
|
|
35
|
+
|
|
36
|
+
## References
|
|
37
|
+
|
|
38
|
+
- Architecture: `.viepilot/ARCHITECTURE.md`
|
|
39
|
+
- Context: `.viepilot/PROJECT-CONTEXT.md`
|
|
40
|
+
- Rules: `.viepilot/SYSTEM-RULES.md`
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Phase {{PHASE_NUMBER}}: {{PHASE_NAME}} - Summary
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
- **Started**: {{START_DATE}}
|
|
5
|
+
- **Completed**: {{END_DATE}}
|
|
6
|
+
- **Duration**: {{DURATION}}
|
|
7
|
+
- **Status**: Complete ✅
|
|
8
|
+
|
|
9
|
+
## Completed Tasks
|
|
10
|
+
|
|
11
|
+
| # | Task | Commits | Notes |
|
|
12
|
+
|---|------|---------|-------|
|
|
13
|
+
{{COMPLETED_TASKS}}
|
|
14
|
+
|
|
15
|
+
## Skipped Tasks
|
|
16
|
+
|
|
17
|
+
| # | Task | Reason |
|
|
18
|
+
|---|------|--------|
|
|
19
|
+
{{SKIPPED_TASKS}}
|
|
20
|
+
|
|
21
|
+
## Key Decisions
|
|
22
|
+
|
|
23
|
+
| Decision | Rationale |
|
|
24
|
+
|----------|-----------|
|
|
25
|
+
{{DECISIONS}}
|
|
26
|
+
|
|
27
|
+
## Files Changed
|
|
28
|
+
|
|
29
|
+
> Populate by running: `git diff vp-p{{PHASE_NUMBER}}-t1..HEAD --name-status | sort`
|
|
30
|
+
> List every file individually. Do NOT use glob patterns or summarize groups.
|
|
31
|
+
|
|
32
|
+
### Created
|
|
33
|
+
| File | Task |
|
|
34
|
+
|------|------|
|
|
35
|
+
{{CREATED_FILES}}
|
|
36
|
+
|
|
37
|
+
### Modified
|
|
38
|
+
| File | Task |
|
|
39
|
+
|------|------|
|
|
40
|
+
{{MODIFIED_FILES}}
|
|
41
|
+
|
|
42
|
+
### Deleted
|
|
43
|
+
| File | Task |
|
|
44
|
+
|------|------|
|
|
45
|
+
{{DELETED_FILES}}
|
|
46
|
+
|
|
47
|
+
## Metrics
|
|
48
|
+
|
|
49
|
+
| Metric | Value |
|
|
50
|
+
|--------|-------|
|
|
51
|
+
| Tasks completed | {{COMPLETED_COUNT}} |
|
|
52
|
+
| Tasks skipped | {{SKIPPED_COUNT}} |
|
|
53
|
+
| Commits | {{COMMIT_COUNT}} |
|
|
54
|
+
| Lines added | {{LINES_ADDED}} |
|
|
55
|
+
| Lines removed | {{LINES_REMOVED}} |
|
|
56
|
+
| Test coverage | {{COVERAGE}} |
|
|
57
|
+
|
|
58
|
+
## Lessons Learned
|
|
59
|
+
|
|
60
|
+
{{LESSONS}}
|
|
61
|
+
|
|
62
|
+
## Notes
|
|
63
|
+
|
|
64
|
+
{{NOTES}}
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
Git Tag: `vp-p{{PHASE_NUMBER}}-complete`
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Task {{TASK_NUMBER}}: {{TASK_NAME}}
|
|
2
|
+
|
|
3
|
+
## Meta
|
|
4
|
+
- **Phase**: {{PHASE_NUMBER}}-{{PHASE_SLUG}}
|
|
5
|
+
- **Status**: not_started | in_progress | blocked | done | skipped
|
|
6
|
+
- **Complexity**: {{COMPLEXITY}}
|
|
7
|
+
- **Dependencies**: {{DEPENDENCIES}}
|
|
8
|
+
- **Git Tag**: vp-p{{PHASE_NUMBER}}-t{{TASK_NUMBER}}
|
|
9
|
+
|
|
10
|
+
## Objective
|
|
11
|
+
|
|
12
|
+
{{TASK_OBJECTIVE}}
|
|
13
|
+
|
|
14
|
+
## Pre-execution documentation gate (doc-first; BUG-001)
|
|
15
|
+
|
|
16
|
+
**Complete before any implementation commits** (see `workflows/autonomous.md`). Read-only research and editing *this task file* to fill the plan are allowed.
|
|
17
|
+
|
|
18
|
+
- [ ] Task contract fields below are filled with **real** paths and intent (no literal `{{PLACEHOLDER}}` rows left in Paths / File-Level Plan).
|
|
19
|
+
- [ ] `## Paths` lists every file/dir to create or modify for this task.
|
|
20
|
+
- [ ] `## File-Level Plan` **or** `## Implementation Notes` explains *what* and *why* per path.
|
|
21
|
+
- [ ] `.viepilot/phases/{{PHASE_NUMBER}}-{{PHASE_SLUG}}/PHASE-STATE.md` marks this task `in_progress` before the first implementation commit.
|
|
22
|
+
|
|
23
|
+
If any box is unchecked when coding starts → **blocked**; finish the plan first.
|
|
24
|
+
|
|
25
|
+
## Paths
|
|
26
|
+
```yaml
|
|
27
|
+
files_to_create:
|
|
28
|
+
- {{NEW_FILE_PATH_1}}
|
|
29
|
+
files_to_modify:
|
|
30
|
+
- {{MODIFIED_FILE_PATH_1}}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## File-Level Plan
|
|
34
|
+
- `{{FILE_PATH}}`: {{WHAT_TO_CHANGE_AND_WHY}}
|
|
35
|
+
- `{{FILE_PATH_2}}`: {{WHAT_TO_CHANGE_AND_WHY}}
|
|
36
|
+
|
|
37
|
+
## Context Required
|
|
38
|
+
```yaml
|
|
39
|
+
files_to_read:
|
|
40
|
+
- .viepilot/ARCHITECTURE.md#{{RELEVANT_SECTION}}
|
|
41
|
+
- .viepilot/SYSTEM-RULES.md#coding_rules
|
|
42
|
+
{{ADDITIONAL_CONTEXT}}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Acceptance Criteria
|
|
46
|
+
- [ ] {{CRITERIA_1}}
|
|
47
|
+
- [ ] {{CRITERIA_2}}
|
|
48
|
+
- [ ] {{CRITERIA_3}}
|
|
49
|
+
|
|
50
|
+
## Best Practices to Apply
|
|
51
|
+
- [ ] {{STACK_SPECIFIC_PRACTICE_1}}
|
|
52
|
+
- [ ] {{CODE_QUALITY_PRACTICE_1}}
|
|
53
|
+
- [ ] {{TESTING_OR_VERIFICATION_PRACTICE}}
|
|
54
|
+
|
|
55
|
+
## Do / Don't
|
|
56
|
+
### Do
|
|
57
|
+
- {{DO_ITEM_1}}
|
|
58
|
+
- {{DO_ITEM_2}}
|
|
59
|
+
|
|
60
|
+
### Don't
|
|
61
|
+
- {{DONT_ITEM_1}}
|
|
62
|
+
- {{DONT_ITEM_2}}
|
|
63
|
+
|
|
64
|
+
## Implementation Notes
|
|
65
|
+
```
|
|
66
|
+
(AI ghi lại notes trong quá trình implement)
|
|
67
|
+
- Decisions made:
|
|
68
|
+
- Issues encountered:
|
|
69
|
+
- Deviations from plan:
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Verification
|
|
73
|
+
```yaml
|
|
74
|
+
automated:
|
|
75
|
+
- command: "{{VERIFY_COMMAND}}"
|
|
76
|
+
expected: "{{EXPECTED_OUTPUT}}"
|
|
77
|
+
- command: "{{VERIFY_COMMAND_2}}"
|
|
78
|
+
expected: "{{EXPECTED_OUTPUT_2}}"
|
|
79
|
+
{{ADDITIONAL_CHECKS}}
|
|
80
|
+
|
|
81
|
+
manual:
|
|
82
|
+
- description: "{{MANUAL_CHECK}}"
|
|
83
|
+
required: {{REQUIRED}}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## State Update Checklist
|
|
87
|
+
- [ ] Update `.viepilot/phases/{{PHASE_NUMBER}}-{{PHASE_SLUG}}/PHASE-STATE.md` after each PASS sub-task
|
|
88
|
+
- [ ] Update `.viepilot/TRACKER.md` with current task/progress
|
|
89
|
+
- [ ] Update `.viepilot/HANDOFF.json` to exact resume point
|
|
90
|
+
- [ ] Update `.viepilot/ROADMAP.md` if phase progress/status changed
|
|
91
|
+
|
|
92
|
+
## Files Changed
|
|
93
|
+
```
|
|
94
|
+
(Auto-populated after completion)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Rollback
|
|
98
|
+
```bash
|
|
99
|
+
# If need to undo this task:
|
|
100
|
+
git revert --no-commit $(git rev-list vp-p{{PHASE_NUMBER}}-t{{TASK_NUMBER}}..vp-p{{PHASE_NUMBER}}-t{{TASK_NUMBER}}-done)
|
|
101
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Phase {{PHASE_NUMBER}}: {{PHASE_NAME}} - Verification
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
- **Verified At**: {{TIMESTAMP}}
|
|
5
|
+
- **Status**: passed | partial | failed
|
|
6
|
+
|
|
7
|
+
## Task Verification
|
|
8
|
+
|
|
9
|
+
{{#TASKS}}
|
|
10
|
+
### Task {{TASK_NUMBER}}: {{TASK_NAME}}
|
|
11
|
+
**Status**: {{STATUS}}
|
|
12
|
+
|
|
13
|
+
#### Automated Checks
|
|
14
|
+
| Check | Result | Output |
|
|
15
|
+
|-------|--------|--------|
|
|
16
|
+
{{AUTOMATED_CHECKS}}
|
|
17
|
+
|
|
18
|
+
#### Manual Checks
|
|
19
|
+
| Check | Result | Verified By |
|
|
20
|
+
|-------|--------|-------------|
|
|
21
|
+
{{MANUAL_CHECKS}}
|
|
22
|
+
|
|
23
|
+
{{/TASKS}}
|
|
24
|
+
|
|
25
|
+
## Quality Gate
|
|
26
|
+
|
|
27
|
+
| Criteria | Required | Result |
|
|
28
|
+
|----------|----------|--------|
|
|
29
|
+
| All acceptance criteria met | ✅ | {{RESULT}} |
|
|
30
|
+
| Automated tests pass | ✅ | {{RESULT}} |
|
|
31
|
+
| No lint errors | ✅ | {{RESULT}} |
|
|
32
|
+
| Code review (if required) | ⚪ | {{RESULT}} |
|
|
33
|
+
|
|
34
|
+
## Summary
|
|
35
|
+
|
|
36
|
+
| Metric | Count |
|
|
37
|
+
|--------|-------|
|
|
38
|
+
| Total checks | {{TOTAL}} |
|
|
39
|
+
| Passed | {{PASSED}} |
|
|
40
|
+
| Failed | {{FAILED}} |
|
|
41
|
+
| Skipped | {{SKIPPED}} |
|
|
42
|
+
|
|
43
|
+
## Issues Found
|
|
44
|
+
|
|
45
|
+
{{ISSUES}}
|
|
46
|
+
|
|
47
|
+
## Next Action
|
|
48
|
+
|
|
49
|
+
{{NEXT_ACTION}}
|