viepilot 1.9.11 → 2.1.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 (60) hide show
  1. package/CHANGELOG.md +175 -2
  2. package/README.md +3 -3
  3. package/bin/viepilot.cjs +7 -5
  4. package/bin/vp-tools.cjs +193 -0
  5. package/dev-install.sh +34 -13
  6. package/docs/user/features/architect-design-mode.md +170 -0
  7. package/docs/user/features/hooks.md +93 -0
  8. package/docs/user/features/ui-direction.md +79 -3
  9. package/lib/adapters/claude-code.cjs +42 -0
  10. package/lib/adapters/cursor.cjs +31 -0
  11. package/lib/adapters/index.cjs +26 -0
  12. package/lib/hooks/brainstorm-staleness.cjs +231 -0
  13. package/lib/viepilot-config.cjs +103 -0
  14. package/lib/viepilot-install.cjs +128 -153
  15. package/package.json +1 -1
  16. package/skills/vp-audit/SKILL.md +21 -21
  17. package/skills/vp-auto/SKILL.md +21 -7
  18. package/skills/vp-brainstorm/SKILL.md +46 -35
  19. package/skills/vp-crystallize/SKILL.md +37 -25
  20. package/skills/vp-debug/SKILL.md +2 -2
  21. package/skills/vp-docs/SKILL.md +7 -7
  22. package/skills/vp-evolve/SKILL.md +25 -12
  23. package/skills/vp-info/SKILL.md +23 -23
  24. package/skills/vp-pause/SKILL.md +5 -5
  25. package/skills/vp-request/SKILL.md +12 -12
  26. package/skills/vp-resume/SKILL.md +4 -4
  27. package/skills/vp-rollback/SKILL.md +3 -3
  28. package/skills/vp-status/SKILL.md +4 -4
  29. package/skills/vp-task/SKILL.md +3 -3
  30. package/skills/vp-ui-components/SKILL.md +12 -12
  31. package/skills/vp-update/SKILL.md +17 -17
  32. package/templates/architect/apis.html +159 -0
  33. package/templates/architect/architect-actions.js +217 -0
  34. package/templates/architect/architecture.html +160 -0
  35. package/templates/architect/data-flow.html +109 -0
  36. package/templates/architect/decisions.html +96 -0
  37. package/templates/architect/deployment.html +184 -0
  38. package/templates/architect/erd.html +154 -0
  39. package/templates/architect/feature-map.html +113 -0
  40. package/templates/architect/index.html +108 -0
  41. package/templates/architect/sequence-diagram.html +133 -0
  42. package/templates/architect/style.css +365 -0
  43. package/templates/architect/tech-notes.html +89 -0
  44. package/templates/architect/tech-stack.html +114 -0
  45. package/templates/architect/user-use-cases.html +154 -0
  46. package/templates/project/AI-GUIDE.md +53 -54
  47. package/templates/project/PROJECT-CONTEXT.md +7 -11
  48. package/templates/project/README.md +43 -0
  49. package/templates/project/ROADMAP.md +1 -27
  50. package/workflows/audit.md +3 -3
  51. package/workflows/autonomous.md +38 -5
  52. package/workflows/brainstorm.md +575 -191
  53. package/workflows/crystallize.md +168 -58
  54. package/workflows/debug.md +9 -9
  55. package/workflows/documentation.md +5 -5
  56. package/workflows/evolve.md +44 -12
  57. package/workflows/pause-work.md +2 -2
  58. package/workflows/request.md +8 -8
  59. package/workflows/resume-work.md +1 -1
  60. package/workflows/rollback.md +1 -1
