viepilot 2.23.0 → 2.45.2

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 (52) hide show
  1. package/CHANGELOG.md +288 -0
  2. package/README.md +6 -6
  3. package/bin/viepilot.cjs +140 -1
  4. package/bin/vp-tools.cjs +204 -0
  5. package/docs/brainstorm/session-2026-04-20.md +261 -0
  6. package/docs/brainstorm/session-2026-04-24.md +131 -0
  7. package/docs/brainstorm/session-2026-04-25.md +109 -0
  8. package/docs/skills-reference.md +22 -0
  9. package/docs/user/features/adapters.md +2 -2
  10. package/docs/user/features/scaffold-first.md +62 -0
  11. package/docs/user/features/skill-registry.md +125 -0
  12. package/lib/adapters/antigravity.cjs +5 -4
  13. package/lib/domain-packs/ai-product.json +33 -0
  14. package/lib/domain-packs/data-science.json +33 -0
  15. package/lib/domain-packs/devops.json +33 -0
  16. package/lib/domain-packs/mobile.json +33 -0
  17. package/lib/domain-packs/web-saas.json +33 -0
  18. package/lib/skill-installer.cjs +274 -0
  19. package/lib/skill-registry.cjs +212 -0
  20. package/lib/viepilot-calibrate.cjs +279 -0
  21. package/lib/viepilot-persona.cjs +446 -0
  22. package/lib/viepilot-update.cjs +113 -0
  23. package/package.json +1 -1
  24. package/skills/vp-audit/SKILL.md +67 -9
  25. package/skills/vp-auto/SKILL.md +54 -0
  26. package/skills/vp-brainstorm/SKILL.md +124 -2
  27. package/skills/vp-crystallize/SKILL.md +82 -0
  28. package/skills/vp-debug/SKILL.md +37 -0
  29. package/skills/vp-design/SKILL.md +219 -0
  30. package/skills/vp-docs/SKILL.md +37 -0
  31. package/skills/vp-evolve/SKILL.md +69 -6
  32. package/skills/vp-info/SKILL.md +37 -0
  33. package/skills/vp-pause/SKILL.md +37 -0
  34. package/skills/vp-persona/SKILL.md +207 -0
  35. package/skills/vp-proposal/SKILL.md +37 -0
  36. package/skills/vp-request/SKILL.md +62 -6
  37. package/skills/vp-resume/SKILL.md +37 -0
  38. package/skills/vp-rollback/SKILL.md +61 -1
  39. package/skills/vp-skills/SKILL.md +311 -0
  40. package/skills/vp-status/SKILL.md +37 -0
  41. package/skills/vp-task/SKILL.md +37 -0
  42. package/skills/vp-ui-components/SKILL.md +37 -0
  43. package/skills/vp-update/SKILL.md +37 -0
  44. package/templates/phase/TASK.md +7 -0
  45. package/templates/project/PROJECT-CONTEXT.md +76 -0
  46. package/workflows/audit.md +131 -0
  47. package/workflows/autonomous.md +199 -0
  48. package/workflows/brainstorm.md +1172 -9
  49. package/workflows/crystallize.md +639 -3
  50. package/workflows/design.md +601 -0
  51. package/workflows/evolve.md +9 -0
  52. package/workflows/rollback.md +79 -10
@@ -7,8 +7,17 @@ Safe rollback to any ViePilot checkpoint with backup and state preservation.
7
7
  <step name="list_checkpoints">
8
8
  ## 1. List Available Checkpoints
9
9
 
10
+ Determine page size and offset:
11
+ ```
12
+ PAGE_SIZE = value of --limit flag (default: 10)
13
+ OFFSET = 0 (increments by PAGE_SIZE when user selects "Show more")
14
+ ```
15
+
16
+ Fetch current page of matching tags:
10
17
  ```bash
11
- git tag --sort=-creatordate | rg "(^vp-p|^-*vp-backup|^[a-z0-9._-]+-vp-p|^[a-z0-9._-]+-vp-backup)" | head -20
18
+ git tag --sort=-creatordate \
19
+ | rg "(^vp-p|^-*vp-backup|^[a-z0-9._-]+-vp-p|^[a-z0-9._-]+-vp-backup)" \
20
+ | tail -n +$((OFFSET+1)) | head -$PAGE_SIZE
12
21
  # [a-z0-9._-]+ matches both legacy and enriched (prefix-branch-version-vp-p*) formats (ENH-050)
13
22
  ```
14
23
 
@@ -17,7 +26,16 @@ For each tag, get info:
17
26
  git log -1 --format="%h %ci %s" {tag}
