viepilot 2.45.5 → 2.45.6
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 +12 -0
- package/package.json +1 -1
- package/skills/vp-brainstorm/SKILL.md +17 -4
- package/workflows/brainstorm.md +30 -9
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.45.6] - 2026-04-27
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **BUG-026**: `vp-brainstorm` internal session sub-commands (`/save`, `/research-ui`,
|
|
14
|
+
`/review-arch`, `/sync-ui`) conflicted with Claude Code's `/` command prefix —
|
|
15
|
+
typed as slash commands they were intercepted as unknown skill invocations.
|
|
16
|
+
Fix: removed all slash sub-command documentation; replaced with proactive AUQ
|
|
17
|
+
triggers that fire on intent detection (multi-language save signals: "save",
|
|
18
|
+
"done", "xong", "lưu"; UI walkthrough offered on research intent; arch review
|
|
19
|
+
offered on review intent). Consistent behavior across ALL adapters — no
|
|
20
|
+
adapter-specific typing rules (BUG-026)
|
|
21
|
+
|
|
10
22
|
## [2.45.5] - 2026-04-27
|
|
11
23
|
|
|
12
24
|
### Enhanced
|
package/package.json
CHANGED
|
@@ -63,6 +63,19 @@ Prompt user conversationally with numbered list options.
|
|
|
63
63
|
|
|
64
64
|
## C. Tool Usage
|
|
65
65
|
Use Cursor tools: `Shell`, `ReadFile`, `Glob`, `rg`, `ApplyPatch`, `WebSearch`, `WebFetch`, `Subagent`
|
|
66
|
+
|
|
67
|
+
## D. Session Actions — Proactive AUQ Triggers (BUG-026)
|
|
68
|
+
**No slash sub-commands.** All session actions are triggered proactively by the AI via
|
|
69
|
+
`AskUserQuestion` at the right moment — no user typing required.
|
|
70
|
+
|
|
71
|
+
| Action | Trigger condition | AUQ prompt |
|
|
72
|
+
|--------|-------------------|------------|
|
|
73
|
+
| **Save + crystallize handoff** | User signals done: "save", "done", "xong", "lưu", "finished", "ready", "crystallize", or equivalent intent | "Save session and prepare for /vp-crystallize?" |
|
|
74
|
+
| **UX walkthrough** | In UI session AND user mentions "research", "test", "UX", "walkthrough" — OR ≥1 UI signals accumulated | "Run UX walkthrough (3-phase simulate + research + update HTML)?" |
|
|
75
|
+
| **Architecture review** | User asks "review decisions", "check arch", "summarize choices", or equivalent intent | "Generate architecture review summary table?" |
|
|
76
|
+
| **Sync UI → Arch** | After arch update when UI workspace also active | "Sync architecture changes to UI Direction workspace?" |
|
|
77
|
+
|
|
78
|
+
**Why:** In Claude Code terminal, any `/command` is intercepted by the shell as a skill invocation. Using proactive AUQ triggers works identically on ALL adapters — no adapter-specific typing rules needed.
|
|
66
79
|
</cursor_skill_adapter>
|
|
67
80
|
<scope_policy>
|
|
68
81
|
## ViePilot Namespace Guard (BUG-004)
|
|
@@ -90,15 +103,15 @@ Supports:
|
|
|
90
103
|
- UI Direction mode: create/update HTML prototype + notes under `.viepilot/ui-direction/{session-id}/` — supports **multi-page** (`pages/{slug}.html` + hub `index.html`) and the **`## Pages inventory`** hook in `notes.md` when `pages/` exists (FEAT-007)
|
|
91
104
|
- **Phase assignment (ENH-030):** in every session, features/capabilities are assigned directly to Phase 1, Phase 2, Phase 3... — no MVP/Post-MVP/Future tiers. Session file stores assignments in the `## Phases` section.
|
|
92
105
|
- **Project meta intake (FEAT-009):** after **scope locked**, **before** `Completed` / `/end`, if `.viepilot/META.md` (`viepilot_profile_id`) is missing — run **sequential** Q&A with proposals; read/write `~/.viepilot/profile-map.md`; create `~/.viepilot/profiles/<slug>.md` + binding per **`docs/dev/global-profiles.md`**. If a profile is already bound — skip intake by default (ask if change needed).
|
|
93
|
-
- **UX walkthrough (FEAT-010 + ENH-019 + ENH-020):** in **`--ui`** mode,
|
|
94
|
-
- **Background UI extraction (ENH-026 + ENH-060):** automatically detects UI signal keywords in every brainstorm session (no `--ui` flag required). **Auto-suggests itself (ENH-060):** if the initial message contains ≥1 UI keyword, shows a proactive 🎨 banner immediately — mirrors Architect Design Mode's 🏗️ proactive activation. Accumulation starts at ≥1 signal (was ≥3); surfaces for confirmation when topic ends,
|
|
95
|
-
- **Idea → Architecture breakdown loop (ENH-061):** structured 8-step flow from free idea collection → scope lock → **Feature → Coverage mapping** (maps each Phase 1 feature to an architect page + UI screen, outputs `## Coverage` matrix in `notes.md`) → Architect Design → **`arch_to_ui_sync`** reverse sync (surfaces UI implications of architectural decisions;
|
|
106
|
+
- **UX walkthrough (FEAT-010 + ENH-019 + ENH-020):** in **`--ui`** mode, proactively offered via AUQ when user mentions "research", "test UX", "walkthrough" — or when ≥1 UI signals accumulated. Runs 3 phases: simulates **end-user** (with **content stress pass** + **stress recipes by archetype** → **Stress findings**) → **UX designer + web research** → update `index.html` / `pages/*.html` / `style.css` and write **`## UX walkthrough log`** in `notes.md` (sync hub + **Pages inventory** for multi-page).
|
|
107
|
+
- **Background UI extraction (ENH-026 + ENH-060):** automatically detects UI signal keywords in every brainstorm session (no `--ui` flag required). **Auto-suggests itself (ENH-060):** if the initial message contains ≥1 UI keyword, shows a proactive 🎨 banner immediately — mirrors Architect Design Mode's 🏗️ proactive activation. Accumulation starts at ≥1 signal (was ≥3); surfaces for confirmation when topic ends, user signals done, or **≥2 unique signals** accumulated (was ≥5) — does not interrupt the main conversation.
|
|
108
|
+
- **Idea → Architecture breakdown loop (ENH-061):** structured 8-step flow from free idea collection → scope lock → **Feature → Coverage mapping** (maps each Phase 1 feature to an architect page + UI screen, outputs `## Coverage` matrix in `notes.md`) → Architect Design → **`arch_to_ui_sync`** reverse sync (surfaces UI implications of architectural decisions; proactively offered via AUQ after arch updates) → UI Direction → **completeness gate** (CHECK 4: warns if any Phase 1 feature has no coverage in either mode, non-blocking). See `Recommended Breakdown Ordering` section in `workflows/brainstorm.md`.
|
|
96
109
|
- **Unified workspace mode selection (BUG-018):** after scope lock, before any design workspace is created, an AUQ prompt offers: Both / Architect only / UI Direction only / Neither. Architect auto-activate heuristic is deferred until after this selection; suppressed if user selects "Neither" or "UI Direction only".
|
|
97
110
|
- **Admin & Governance coverage (ENH-063):** Topic 6 in brainstorm template; proactive 🔐 heuristic fires on admin/governance keywords; admin coverage gate before /save for multi-user/SaaS/compliance projects; `admin.html` added to Architect workspace when applicable; `notes.md ## admin` YAML exported via crystallize.
|
|
98
111
|
- **Content Management coverage (ENH-065):** Topic 7 in brainstorm template; proactive 🗂️ heuristic fires on content-type/media/SEO keywords; content coverage gate before /save for projects with content layer; `content.html` added to Architect workspace; `notes.md ## content` YAML exported via crystallize.
|
|
99
112
|
- **Admin Entity Management coverage (ENH-068):** Topic 7 in brainstorm template; proactive 🗄️ heuristic fires on CRUD/entity/admin panel keywords; entity management coverage gate before /save for projects with DB entities (cross-references ERD); `entity-mgmt.html` added to Architect workspace; `notes.md ## entity_mgmt` YAML exported via crystallize.
|
|
100
113
|
- **User Data Management coverage (ENH-066):** Topic 9 in brainstorm template; proactive 👤 heuristic fires on user-account/privacy/auth keywords; user data coverage gate before /save for B2C/SaaS/GDPR projects; `user-data.html` added to Architect workspace; `notes.md ## user_data` YAML exported via crystallize.
|
|
101
|
-
- **Architect Design Mode (FEAT-011):** `/vp-brainstorm --architect` or auto-activate when ≥3 components/services detected; generate HTML workspace (architecture, data-flow, decisions, tech-stack, tech-notes, feature-map) with Mermaid diagrams; incremental update per decision;
|
|
114
|
+
- **Architect Design Mode (FEAT-011):** `/vp-brainstorm --architect` or auto-activate when ≥3 components/services detected; generate HTML workspace (architecture, data-flow, decisions, tech-stack, tech-notes, feature-map) with Mermaid diagrams; incremental update per decision; architecture review offered via AUQ when user asks to review decisions; machine-readable `notes.md` YAML schema.
|
|
102
115
|
- **ERD page (ENH-027):** Architect workspace includes `erd.html` — Mermaid `erDiagram`, entity list table, relationship summary; triggered by DB/entity/table/relationship keywords; notes.md `## erd` YAML section exported to ARCHITECTURE.md `## Database Schema` via crystallize Step 1D.
|
|
103
116
|
- **User Use Cases page (ENH-028):** Architect workspace includes `user-use-cases.html` — actor/use-case diagram (Mermaid flowchart), use case table; triggered by user/role/actor/story keywords; notes.md `## use_cases` YAML section exported to PROJECT-CONTEXT.md `## User Stories & Use Cases` via crystallize Step 1D.
|
|
104
117
|
- **C4Context/Sequence/Deployment/APIs pages (ENH-029, 12-page workspace):** Architect workspace expanded to 12 pages — `sequence-diagram.html` (per-scenario sequenceDiagram), `deployment.html` (infra graph + environments + CI/CD pipeline), `apis.html` (endpoint tables with HTTP method badges); page boundary rules table; trigger keywords for sequence/deploy/API; notes.md `## apis` YAML section; deployment+APIs exported to ARCHITECTURE.md via crystallize Step 1D (sequence excluded — scenario docs are not architecture artifacts).
|
package/workflows/brainstorm.md
CHANGED
|
@@ -1178,7 +1178,7 @@ When the user mentions: `user story`, `use case`, `actor`, `persona`, `as a user
|
|
|
1178
1178
|
|
|
1179
1179
|
1. After each **major decision** (tech stack, service boundary, data model) → update the related HTML section + update `notes.md`.
|
|
1180
1180
|
2. When the user **changes a decision** → **incremental update**: only edit the related section; keep all other sections unchanged. Add `data-updated="true"` attribute + class `.updated` CSS highlight (yellow left border + "updated" badge) to the changed element.
|
|
1181
|
-
3.
|
|
1181
|
+
3. **Architecture review trigger** — when user asks to review decisions ("review", "check architecture", "summarize choices", "what did we decide", or equivalent intent): ViePilot proactively outputs a summary table of all `decisions` (from `notes.md`) + list of `open_questions` with status, then asks the user to confirm before continuing. **Claude Code (terminal) — REQUIRED:** use `AskUserQuestion` to offer the review; text fallback on other adapters.
|
|
1182
1182
|
|
|
1183
1183
|
#### Incremental update rule
|
|
1184
1184
|
|
|
@@ -1457,8 +1457,8 @@ This mirrors **Architect Design Mode** which proactively banners when system arc
|
|
|
1457
1457
|
|
|
1458
1458
|
#### Surface triggers (when to ask the user)
|
|
1459
1459
|
Display a confirmation dialogue when any of the following conditions occur:
|
|
1460
|
-
- (a) **Topic ends** — user
|
|
1461
|
-
- (b) **User
|
|
1460
|
+
- (a) **Topic ends** — user says "next", "next topic", or switches subject
|
|
1461
|
+
- (b) **User signals session end** — says "save", "done", "xong", "finished", "ready", "crystallize", "ready for crystallize", or equivalent intent in any language
|
|
1462
1462
|
- (c) **≥2 unique signals accumulated** in the buffer
|
|
1463
1463
|
|
|
1464
1464
|
#### Confirmation dialogue template
|
|
@@ -1490,12 +1490,16 @@ mkdir -p .viepilot/ui-direction/{session-id}
|
|
|
1490
1490
|
|
|
1491
1491
|
### UI Direction — UX walkthrough & upgrade (FEAT-010)
|
|
1492
1492
|
|
|
1493
|
-
When inside **`/vp-brainstorm --ui`** or a `.viepilot/ui-direction/{session-id}/` already exists for the current session, the
|
|
1493
|
+
When inside **`/vp-brainstorm --ui`** or a `.viepilot/ui-direction/{session-id}/` already exists for the current session, the UX walkthrough pipeline is **proactively triggered via AUQ** (BUG-026) when:
|
|
1494
|
+
- User mentions "research", "test", "UX review", "walkthrough", "simulate user", or equivalent intent
|
|
1495
|
+
- OR: ≥1 UI signal accumulated AND user signals topic end
|
|
1494
1496
|
|
|
1495
|
-
|
|
1496
|
-
-
|
|
1497
|
+
**Claude Code (terminal) — REQUIRED:** Call `AskUserQuestion`:
|
|
1498
|
+
- question: "Run UX walkthrough? (3-phase: simulate user → UX research → update HTML)"
|
|
1499
|
+
- header: "UX Walkthrough"
|
|
1500
|
+
- options: [{ label: "Yes — run full walkthrough (Recommended)", description: "Simulate end-user + content stress + research + update prototype" }, { label: "Skip for now", description: "Continue brainstorm; offer again at session end" }]
|
|
1497
1501
|
|
|
1498
|
-
The user can include one line of context (e.g., product name
|
|
1502
|
+
The user can include one line of context (e.g., product name, persona, priority flow) — in the same message or as a follow-up after selecting "Yes".
|
|
1499
1503
|
|
|
1500
1504
|
Apply **the phases sequentially** (assistant does not skip a phase unless the user explicitly says “phase 1 only”):
|
|
1501
1505
|
|
|
@@ -1623,6 +1627,23 @@ After intake is **completed** or a **valid skip** (META already has profile) →
|
|
|
1623
1627
|
<step name="save_session">
|
|
1624
1628
|
## 6. Save Session
|
|
1625
1629
|
|
|
1630
|
+
### Save Trigger (BUG-026)
|
|
1631
|
+
|
|
1632
|
+
The save step fires when the AI detects session-end intent — **no slash command required**.
|
|
1633
|
+
|
|
1634
|
+
**Save intent signals** (any language):
|
|
1635
|
+
- "save", "done", "finished", "ready", "crystallize", "ready for crystallize", "let's save", "that's it", "wrap up"
|
|
1636
|
+
- Equivalent phrases in the session language (e.g. "xong", "luu", or any clear session-end signal)
|
|
1637
|
+
- Or: conversation reaches natural end (all topics covered, no new questions)
|
|
1638
|
+
|
|
1639
|
+
**Claude Code (terminal) — REQUIRED:** Call `AskUserQuestion`:
|
|
1640
|
+
- question: "Save session and prepare for /vp-crystallize?"
|
|
1641
|
+
- header: "Save Session"
|
|
1642
|
+
- options: [{ label: "Save + prepare for crystallize (Recommended)", description: "Write session file, then offer /vp-crystallize handoff" }, { label: "Continue brainstorming", description: "Not done yet — keep going" }]
|
|
1643
|
+
|
|
1644
|
+
On "Save + prepare": proceed to Pre-Save validation below, then write file, then offer crystallize handoff.
|
|
1645
|
+
On "Continue brainstorming": resume conversation.
|
|
1646
|
+
|
|
1626
1647
|
### Pre-Save Phase Assignment Validation (ENH-052)
|
|
1627
1648
|
|
|
1628
1649
|
Before writing the session file, validate phase assignment completeness:
|
|
@@ -1648,7 +1669,7 @@ CHECK 4 (ENH-061): If both Architect workspace AND UI Direction workspace are ac
|
|
|
1648
1669
|
1. Assign all features to phases (## Phases section)
|
|
1649
1670
|
2. Ensure Phase 1 has at least one feature
|
|
1650
1671
|
|
|
1651
|
-
Return to the conversation to assign phases, then
|
|
1672
|
+
Return to the conversation to assign phases, then signal done when ready (e.g. "save" or "xong").
|
|
1652
1673
|
```
|
|
1653
1674
|
- If scope is **not** locked (exploratory session — no feature assignments):
|
|
1654
1675
|
→ **Allow save** with `Status: In Progress` and add advisory note to session file:
|
|
@@ -1660,7 +1681,7 @@ CHECK 4 (ENH-061): If both Architect workspace AND UI Direction workspace are ac
|
|
|
1660
1681
|
```
|
|
1661
1682
|
⚠️ Coverage gap detected — these Phase 1 features have no Architect or UI coverage:
|
|
1662
1683
|
- {feature name}
|
|
1663
|
-
Consider
|
|
1684
|
+
Consider asking to sync UI or adding these features to a workspace before /vp-crystallize.
|
|
1664
1685
|
Proceed with save? (yes / skip coverage for now)
|
|
1665
1686
|
```
|
|
1666
1687
|
- If brownfield stub session (`IS_BROWNFIELD=true`): **skip this gate** — brownfield stubs intentionally have no phases.
|