@@ -0,0 +1,154 @@
1
+ <!DOCTYPE html>
2
+ <html lang="vi">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>User Use Cases — {project}</title>
7
+ <link rel="stylesheet" href="style.css" />
8
+ </head>
9
+ <body data-arch-slug="use-cases">
10
+ <nav class="nav-sidebar">
11
+ <div class="logo">
12
+ <span>ViePilot Architect Mode</span>
13
+ <strong>{project}</strong>
14
+ </div>
15
+ <ul>
16
+ <li><a href="index.html">🏠 Hub</a></li>
17
+ <li><a href="architecture.html">🏗️ Architecture</a></li>
18
+ <li><a href="sequence-diagram.html">🎬 Sequence</a></li>
19
+ <li><a href="data-flow.html">🔄 Data Flow</a></li>
20
+ <li><a href="decisions.html">📋 Decisions (ADR)</a></li>
21
+ <li><a href="tech-stack.html">🛠️ Tech Stack</a></li>
22
+ <li><a href="tech-notes.html">📝 Tech Notes</a></li>
23
+ <li><a href="feature-map.html">🗺️ Feature Map</a></li>
24
+ <li><a href="erd.html">🗄️ ERD</a></li>
25
+ <li><a href="user-use-cases.html" class="active">👤 Use Cases</a></li>
26
+ <li><a href="deployment.html">🚀 Deployment</a></li>
27
+ <li><a href="apis.html">🔌 APIs</a></li>
28
+ </ul>
29
+ </nav>
30
+
31
+ <main class="main-content">
32
+ <div class="page-header">
33
+ <div>
34
+ <h1>👤 User Use Cases</h1>
35
+ <p>Actors, goals, and interaction scenarios</p>
36
+ </div>
37
+ <button id="theme-toggle" onclick="toggleTheme()">☀️ Light</button>
38
+ </div>
39
+
40
+ <div class="card" data-arch-id="UC-DIAG1" data-arch-title="Actor / Use Case Diagram">
41
+ <h2>Actor / Use Case Diagram</h2>
42
+ <div class="mermaid-wrap">
43
+ <div class="mermaid">
44
+ flowchart LR
45
+ subgraph Actors
46
+ U[👤 User]
47
+ A[🔑 Admin]
48
+ G[🌐 Guest]
49
+ end
50
+
51
+ subgraph UseCases["Use Cases"]
52
+ UC1([Register / Login])
53
+ UC2([Browse Products])
54
+ UC3([Place Order])
55
+ UC4([Track Order])
56
+ UC5([Manage Products])
57
+ UC6([View Reports])
58
+ end
59
+
60
+ G --> UC1
61
+ G --> UC2
62
+ U --> UC2
63
+ U --> UC3
64
+ U --> UC4
65
+ A --> UC5
66
+ A --> UC6
67
+ </div>
68
+ </div>
69
+ </div>
70
+
71
+ <div class="card">
72
+ <h2>Use Case List</h2>
73
+ <table>
74
+ <thead>
75
+ <tr>
76
+ <th>ID</th>
77
+ <th>Use Case</th>
78
+ <th>Actor(s)</th>
79
+ <th>Precondition</th>
80
+ <th>Main Flow</th>
81
+ <th>Phase</th>
82
+ </tr>
83
+ </thead>
84
+ <tbody>
85
+ <tr data-arch-id="UC1">
86
+ <td>UC-001</td>
87
+ <td>{Use case name}</td>
88
+ <td>{Actor}</td>
89
+ <td>{Precondition}</td>
90
+ <td>{Brief main flow}</td>
91
+ <td><span class="badge badge-phase-1">Phase 1</span></td>
92
+ </tr>
93
+ <tr data-arch-id="UC2">
94
+ <td>UC-002</td>
95
+ <td>{Use case name}</td>
96
+ <td>{Actor}</td>
97
+ <td>{Precondition}</td>
98
+ <td>{Brief main flow}</td>
99
+ <td><span class="badge badge-phase-2">Phase 2</span></td>
100
+ </tr>
101
+ <tr data-arch-id="UC3">
102
+ <td>UC-003</td>
103
+ <td>{Use case name}</td>
104
+ <td>{Actor}</td>
105
+ <td>{Precondition}</td>
106
+ <td>{Brief main flow}</td>
107
+ <td><span class="badge badge-phase-3">Phase 3</span></td>
108
+ </tr>
109
+ </tbody>
110
+ </table>
111
+ </div>
112
+
113
+ <div class="card">
114
+ <h2>Actor Summary</h2>
115
+ <table>
116
+ <thead>
117
+ <tr>
118
+ <th>Actor</th>
119
+ <th>Role</th>
120
+ <th>Goals</th>
121
+ <th>Notes</th>
122
+ </tr>
123
+ </thead>
124
+ <tbody>
125
+ <tr data-arch-id="UC4">
126
+ <td><strong>{Actor 1}</strong></td>
127
+ <td>{Role description}</td>
128
+ <td>{Primary goals}</td>
129
+ <td>{notes}</td>
130
+ </tr>
131
+ <tr data-arch-id="UC5">
132
+ <td><strong>{Actor 2}</strong></td>
133
+ <td>{Role description}</td>
134
+ <td>{Primary goals}</td>
135
+ <td>{notes}</td>
136
+ </tr>
137
+ </tbody>
138
+ </table>
139
+ </div>
140
+ </main>
141
+
142
+ <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
143
+ <script>
144
+ mermaid.initialize({ startOnLoad: true, theme: 'dark' });
145
+ function toggleTheme() {
146
+ const html = document.documentElement;
147
+ const isLight = html.classList.toggle('light');
148
+ document.getElementById('theme-toggle').textContent = isLight ? '🌙 Dark' : '☀️ Light';
149
+ mermaid.initialize({ startOnLoad: false, theme: isLight ? 'default' : 'dark' });
150
+ }
151
+ </script>
152
+ <script src="architect-actions.js"></script>
153
+ </body>
154
+ </html>
@@ -1,77 +1,76 @@
1
1
  # {{PROJECT_NAME}} - AI Navigation Guide
