viepilot 1.9.4 → 1.9.7
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 +22 -0
- package/README.md +6 -6
- package/docs/skills-reference.md +2 -0
- package/package.json +1 -1
- package/skills/vp-audit/SKILL.md +2 -1
- package/skills/vp-crystallize/SKILL.md +4 -1
- package/templates/project/ARCHITECTURE.md +18 -0
- package/workflows/crystallize.md +22 -0
package/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
19
19
|
|
|
20
20
|
- None yet.
|
|
21
21
|
|
|
22
|
+
## [1.9.7] - 2026-04-02
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- **ENH-024**: Fix chuỗi truyền tải ui-direction bị đứt qua crystallize → vp-auto:
|
|
27
|
+
- `crystallize.md` Step 1A: đổi trigger thành hard check mandatory khi `.viepilot/ui-direction/` exists (không còn soft heuristic "if indicates").
|
|
28
|
+
- `crystallize.md` Step 10: thêm "UI Direction context injection" — inject `context_required` trỏ vào `notes.md` + `style.css` + `pages/*.html` vào task files cho UI tasks.
|
|
29
|
+
- `autonomous.md` Step 3a: thêm "UI Direction safety check" — warn + auto-load latest session nếu UI task thiếu ui-direction trong context_required.
|
|
30
|
+
- `templates/project/AI-GUIDE.md`: thêm 2 rows ui-direction vào Quick Lookup table + footnote hướng dẫn resolve `{session}`.
|
|
31
|
+
|
|
32
|
+
## [1.9.6] - 2026-04-02
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- **ENH-023**: `workflows/autonomous.md` Step 3 Handle Result PASS — thêm `Update ROADMAP.md: sync phase progress % và task count nếu phase status/progress thay đổi` vào danh sách update sau `CHANGELOG.md`. Trước đây ROADMAP.md chỉ được sync tại phase-complete (Step 5a), bỏ sót task-level progress.
|
|
37
|
+
|
|
38
|
+
## [1.9.5] - 2026-04-02
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- **M1.29 / Phase 35 (ENH-022)** — Crystallize **Step 4** ghi thêm **`.viepilot/architecture/<diagram>.mermaid`** (raw Mermaid, mirror khối fenced trong `ARCHITECTURE.md`); bảng tên canonical + policy trong `workflows/crystallize.md`; template `templates/project/ARCHITECTURE.md` có **Diagram source files** và dòng path từng section; **vp-crystallize** 0.5.2, **vp-audit** 0.3.2; `docs/skills-reference.md`; `tests/unit/vp-enh022-crystallize-architecture-files-contracts.test.js` (**308** tests).
|
|
43
|
+
|
|
22
44
|
## [1.9.4] - 2026-04-02
|
|
23
45
|
|
|
24
46
|
### Fixed
|
package/README.md
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
**Autonomous Vibe Coding Framework / Bộ khung phát triển tự động có kiểm soát**
|
|
4
4
|
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](#skills-reference)
|
|
8
8
|
[](#workflows)
|
|
9
9
|
[](#templates)
|
|
10
|
-
[](tests/)
|
|
11
11
|
[](https://github.com/0-CODE/viepilot)
|
|
12
12
|
|
|
13
|
-
**Versioning:** Shield **1.9.
|
|
13
|
+
**Versioning:** Shield **1.9.5** is the **ViePilot framework SemVer** tracked in `.viepilot/TRACKER.md` and `CHANGELOG.md`. The npm `package.json` field `version` (**1.9.5**) is the Node package identifier for this repo; use the framework version for milestone releases and docs.
|
|
14
14
|
|
|
15
15
|
ViePilot là bộ skill framework cho phép AI assistant (Claude, GPT, etc.) phát triển dự án một cách **tự động**, **có kiểm soát**, và **có thể khôi phục**. Thiết kế theo các tiêu chuẩn chuyên nghiệp: Semantic Versioning, Conventional Commits, Keep a Changelog.
|
|
16
16
|
|
|
@@ -28,12 +28,12 @@ Nếu ViePilot giúp ích cho bạn, bạn có thể ủng hộ một ly cafe:
|
|
|
28
28
|
|
|
29
29
|
| Chỉ số / Metric | Giá trị / Value |
|
|
30
30
|
|-----------------|-----------------|
|
|
31
|
-
| Total LOC | **~27,
|
|
31
|
+
| Total LOC | **~27,991+** (`.md`, `.js`, `.cjs`, `.yml`, `.json`, `.sh`; không gồm `node_modules`) |
|
|
32
32
|
| Skills | **16** |
|
|
33
33
|
| Workflows | **12** |
|
|
34
34
|
| Templates | **17** (Project: 12, Phase: 5) |
|
|
35
35
|
| CLI Commands | **18** (`vp-tools` 17 subcommands + `viepilot` installer) |
|
|
36
|
-
| Tests | **
|
|
36
|
+
| Tests | **308** (16 suites: unit + integration + AI compat + README metrics + UI direction + ENH contracts + scope policy + FEAT-009 + FEAT-010 + ENH-021 routing + FEAT-001 Claude Code + ENH-022 crystallize architecture files + viepilot-info/update/install) |
|
|
37
37
|
| ViePilot phases (local `.viepilot`) | **34** phase cycles — **M1.29** FEAT-001 (**v1.9.3** doc); patch **v1.9.4** (Claude installer); **M1.28** FEAT-010 (**v1.9.1**); **v1.9.2** (ENH-019~021); **M1.27** (**v1.9.0** FEAT-009); xem `CHANGELOG.md` |
|
|
38
38
|
| Standards | 5 (SemVer, Commits, Changelog, Comments, Contributors) |
|
|
39
39
|
|
|
@@ -393,7 +393,7 @@ viepilot/
|
|
|
393
393
|
├── bin/ # CLI tools
|
|
394
394
|
│ └── vp-tools.cjs # 17 subcommands; uses ../lib/cli-shared.cjs, viepilot-info/update.cjs
|
|
395
395
|
│
|
|
396
|
-
├── tests/ # Test suite (
|
|
396
|
+
├── tests/ # Test suite (308 tests)
|
|
397
397
|
│ ├── unit/ # Unit tests
|
|
398
398
|
│ │ ├── validators.test.js # CLI subprocess + in-process coverage tests
|
|
399
399
|
│ │ └── ai-provider-compat.test.js # 142 AI compat tests
|
package/docs/skills-reference.md
CHANGED
|
@@ -78,6 +78,7 @@ Complete reference for all ViePilot skills.
|
|
|
78
78
|
├── AI-GUIDE.md
|
|
79
79
|
├── PROJECT-META.md
|
|
80
80
|
├── ARCHITECTURE.md
|
|
81
|
+
├── architecture/ (*.mermaid diagram sidecars — ENH-022, mirror fenced blocks)
|
|
81
82
|
├── PROJECT-CONTEXT.md
|
|
82
83
|
├── SYSTEM-RULES.md
|
|
83
84
|
├── ROADMAP.md
|
|
@@ -427,6 +428,7 @@ CHANGELOG.md (updated)
|
|
|
427
428
|
4. **CLI coverage** — mỗi command có documentation không
|
|
428
429
|
5. **docs/ sync** — docs/ có match với thực tế (skills count, workflows count) không
|
|
429
430
|
6. **ROOT drift** — README.md badges, ROADMAP.md status có up-to-date không
|
|
431
|
+
7. **ENH-022 (architecture sidecars)** — khi matrix có Mermaid thực tế, gợi ý kiểm `.viepilot/architecture/<type>.mermaid` khớp `ARCHITECTURE.md`
|
|
430
432
|
|
|
431
433
|
### Output
|
|
432
434
|
- Audit report với danh sách gaps
|
package/package.json
CHANGED
package/skills/vp-audit/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vp-audit
|
|
3
3
|
description: "Audit state, docs drift, and stack best-practice compliance — works on any project"
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.2
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<cursor_skill_adapter>
|
|
@@ -49,6 +49,7 @@ Auto-detect nếu đang chạy trong viepilot framework repo để thêm framewo
|
|
|
49
49
|
- `required` diagrams must have Mermaid content
|
|
50
50
|
- `optional` diagrams may be omitted/merged with explicit note
|
|
51
51
|
- `N/A` diagrams must have rationale line
|
|
52
|
+
- **ENH-022 (recommended check):** when a diagram type is `required` (or `optional` with a real Mermaid block) and crystallize policy applies, verify **`.viepilot/architecture/<type>.mermaid`** exists and that **Diagram source** lines in `ARCHITECTURE.md` match; for `N/A`, sidecar file should be absent (no empty stubs)
|
|
52
53
|
|
|
53
54
|
**Tier 3 — Stack Best Practices + Code Quality (mọi project, theo stack detect được):**
|
|
54
55
|
- Detect stacks liên quan từ context/project manifests
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vp-crystallize
|
|
3
3
|
description: "Chuyển đổi brainstorm thành executable artifacts"
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.2
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<cursor_skill_adapter>
|
|
@@ -38,6 +38,7 @@ Chuyển đổi brainstorm sessions thành structured artifacts để AI có th
|
|
|
38
38
|
├── AI-GUIDE.md # Navigation cho AI
|
|
39
39
|
├── PROJECT-META.md # Metadata dự án
|
|
40
40
|
├── ARCHITECTURE.md # System design
|
|
41
|
+
├── architecture/ # ENH-022: *.mermaid sidecars (mirror fenced diagrams)
|
|
41
42
|
├── PROJECT-CONTEXT.md # Domain knowledge + `<product_vision>` (phased scope)
|
|
42
43
|
├── SYSTEM-RULES.md # Coding rules & standards
|
|
43
44
|
├── ROADMAP.md # MVP phases & tasks + **Post-MVP / Product horizon** block (mandatory)
|
|
@@ -143,6 +144,7 @@ Ask user for (confirm proposals từ profile nếu có):
|
|
|
143
144
|
- `required` => include concrete Mermaid block
|
|
144
145
|
- `optional` => allow lightweight/merged representation
|
|
145
146
|
- `N/A` => keep section heading + one-line rationale
|
|
147
|
+
- **ENH-022:** For each diagram type with real Mermaid, write **`.viepilot/architecture/<type>.mermaid`** (raw source) and keep it **identical** to the body inside the fenced ` ```mermaid ` block in `ARCHITECTURE.md`; omit files for `N/A` or no diagram — see `workflows/crystallize.md` Step 4.
|
|
146
148
|
|
|
147
149
|
### Step 5: Generate PROJECT-CONTEXT.md
|
|
148
150
|
- **FEAT-009:** Block `## ViePilot active profile (FEAT-009)` khi có binding
|
|
@@ -206,5 +208,6 @@ Ask user for (confirm proposals từ profile nếu có):
|
|
|
206
208
|
- [ ] Project files created
|
|
207
209
|
- [ ] Git committed
|
|
208
210
|
- [ ] ARCHITECTURE diagram matrix is present and consistent (`required|optional|N/A`)
|
|
211
|
+
- [ ] **ENH-022:** Mỗi diagram Mermaid được sinh có file `.viepilot/architecture/<canonical-name>.mermaid` đồng bộ nội dung với `ARCHITECTURE.md` (không tạo file thừa cho N/A)
|
|
209
212
|
- [ ] **FEAT-009:** Nếu có profile bound — ARCHITECTURE + PROJECT-CONTEXT ghi nguồn profile; nếu không — ghi rõ none / not configured
|
|
210
213
|
</success_criteria>
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
{{SYSTEM_OVERVIEW_DESCRIPTION}}
|
|
6
6
|
|
|
7
|
+
**Diagram source (when Mermaid):** `.viepilot/architecture/system-overview.mermaid`
|
|
8
|
+
|
|
7
9
|
```
|
|
8
10
|
{{SYSTEM_DIAGRAM}}
|
|
9
11
|
```
|
|
@@ -28,6 +30,12 @@
|
|
|
28
30
|
| deployment | {{DIAGRAM_STATUS_DEPLOYMENT}} | {{DIAGRAM_REASON_DEPLOYMENT}} |
|
|
29
31
|
| user-use-case | {{DIAGRAM_STATUS_USER_USE_CASE}} | {{DIAGRAM_REASON_USER_USE_CASE}} |
|
|
30
32
|
|
|
33
|
+
## Diagram source files (ENH-022)
|
|
34
|
+
|
|
35
|
+
When crystallize emits a real Mermaid diagram for a type, it also writes **`.viepilot/architecture/<type>.mermaid`** (raw Mermaid, no markdown fences). Canonical names: `system-overview.mermaid`, `data-flow.mermaid`, `event-flows.mermaid`, `module-dependencies.mermaid`, `deployment.mermaid`, `user-use-case.mermaid`. Types marked **N/A** or without a diagram must **not** get a sidecar file.
|
|
36
|
+
|
|
37
|
+
Under each diagram section below, when applicable, include **Diagram source** pointing at the matching path. The fenced ` ```mermaid ` body in this file must **mirror** the `.mermaid` file line-for-line.
|
|
38
|
+
|
|
31
39
|
## Services
|
|
32
40
|
|
|
33
41
|
{{#SERVICES}}
|
|
@@ -42,12 +50,16 @@
|
|
|
42
50
|
|
|
43
51
|
## Data Flow
|
|
44
52
|
|
|
53
|
+
**Diagram source (when generated):** `.viepilot/architecture/data-flow.mermaid`
|
|
54
|
+
|
|
45
55
|
```
|
|
46
56
|
{{DATA_FLOW_DIAGRAM}}
|
|
47
57
|
```
|
|
48
58
|
|
|
49
59
|
### Event Flows
|
|
50
60
|
|
|
61
|
+
- **Diagram source (when generated):** `.viepilot/architecture/event-flows.mermaid`
|
|
62
|
+
|
|
51
63
|
- **Status**: {{DIAGRAM_STATUS_EVENT_FLOWS}}
|
|
52
64
|
- **Not applicable rationale**: {{DIAGRAM_NA_EVENT_FLOWS}}
|
|
53
65
|
|
|
@@ -58,6 +70,8 @@ flowchart LR
|
|
|
58
70
|
|
|
59
71
|
### Module Dependencies
|
|
60
72
|
|
|
73
|
+
- **Diagram source (when generated):** `.viepilot/architecture/module-dependencies.mermaid`
|
|
74
|
+
|
|
61
75
|
- **Status**: {{DIAGRAM_STATUS_MODULE_DEPENDENCIES}}
|
|
62
76
|
- **Not applicable rationale**: {{DIAGRAM_NA_MODULE_DEPENDENCIES}}
|
|
63
77
|
|
|
@@ -68,6 +82,8 @@ flowchart LR
|
|
|
68
82
|
|
|
69
83
|
### User Use-Case Flows
|
|
70
84
|
|
|
85
|
+
- **Diagram source (when generated):** `.viepilot/architecture/user-use-case.mermaid`
|
|
86
|
+
|
|
71
87
|
- **Status**: {{DIAGRAM_STATUS_USER_USE_CASE}}
|
|
72
88
|
- **Not applicable rationale**: {{DIAGRAM_NA_USER_USE_CASE}}
|
|
73
89
|
|
|
@@ -108,6 +124,8 @@ flowchart TD
|
|
|
108
124
|
|
|
109
125
|
## Deployment Architecture
|
|
110
126
|
|
|
127
|
+
**Diagram source (when generated):** `.viepilot/architecture/deployment.mermaid`
|
|
128
|
+
|
|
111
129
|
```
|
|
112
130
|
{{DEPLOYMENT_DIAGRAM}}
|
|
113
131
|
```
|
package/workflows/crystallize.md
CHANGED
|
@@ -287,6 +287,27 @@ Generation rules:
|
|
|
287
287
|
- `optional`: may be simplified or merged with a nearby section, but keep section heading discoverable
|
|
288
288
|
- `N/A`: keep heading and add one-line rationale (`Not applicable: ...`) so `vp-audit` and `vp-auto` can interpret intent
|
|
289
289
|
- Never default to “all six detailed diagrams”; diagram depth must scale with project complexity from brainstorm.
|
|
290
|
+
|
|
291
|
+
### Architecture diagram source files on disk (ENH-022)
|
|
292
|
+
|
|
293
|
+
When a diagram type is **`required`** or **`optional`** and you emit a **non-empty Mermaid diagram** for it, also persist the **same** diagram body (Mermaid source only — **no** markdown fences) under **`.viepilot/architecture/`** using the canonical filenames below. When status is **`N/A`** or the section has **no** real diagram (placeholder-only / rationale-only), **do not** create the matching `.mermaid` file (and remove a stale file if regenerating a project).
|
|
294
|
+
|
|
295
|
+
| Diagram type (matrix key) | File (under `.viepilot/architecture/`) |
|
|
296
|
+
|---------------------------|----------------------------------------|
|
|
297
|
+
| `system-overview` | `system-overview.mermaid` |
|
|
298
|
+
| `data-flow` | `data-flow.mermaid` |
|
|
299
|
+
| `event-flows` | `event-flows.mermaid` |
|
|
300
|
+
| `module-dependencies` | `module-dependencies.mermaid` |
|
|
301
|
+
| `deployment` | `deployment.mermaid` |
|
|
302
|
+
| `user-use-case` | `user-use-case.mermaid` |
|
|
303
|
+
|
|
304
|
+
**Single source of truth (mirror policy):** the line-for-line Mermaid **inside** the ` ```mermaid ` fence in `.viepilot/ARCHITECTURE.md` must match the contents of the paired `.viepilot/architecture/<name>.mermaid` file. If you update one, update the other in the same crystallize pass.
|
|
305
|
+
|
|
306
|
+
**System overview exception:** if the overview uses a non-Mermaid diagram (e.g. ASCII in a plain ` ``` ` block) and matrix marks `system-overview` as `required`, prefer converting to Mermaid for consistency; if you keep ASCII only, **omit** `system-overview.mermaid` and state that choice in the matrix reason column.
|
|
307
|
+
|
|
308
|
+
**Discoverability:** in `.viepilot/ARCHITECTURE.md`, under each diagram section that has a sidecar file, add a line with bold label **Diagram source** and an inline-code path `.viepilot/architecture/<filename>.mermaid`.
|
|
309
|
+
|
|
310
|
+
Create `.viepilot/architecture/` only when at least one `.mermaid` file will be written (empty directory otherwise is unnecessary).
|
|
290
311
|
</step>
|
|
291
312
|
|
|
292
313
|
<step name="generate_context">
|
|
@@ -480,6 +501,7 @@ Display summary:
|
|
|
480
501
|
│ ├── AI-GUIDE.md
|
|
481
502
|
│ ├── PROJECT-META.md
|
|
482
503
|
│ ├── ARCHITECTURE.md
|
|
504
|
+
│ ├── architecture/ (*.mermaid sidecars when diagrams generated — ENH-022)
|
|
483
505
|
│ ├── PROJECT-CONTEXT.md
|
|
484
506
|
│ ├── SYSTEM-RULES.md
|
|
485
507
|
│ ├── ROADMAP.md ({phase_count} phases)
|