18
27
  ```
19
28
 
20
- Display formatted list:
29
+ Build label for each entry: `{tag} {YYYY-MM-DD} {commit subject}`
30
+
31
+ Check if more tags exist beyond current page:
32
+ ```bash
33
+ TOTAL=$(git tag --sort=-creatordate \
34
+ | rg "(^vp-p|^-*vp-backup|^[a-z0-9._-]+-vp-p|^[a-z0-9._-]+-vp-backup)" | wc -l)
35
+ HAS_MORE = (OFFSET + PAGE_SIZE) < TOTAL
36
+ ```
37
+
38
+ **If `--list` flag** → display plain-text table and stop:
21
39
  ```
22
40
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
23
41
  VIEPILOT CHECKPOINTS
@@ -31,21 +49,72 @@ Display formatted list:
31
49
 
32
50
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
33
51
  ```
52
+ Stop here when `--list` flag active. Respects `--limit N` for table row count.
53
+
54
+ **Otherwise (interactive selection) — AUQ checkpoint picker (ENH-075):**
55
+
56
+ AUQ preload (ENH-059): call `ToolSearch` with `query: "select:AskUserQuestion"` before the
57
+ first interactive prompt. If ToolSearch fails, fall back to plain numbered list.
58
+
59
+ Call `AskUserQuestion`:
60
+ ```
61
+ question: "Select a checkpoint to roll back to:"
62
+ options:
63
+ - label: "{tag1} {date1} {desc1}"
64
+ - label: "{tag2} {date2} {desc2}"
65
+ - ... (PAGE_SIZE entries)
66
+ - label: "Show {PAGE_SIZE} more checkpoints →" ← only if HAS_MORE is true
67
+ - label: "Enter tag name manually"
68
+ ```
69
+
70
+ **If user selects "Show {PAGE_SIZE} more →":**
71
+ `OFFSET += PAGE_SIZE` → re-fetch next page → re-call AUQ with new options.
72
+ Remove "Show more" when `(OFFSET + PAGE_SIZE) >= TOTAL`.
73
+ Loop until user selects a checkpoint or "Enter manually".
74
+
75
+ **If user selects "Enter tag name manually":**
76
+ Accept tag name from the AUQ "Other" built-in text input, or plain-text prompt on
77
+ non-AUQ adapters. Pass the entered string to Step 2 for validation.
34
78
 
35
- If `--list` flag, stop here.
79
+ **Text fallback (non-AUQ adapters — Cursor/Codex/Copilot/Antigravity):**
80
+ Display plain numbered list of the first PAGE_SIZE entries. User types a number or tag
81
+ name. No interactive pagination — user can re-run with `--limit N` to see more.
82
+
83
+ Pass selected tag name forward to Step 2.
36
84
  </step>
37
85
 
38
86
  <step name="select_target">
39
87
  ## 2. Select Rollback Target
40
88
 
41
- **If --to specified:**
42
- Validate tag exists.
89
+ **If `--to` specified:**
90
+ Use the provided tag directly. Validate it exists:
91
+ ```bash
92
+ git tag -l "{tag}" | grep -q . || { echo "✖ Error: Checkpoint not found"; exit 1; }
93
+ ```
43
94
 
44
- **If --latest:**
45
- Select most recent checkpoint tag (project-scoped or legacy).
95
+ **If `--latest`:**
96
+ Select the most recent matching tag (first result from the tag list query, OFFSET=0).
97
+
98
+ **Otherwise — bind AUQ result from Step 1:**
99
+
100
+ Extract the target tag from the user's selection:
101
+ - If user selected a checkpoint label: take the first whitespace-delimited token.
102
+ e.g. `"viepilot-vp-main-2.42.0-vp-p108-t5-done 2026-04-24 Phase 108..."` → `viepilot-vp-main-2.42.0-vp-p108-t5-done`
103
+ - If user selected "Enter tag name manually": use the text they typed (AUQ "Other" input,
104
+ or the plain-text string entered on non-AUQ adapters).
105
+
106
+ Validate the extracted tag exists before proceeding:
107
+ ```bash
108
+ git tag -l "{extracted_tag}" | grep -q . || {
109
+ echo "✖ Error: Checkpoint \"{extracted_tag}\" not found"
110
+ echo " Hint: Run /vp-rollback --list to see available checkpoints (add --limit 50 for more) (add --limit 50 for more)"
111
+ exit 1
112
+ }
113
+ ```
46
114
 
47
- **Otherwise:**
48
- Ask user to select from list or enter tag name.
115
+ **Text fallback (non-AUQ adapters):**
116
+ User typed a number from the list or a raw tag name. Parse the number to look up
117
+ the corresponding tag in the fetched page, or use the typed string directly.
49
118
  </step>
50
119
 
51
120
  <step name="preview_changes">
@@ -202,7 +271,7 @@ Update TRACKER.md progress accordingly.
202
271
  **If tag doesn't exist:**
203
272
  ```
204
273
  ✖ Error: Checkpoint "{tag}" not found
205
- Hint: Run /vp-rollback --list to see available checkpoints
274
+ Hint: Run /vp-rollback --list to see available checkpoints (add --limit 50 for more)
206
275
  ```
207
276
 
208
277
  **If uncommitted changes:**