2
2
 
3
- > **Đọc file này TRƯỚC KHI làm bất kỳ task nào**
4
- > File này giúp bạn tìm đúng context không cần load tất cả
3
+ > **Read this file BEFORE starting any task**
4
+ > This file helps you find the right context without loading everything
5
5
 
6
6
  ## Quick Lookup
7
7
 
8
- | Tôi cần... | Đọc file | Section |
9
- |------------|----------|---------|
10
- | Hiểu project làm | `PROJECT-CONTEXT.md` | `<domain_knowledge>` |
11
- | Tầm nhìn & scope theo pha (MVP / Post-MVP / Future) | `PROJECT-CONTEXT.md` | `<product_vision>` |
12
- | Roadmap sau MVP & horizon (không chỉ task hiện tại) | `ROADMAP.md` | Sections Post-MVP / Future / product horizon |
13
- | Biết tech stack | `ARCHITECTURE.md` | `## Technology Decisions` |
14
- | Xem service nào làm | `ARCHITECTURE.md` | `## Services` |
15
- | Biết đang phase nào | `TRACKER.md` | `## Current State` |
16
- | Xem task tiếp theo | `ROADMAP.md` | Tìm phase đang `In Progress` |
8
+ | I need to... | Read file | Section |
9
+ |--------------|-----------|---------|
10
+ | Understand what the project does | `PROJECT-CONTEXT.md` | `<domain_knowledge>` |
11
+ | Vision & phased scope | `PROJECT-CONTEXT.md` | `<product_vision>` |
12
+ | Roadmap phases (beyond current task) | `ROADMAP.md` | Phases after current phase |
13
+ | Know the tech stack | `ARCHITECTURE.md` | `## Technology Decisions` |
14
+ | See what each service does | `ARCHITECTURE.md` | `## Services` |
15
+ | Know current phase | `TRACKER.md` | `## Current State` |
16
+ | See next task | `ROADMAP.md` | Find phase marked `In Progress` |
17
17
  | Coding conventions | `SYSTEM-RULES.md` | `<coding_rules>` |
18
- | Những KHÔNG được làm | `SYSTEM-RULES.md` | `<do_not>` |
18
+ | What NOT to do | `SYSTEM-RULES.md` | `<do_not>` |
19
19
  | Database schema | `schemas/database-schema.sql` | - |
20
20
  | API contracts | `schemas/api-contracts.yaml` | - |
21
- | Decisions đã quyết định | `TRACKER.md` | `## Decision Log` |
22
- | Resume công việc dở | `HANDOFF.json` | - |
21
+ | Past decisions | `TRACKER.md` | `## Decision Log` |
22
+ | Resume in-progress work | `HANDOFF.json` | - |
23
23
  | Package structure | `PROJECT-META.md` | `## Package Structure` |
24
24
  | File headers | `PROJECT-META.md` | `## File Headers` |
25
25
 
26
26
  ## Context Loading Strategy
27
27
 
