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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viepilot",
3
- "version": "2.45.5",
3
+ "version": "2.45.6",
4
4
  "description": "**Autonomous Vibe Coding Framework / Bộ khung phát triển tự động có kiểm soát**",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -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, command **`/research-ui`** or **`/research ui`** 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).
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, `/save`, or **≥2 unique signals** accumulated (was ≥5) — does not interrupt the main conversation.
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; `/sync-ui` command) → 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`.
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; `/review-arch` command; machine-readable `notes.md` YAML schema.
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).
@@ -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. **`/review-arch`** command ViePilot outputs a summary table of all `decisions` (from `notes.md`) + list of `open_questions` with status; ask the user to confirm before continuing.
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 types `/topic` to switch to a new topic or says "next"
1461
- - (b) **User types `/save` or `/review`**
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 user can invoke:
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
- - **`/research-ui`**runs the full pipeline below
1496
- - **`/research ui`** **alias** of `/research-ui` (space after `research`; does not conflict with `/research {free topic}`)
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 **Trips**, persona, priority flow) — entered in the same message as the command.
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 /save again.
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 running /sync-ui or adding these features to a workspace before /vp-crystallize.
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.