28
- ### Minimal Context (cho quick tasks)
28
+ ### Minimal Context (for quick tasks)
29
29
  ```
30
- Chỉ đọc:
31
- 1. AI-GUIDE.md (file này)
30
+ Read only:
31
+ 1. AI-GUIDE.md (this file)
32
32
  2. TRACKER.md → Current State
33
- 3. File cụ thể liên quan đến task
33
+ 3. The specific file related to the task
34
34
  ```
35
35
 
36
- ### Standard Context (cho coding tasks)
36
+ ### Standard Context (for coding tasks)
37
37
  ```
38
- Đọc theo thứ tự:
39
- 1. AI-GUIDE.md (file này)
40
- 2. TRACKER.md → biết đang đâu
41
- 3. PROJECT-CONTEXT.md → <product_vision> + phased scope (đọc TRƯỚC khi khóa thiết kế chi tiết)
42
- 4. ROADMAP.md → skim Post-MVP / Future / horizon, rồi task hiện tại
38
+ Read in order:
39
+ 1. AI-GUIDE.md (this file)
40
+ 2. TRACKER.md → know where you are
41
+ 3. PROJECT-CONTEXT.md → <product_vision> + phased scope (read BEFORE locking detailed design)
42
+ 4. ROADMAP.md → skim phases after current phase, then current task
43
43
  5. SYSTEM-RULES.md → coding rules
44
- 6. Schema file nếu cần
44
+ 6. Schema file if needed
45
45
  ```
46
46
 
47
- ### Full Context (cho architecture decisions)
47
+ ### Full Context (for architecture decisions)
48
48
  ```
49
- Đọc theo thứ tự:
49
+ Read in order:
50
50
  1. AI-GUIDE.md + TRACKER.md
51
- 2. PROJECT-CONTEXT.md → domain + <product_vision> (đầy đủ)
52
- 3. ROADMAP.md → MVP phases + Post-MVP / horizon blocks
51
+ 2. PROJECT-CONTEXT.md → domain + <product_vision> (complete)
52
+ 3. ROADMAP.md → phases + tasks
53
53
  4. ARCHITECTURE.md
54
54
  5. SYSTEM-RULES.md
55
- 6. Brainstorm session gốc (nếu cần rationale chi tiết, đặc biệt cho deferred capabilities)
55
+ 6. Original brainstorm session (if detailed rationale needed)
56
56
  ```
57
57
 
58
- ### Product vision & roadmap horizon (trước khi “lock” architecture)
58
+ ### Product vision & phase planning (before "locking" architecture)
59
59
 
60
- - **Không** để post-MVP chỉ tồn tại trong file brainstorm: sau `/vp-crystallize`, horizon phải nằm trong `ROADMAP.md` vision theo pha trong `PROJECT-CONTEXT.md`.
61
- - Trước task implementation sâu hoặc quyết định kiến trúc lớn: đọc `<product_vision>` và các section horizon trong `ROADMAP.md` **cùng lúc** với task hiện tại — tránh code MVP làm bế tắc bản sau hoặc bỏ sót ràng buộc đã thống nhất.
60
+ - Before deep implementation tasks or major architecture decisions: read `<product_vision>` and phase goals in `ROADMAP.md` **together** with the current task.
62
61
 
63
62
  ## File Relationships
64
63
 
65
64
  ```
66
- AI-GUIDE.md (đọc đầu tiên)
65
+ AI-GUIDE.md (read first)
67
66
 
68
- ├── TRACKER.md (state hiện tại)
67
+ ├── TRACKER.md (current state)
69
68
  │ └── points to → current phase in ROADMAP.md
70
69
 
71
70
  ├── PROJECT-CONTEXT.md (domain + <product_vision> / phased scope)
72
- │ └── read early with → ROADMAP.md horizon blocks
71
+ │ └── read early with → ROADMAP.md phases
73
72
 
74
- ├── ROADMAP.md (what to do + Post-MVP / Future)
73
+ ├── ROADMAP.md (phases + tasks)
75
74
  │ └── tasks reference → schemas/
76
75
 
77
76
  ├── SYSTEM-RULES.md (how to code)
@@ -80,7 +79,7 @@ AI-GUIDE.md (đọc đầu tiên)
80
79
  ├── ARCHITECTURE.md (system design)
81
80
  │ └── decisions from → PROJECT-CONTEXT.md
82
81
 
83
- └── docs/brainstorm/ (session rationale; horizon đã mirror vào ROADMAP + PROJECT-CONTEXT)
82
+ └── docs/brainstorm/ (session rationale)
84
83
  ```
85
84
 
86
85
  ## When Creating New Files
@@ -103,24 +102,24 @@ AI-GUIDE.md (đọc đầu tiên)
103
102
 
104
103
  Full guidelines: `SYSTEM-RULES.md#comment_standards`
105
104
 
106
- ## Khi Nào Cần Đọc Lại
105
+ ## When to Re-read
107
106
 
108
- | Trigger | Cần refresh |
109
- |---------|-------------|
110
- | Bắt đầu session mới | `TRACKER.md`, `HANDOFF.json` |
111
- | Chuyển phase | `ROADMAP.md` section của phase mới |
112
- | Gặp lỗi architecture | `ARCHITECTURE.md`, `SYSTEM-RULES.md` |
113
- | Không business rule | `PROJECT-CONTEXT.md` |
114
- | Cần quyết định mới | `TRACKER.md` → Decision Log |
107
+ | Trigger | Refresh |
108
+ |---------|---------|
109
+ | Starting a new session | `TRACKER.md`, `HANDOFF.json` |
110
+ | Switching phases | `ROADMAP.md` section for the new phase |
111
+ | Encountering architecture issues | `ARCHITECTURE.md`, `SYSTEM-RULES.md` |
112
+ | Unclear business rule | `PROJECT-CONTEXT.md` |
113
+ | Need to make a new decision | `TRACKER.md` → Decision Log |
115
114
 
116
115
  ## Commands Reference
117
116
 
118
- | Command | Dùng khi |
119
- |---------|----------|
120
- | `/vp-status` | Xem progress nhanh |
121
- | `/vp-auto` | Chạy autonomous |
122
- | `/vp-pause` | Dừng, lưu state |
123
- | `/vp-resume` | Tiếp tục từ pause |
124
- | `/vp-evolve` | Thêm features/milestone mới |
117
+ | Command | When to use |
118
+ |---------|-------------|
119
+ | `/vp-status` | Quick progress view |
120
+ | `/vp-auto` | Run autonomous execution |
121
+ | `/vp-pause` | Stop and save state |
122
+ | `/vp-resume` | Continue from pause |
123
+ | `/vp-evolve` | Add features / start new milestone |
125
124
  | `/vp-docs` | Generate documentation |
126
- | `/vp-task` | Quản task thủ công |
125
+ | `/vp-task` | Manage tasks manually |
@@ -23,19 +23,15 @@
23
23
  <product_vision>
24
24
  ## Product vision & phased scope
25
25
 
26
- > Aligns with **`ROADMAP.md` → Post-MVP / Product horizon** and brainstorm tier tags `(MVP)` / `(Post-MVP)` / `(Future)`.
26
+ ### Project scope
27
27
 
28
- ### MVP boundary (ship first)
28
+ {{PROJECT_SCOPE}}
29
29
 
30
- {{MVP_BOUNDARY}}
31
-
32
- ### Post-MVP themes
33
-
34
- {{POST_MVP_VISION}}
35
-
36
- ### Future / exploratory north star
37
-
38
- {{FUTURE_VISION}}
30
+ ### Phase overview
31
+ | Phase | Goals | Key features |
32
+ |-------|-------|--------------|
33
+ | Phase 1 | {{PHASE_1_GOAL}} | {{PHASE_1_FEATURES}} |
34
+ | Phase 2 | {{PHASE_2_GOAL}} | {{PHASE_2_FEATURES}} |
39
35
 
40
36
  ### Anti-goals & explicit non-scope
41
37
 
@@ -14,11 +14,32 @@
14
14
 
15
15
  | Chỉ số / Metric | Giá trị / Value |
16
16
  |-----------------|-----------------|
17
+ | Total LOC | **{{TOTAL_LOC}}** (nguồn chính; không gồm `node_modules`, `vendor`) |
17
18
  | Version | {{VERSION}} |
18
19
  | Phases | {{PHASE_COUNT}} |
19
20
  | Status | {{STATUS}} |
20
21
  | Started | {{INCEPTION_YEAR}} |
21
22
 
23
+ > Metric `Total LOC` có thể được refresh tự động bằng `npm run readme:sync` (dùng `cloc`; nếu thiếu `cloc` script sẽ fallback an toàn).
24
+
25
+ ### Phân bổ / Breakdown
26
+
27
+ | Thành phần / Component | LOC | Số lượng / Count | Mô tả / Description |
28
+ |------------------------|-----|------------------|---------------------|
29
+ {{BREAKDOWN_TABLE}}
30
+
31
+ ---
32
+
33
+ ## Độ hoàn thiện / Completion Status
34
+
35
+ ```
36
+ Tổng thể / Overall: {{COMPLETION_BAR}} {{COMPLETION_PERCENT}}%
37
+ ```
38
+
39
+ | Lĩnh vực / Area | Trạng thái | Chi tiết |
40
+ |-----------------|------------|----------|
41
+ {{COMPLETION_TABLE}}
42
+
22
43
  ---
23
44
 
24
45
  ## Tính năng / Features
@@ -35,6 +56,14 @@
35
56
 
36
57
  ---
37
58
 
59
+ ## Standards / Tiêu chuẩn
60
+
61
+ | Standard | Specification | Usage |
62
+ |----------|---------------|-------|
63
+ {{STANDARDS_TABLE}}
64
+
65
+ ---
66
+
38
67
  ## Bắt đầu nhanh / Quick Start
39
68
 
40
69
  ### Prerequisites / Yêu cầu
@@ -70,6 +99,12 @@ make help # Show all commands
70
99
 
71
100
  ---
72
101
 
102
+ ## Sử dụng / Usage
103
+
104
+ {{USAGE_SECTION}}
105
+
106
+ ---
107
+
73
108
  ## Cấu trúc dự án / Project Structure
74
109
 
75
110
  ```
@@ -161,6 +196,14 @@ Xem [CONTRIBUTING.md](CONTRIBUTING.md) để biết chi tiết.
161
196
 
162
197
  ---
163
198
 
199
+ ## Bảo mật / Security
200
+
201
+ Để báo cáo lỗ hổng bảo mật, vui lòng xem [SECURITY.md](SECURITY.md).
202
+
203
+ To report security vulnerabilities, please see [SECURITY.md](SECURITY.md).
204
+
205
+ ---
206
+
164
207
  ## Team / Đội ngũ
165
208
 
166
209
  ### Maintainers
@@ -51,33 +51,7 @@
51
51
 
52
52
  ---
53
53
 
54
- ## Post-MVP / Product horizon
55
-
56
- > **Mandatory block (crystallize):** Populate from brainstorm **`## Product horizon`**, or state **single-release** explicitly. Tier tags: `(MVP)` ship first; `(Post-MVP)` after first release; `(Future)` exploratory.
57
-
58
- ### Horizon mode
59
-
60
- {{HORIZON_MODE_LINE}}
61
-
62
- ### Post-MVP themes (epic-level)
63
-
64
- {{POST_MVP_EPICS}}
65
-
66
- ### Future / exploratory
67
-
68
- {{FUTURE_EPICS}}
69
-
70
- ### Deferred capabilities (from MVP)
71
-
72
- {{DEFERRED_CAPABILITIES}}
73
-
74
- ### Non-goals for MVP (reference)
75
-
76
- {{MVP_NON_GOALS_ROADMAP}}
77
-
78
- ---
79
-
80
54
  ## Notes
81
55
  - Created: {{DATE}}
82
56
  - Last Updated: {{DATE}}
83
- - **Horizon:** Keep Post-MVP / Future content in sync with `PROJECT-CONTEXT.md` *Product vision & phased scope* after crystallize.
57
+ - **Phases:** Keep phase status rows up to date after each phase completes.
@@ -1,7 +1,7 @@
1
1
  <purpose>
2
- Audit ViePilot project state documentation để phát hiện drift.
3
- Hoạt động trên bất kỳ project nào đang dùng ViePilot.
4
- Auto-detect nếu đang chạy trong viepilot framework repo để thêm framework-specific checks.
2
+ Audit ViePilot project state and documentation to detect drift.
3
+ Works on any project using ViePilot.
4
+ Auto-detects if running inside the viepilot framework repo to enable framework-specific checks.
5
5
  </purpose>
6
6
 
7
7
  ## ViePilot Skill Scope Policy (BUG-004)
@@ -1,6 +1,6 @@
1
1
  <purpose>
2
- Autonomous execution của project phases. Cho mỗi phase: analyze → execute tasks → verify → iterate.
3
- Pauses at control points cho user decisions.
2
+ Autonomous execution of project phases. For each phase: analyze → execute tasks → verify → iterate.
3
+ Pauses at control points for user decisions.
4
4
  </purpose>
5
5
 
6
6
  ## ViePilot Skill Scope Policy (BUG-004)
@@ -11,7 +11,7 @@ Pauses at control points cho user decisions.
11
11
 
12
12
  ## Implementation entry (cross-skill)
13
13
 
14
- - **`/vp-auto`** + workflow này **lane mặc định** để **implement** work đã **phase/task plan** ( doc-first **BUG-001**). **`/vp-request`** **`/vp-evolve`** **không** thay thế bước này trừ user explicit overridexem **Implementation routing guard** trong `workflows/request.md` `workflows/evolve.md`.
14
+ - **`/vp-auto`** + this workflow is the **default lane** for **implementing** work that already has a **phase/task plan** (and doc-first **BUG-001**). **`/vp-request`** and **`/vp-evolve`** do **not** replace this step unless the user explicitly overridessee **Implementation routing guard** in `workflows/request.md` and `workflows/evolve.md`.
15
15
 
16
16
 
17
17
  <process>
@@ -20,8 +20,8 @@ Pauses at control points cho user decisions.
20
20
  ## 1. Initialize
21
21
 
22
22
  Parse `{{VP_ARGS}}` for flags:
23
- - `--from N` : Start từ phase N
24
- - `--phase N` : Chỉ chạy phase N
23
+ - `--from N` : Start from phase N
24
+ - `--phase N` : Run only phase N
25
25
  - `--fast` : Skip optional verifications
26
26
  - `--dry-run` : Plan only
27
27
 
@@ -32,6 +32,10 @@ cat .viepilot/TRACKER.md
32
32
  cat .viepilot/ROADMAP.md
33
33
  ```
34
34
 
35
+ ### load_language_config
36
+ Read `~/.viepilot/config.json` → `COMMUNICATION_LANG` (default: `en`).
37
+ Use `COMMUNICATION_LANG` for all banners, control-point messages, and user-facing output in this session.
38
+
35
39
  Display startup banner:
36
40
  ```
37
41
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -101,6 +105,35 @@ read:
101
105
  - context_required files from task file
102
106
  ```
103
107
 
108
+ #### ⛔ Preflight: Task Paths Validation (BUG-009)
109
+
110
+ **Before any implementation**, read the `## Paths` block of the task file and validate each listed path:
111
+
112
+ ```
113
+ FOR EACH path in ## Paths:
114
+ IF path starts with "~/" OR starts with "/" (absolute):
115
+ → STOP. Do NOT execute this task.
116
+ → Output:
117
+
118
+ ⛔ TASK PATH ERROR (BUG-009)
119
+ Task {phase}.{task} contains an absolute or external path:
120
+ "{offending_path}"
121
+
122
+ Expected: a repo-relative path (e.g., workflows/foo.md, skills/vp-bar/SKILL.md)
123
+
124
+ Fix the task file before continuing:
125
+ .viepilot/phases/{phase-dir}/tasks/{phase}.{task}.md
126
+
127
+ Replace: {offending_path}
128
+ With the repo-relative equivalent (e.g., without ~/.claude/viepilot/ prefix).
129
+
130
+ ELSE:
131
+ → Pass. Continue with task execution.
132
+ ```
133
+
134
+ This check fires on `~/`, `~\`, and any path starting with `/`.
135
+ It does NOT fire on paths inside code block content within the task (only the `## Paths` header block is validated).
136
+
104
137
  ### ViePilot Skill Scope Policy (BUG-004 baseline)
105
138
  - **Default mode**: only reference/route skills in the ViePilot namespace (`vp-*`).
106
139
  - **External skills** (`non vp-*`) are out of scope by default and must not be suggested implicitly.