prizmkit 1.1.6 → 1.1.8

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 (63) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/dev-pipeline/README.md +65 -65
  3. package/bundled/dev-pipeline/assets/feature-list-example.json +2 -2
  4. package/bundled/dev-pipeline/launch-bugfix-daemon.sh +11 -10
  5. package/bundled/dev-pipeline/launch-feature-daemon.sh +12 -11
  6. package/bundled/dev-pipeline/launch-refactor-daemon.sh +11 -10
  7. package/bundled/dev-pipeline/reset-bug.sh +305 -0
  8. package/bundled/dev-pipeline/reset-feature.sh +9 -8
  9. package/bundled/dev-pipeline/reset-refactor.sh +10 -9
  10. package/bundled/dev-pipeline/retry-bugfix.sh +7 -6
  11. package/bundled/dev-pipeline/retry-feature.sh +7 -6
  12. package/bundled/dev-pipeline/retry-refactor.sh +7 -6
  13. package/bundled/dev-pipeline/run-bugfix.sh +71 -23
  14. package/bundled/dev-pipeline/run-feature.sh +30 -21
  15. package/bundled/dev-pipeline/run-refactor.sh +21 -17
  16. package/bundled/dev-pipeline/scripts/cleanup-logs.py +2 -2
  17. package/bundled/dev-pipeline/scripts/detect-stuck.py +3 -3
  18. package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +26 -14
  19. package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +6 -6
  20. package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +6 -6
  21. package/bundled/dev-pipeline/scripts/init-bugfix-pipeline.py +4 -4
  22. package/bundled/dev-pipeline/scripts/init-pipeline.py +26 -12
  23. package/bundled/dev-pipeline/scripts/init-refactor-pipeline.py +4 -4
  24. package/bundled/dev-pipeline/scripts/update-bug-status.py +10 -10
  25. package/bundled/dev-pipeline/scripts/update-feature-status.py +31 -31
  26. package/bundled/dev-pipeline/scripts/update-refactor-status.py +8 -8
  27. package/bundled/dev-pipeline/templates/bug-fix-list-schema.json +111 -31
  28. package/bundled/dev-pipeline/templates/feature-list-schema.json +91 -25
  29. package/bundled/dev-pipeline/templates/refactor-list-schema.json +107 -28
  30. package/bundled/dev-pipeline/tests/test_auto_skip.py +1 -1
  31. package/bundled/skills/_metadata.json +10 -2
  32. package/bundled/skills/app-planner/SKILL.md +24 -13
  33. package/bundled/skills/app-planner/references/project-brief-guide.md +1 -1
  34. package/bundled/skills/bug-fix-workflow/SKILL.md +7 -5
  35. package/bundled/skills/bug-planner/SKILL.md +80 -25
  36. package/bundled/skills/bug-planner/scripts/validate-bug-list.py +3 -3
  37. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +38 -33
  38. package/bundled/skills/feature-pipeline-launcher/SKILL.md +33 -33
  39. package/bundled/skills/feature-pipeline-launcher/scripts/preflight-check.py +3 -3
  40. package/bundled/skills/feature-planner/SKILL.md +96 -24
  41. package/bundled/skills/feature-planner/references/error-recovery.md +9 -9
  42. package/bundled/skills/feature-planner/scripts/validate-and-generate.py +25 -24
  43. package/bundled/skills/feature-workflow/SKILL.md +23 -20
  44. package/bundled/skills/prizmkit-committer/SKILL.md +1 -0
  45. package/bundled/skills/prizmkit-deploy/SKILL.md +1 -0
  46. package/bundled/skills/prizmkit-deploy/assets/deploy-template.md +1 -1
  47. package/bundled/skills/prizmkit-implement/SKILL.md +1 -1
  48. package/bundled/skills/prizmkit-implement/references/deploy-guide-protocol.md +4 -4
  49. package/bundled/skills/prizmkit-plan/SKILL.md +3 -3
  50. package/bundled/skills/prizmkit-retrospective/SKILL.md +40 -3
  51. package/bundled/skills/prizmkit-verify/SKILL.md +281 -0
  52. package/bundled/skills/prizmkit-verify/scripts/verify-light.py +402 -0
  53. package/bundled/skills/recovery-workflow/SKILL.md +15 -14
  54. package/bundled/skills/recovery-workflow/evals/evals.json +5 -5
  55. package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +43 -10
  56. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +38 -34
  57. package/bundled/skills/refactor-planner/SKILL.md +74 -24
  58. package/bundled/skills/refactor-planner/scripts/validate-and-generate-refactor.py +17 -17
  59. package/bundled/skills/refactor-workflow/SKILL.md +24 -20
  60. package/package.json +1 -1
  61. package/src/clean.js +4 -4
  62. package/src/gitignore-template.js +7 -8
  63. package/src/scaffold.js +4 -2
@@ -19,7 +19,7 @@ User says:
19
19
 
20
20
  **Do NOT use this skill when:**
21
21
  - User only wants to plan refactoring (use `refactor-planner` directly)
22
- - User only wants to launch pipeline for existing refactor-list.json (use `refactor-pipeline-launcher`)
22
+ - User only wants to launch pipeline for existing .prizmkit/plans/refactor-list.json (use `refactor-pipeline-launcher`)
23
23
  - User wants to add features (use `feature-workflow`)
24
24
  - User wants to fix bugs (use `bug-planner` + `bugfix-pipeline-launcher`)
25
25
 
@@ -32,7 +32,7 @@ refactor-workflow <target / goals>
32
32
 
33
33
  ├── Phase 1: Brainstorm → interactive Q&A until refactoring goals are clear
34
34
 
35
- ├── Phase 2: Plan → refactor-planner → refactor-list.json
35
+ ├── Phase 2: Plan → refactor-planner → .prizmkit/plans/refactor-list.json
36
36
 
37
37
  ├── Phase 3: Launch → refactor-pipeline-launcher → pipeline execution
38
38
 
@@ -44,7 +44,7 @@ refactor-workflow <target / goals>
44
44
  | Phase | Action | Result |
45
45
  |-------|--------|--------|
46
46
  | 1 | **Brainstorm** — interactive Q&A with user | Fully clarified refactoring goals |
47
- | 2 | Call `refactor-planner` with clarified goals | `refactor-list.json` with N refactor items |
47
+ | 2 | Call `refactor-planner` with clarified goals | `.prizmkit/plans/refactor-list.json` with N refactor items |
48
48
  | 3 | Call `refactor-pipeline-launcher` | Pipeline started (execution mode chosen by user via launcher) |
49
49
  | 4 | Monitor progress | Status updates, completion report |
50
50
 
@@ -52,7 +52,7 @@ refactor-workflow <target / goals>
52
52
 
53
53
  Without this skill, users must:
54
54
  1. Figure out all refactoring goals and scope themselves
55
- 2. Invoke `refactor-planner` → wait for refactor-list.json
55
+ 2. Invoke `refactor-planner` → wait for .prizmkit/plans/refactor-list.json
56
56
  3. Invoke `refactor-pipeline-launcher` → wait for pipeline start
57
57
  4. Manually check progress
58
58
 
@@ -81,18 +81,18 @@ Natural language description of the refactoring goals. Can be:
81
81
 
82
82
  Flow: brainstorm → refactor-planner → refactor-pipeline-launcher → monitor
83
83
 
84
- **Mode B: From existing refactor-list.json**
84
+ **Mode B: From existing .prizmkit/plans/refactor-list.json**
85
85
 
86
- When user says "run pipeline from existing file" or refactor-list.json already exists:
86
+ When user says "run pipeline from existing file" or .prizmkit/plans/refactor-list.json already exists:
87
87
  - Skip brainstorm and `refactor-planner` (file already exists)
88
88
  - Invoke `refactor-pipeline-launcher` directly
89
89
  - Monitor and report progress
90
90
 
91
91
  **Mode C: Incremental (add to existing refactor plan)**
92
92
 
93
- When user says "add more refactors" or the project already has a refactor-list.json:
93
+ When user says "add more refactors" or the project already has a .prizmkit/plans/refactor-list.json:
94
94
  - Brainstorm new refactoring goals with the user
95
- - Invoke `refactor-planner` in incremental mode (reads existing refactor-list.json)
95
+ - Invoke `refactor-planner` in incremental mode (reads existing .prizmkit/plans/refactor-list.json)
96
96
  - Append new refactor items to existing list
97
97
  - Invoke `refactor-pipeline-launcher`
98
98
  - Monitor and report progress
@@ -227,7 +227,7 @@ Present this summary to the user and get explicit confirmation before proceeding
227
227
 
228
228
  ## Phase 2: Plan
229
229
 
230
- **Goal**: Generate structured refactor-list.json from the clarified refactoring goals.
230
+ **Goal**: Generate structured .prizmkit/plans/refactor-list.json from the clarified refactoring goals.
231
231
 
232
232
  **STEPS**:
233
233
 
@@ -235,16 +235,18 @@ Present this summary to the user and get explicit confirmation before proceeding
235
235
  - Pass the structured goals summary as input — NOT the raw user conversation
236
236
  - For new refactoring: standard planning mode
237
237
  - For existing projects with `--incremental`: incremental planning mode
238
+ - **Input**: Markdown goals summary (refactor targets, scope, behavior preservation strategy)
239
+ - **Output**: `.prizmkit/plans/refactor-list.json` (schema: `dev-pipeline-refactor-list-v1`) containing `project_name`, `refactors[]` with id (R-NNN), title, description, scope, type, priority, complexity, behavior_preservation, acceptance_criteria, dependencies, status
238
240
 
239
241
  2. **Interactive planning** (if refactor-planner requires clarification):
240
242
  - Because Phase 1 was thorough, refactor-planner should need minimal clarification
241
243
  - If questions arise, answer from the Phase 1 context or pass through to user
242
244
 
243
245
  3. **Validate output**:
244
- - Confirm `refactor-list.json` exists
246
+ - Confirm `.prizmkit/plans/refactor-list.json` exists
245
247
  - Show summary: total refactor items, complexity distribution, dependencies
246
248
 
247
- **CHECKPOINT CP-RW-1**: `refactor-list.json` generated and validated.
249
+ **CHECKPOINT CP-RW-1**: `.prizmkit/plans/refactor-list.json` generated and validated.
248
250
 
249
251
  **If user says `--from <file>`**: Skip Phase 1 and Phase 2 entirely.
250
252
 
@@ -267,9 +269,11 @@ Present this summary to the user and get explicit confirmation before proceeding
267
269
  ```
268
270
 
269
271
  2. **Invoke `refactor-pipeline-launcher` skill**:
272
+ - **Input**: Path to validated `.prizmkit/plans/refactor-list.json`
270
273
  - The launcher handles all prerequisites checks
271
274
  - The launcher presents execution mode choices to the user (foreground/background/manual)
272
275
  - Do NOT duplicate execution mode selection here — let the launcher handle it
276
+ - **Output**: PID/status, log file path, execution mode selected
273
277
  - Returns PID/status and log file location
274
278
 
275
279
  3. **Verify launch success**:
@@ -299,8 +303,8 @@ Present this summary to the user and get explicit confirmation before proceeding
299
303
  3. **Periodic progress reports** (when user asks):
300
304
  ```bash
301
305
  python3 dev-pipeline/scripts/update-refactor-status.py \
302
- --refactor-list refactor-list.json \
303
- --state-dir dev-pipeline/refactor-state \
306
+ --refactor-list .prizmkit/plans/refactor-list.json \
307
+ --state-dir .prizmkit/state/refactor \
304
308
  --action status
305
309
  ```
306
310
 
@@ -329,12 +333,12 @@ The workflow supports resuming by detecting existing state:
329
333
 
330
334
  | State Found | Resume From |
331
335
  |-------------|------------|
332
- | No `refactor-list.json` | Phase 1: Brainstorm |
333
- | `refactor-list.json` exists, no pipeline state | Phase 3: Launch |
334
- | `refactor-list.json` + pipeline state exists | Phase 4: Monitor (check status) |
336
+ | No `.prizmkit/plans/refactor-list.json` | Phase 1: Brainstorm |
337
+ | `.prizmkit/plans/refactor-list.json` exists, no pipeline state | Phase 3: Launch |
338
+ | `.prizmkit/plans/refactor-list.json` + pipeline state exists | Phase 4: Monitor (check status) |
335
339
  | All refactors completed | Report completion, suggest next steps |
336
340
 
337
- **Resume**: If `refactor-list.json` exists, ask user: "Existing refactor plan found with N items. Resume pipeline or re-plan?"
341
+ **Resume**: If `.prizmkit/plans/refactor-list.json` exists, ask user: "Existing refactor plan found with N items. Resume pipeline or re-plan?"
338
342
 
339
343
  ---
340
344
 
@@ -359,7 +363,7 @@ While the pipeline runs, the user can continue the conversation:
359
363
  | Brainstorming stalls | Offer concrete options: "Would you prefer incremental or comprehensive refactoring?" |
360
364
  | No tests exist for target module | WARN user, recommend writing tests first before refactoring |
361
365
  | `refactor-planner` cannot parse goals | Refine the goals summary and retry |
362
- | `refactor-list.json` generation failed | Show error, retry with refined input |
366
+ | `.prizmkit/plans/refactor-list.json` generation failed | Show error, retry with refined input |
363
367
  | Pipeline launch failed | Show daemon log, suggest manual start |
364
368
  | All refactor items blocked/failed | Show status, suggest retrying specific items |
365
369
  | User wants to cancel mid-brainstorming | Save conversation context, offer to resume later |
@@ -371,7 +375,7 @@ While the pipeline runs, the user can continue the conversation:
371
375
 
372
376
  | Skill | Relationship |
373
377
  |-------|-------------|
374
- | `refactor-planner` | **Called by Phase 2** — generates refactor-list.json from clarified goals |
378
+ | `refactor-planner` | **Called by Phase 2** — generates .prizmkit/plans/refactor-list.json from clarified goals |
375
379
  | `refactor-pipeline-launcher` | **Called by Phase 3** — starts pipeline (handles execution mode selection) |
376
380
  | `feature-workflow` | **Alternative** — for new feature development |
377
381
  | `bug-fix-workflow` | **Alternative** — for bug fix workflows |
@@ -397,7 +401,7 @@ While the pipeline runs, the user can continue the conversation:
397
401
  ## Output
398
402
 
399
403
  - Structured refactoring goals summary (Phase 1 artifact)
400
- - `refactor-list.json` (Phase 2 artifact)
404
+ - `.prizmkit/plans/refactor-list.json` (Phase 2 artifact)
401
405
  - Pipeline execution (Phase 3)
402
406
  - Progress updates (Phase 4)
403
407
  - Multiple git commits with `refactor(<scope>):` prefix
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prizmkit",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "Create a new PrizmKit-powered project with clean initialization — no framework dev files, just what you need.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/clean.js CHANGED
@@ -119,10 +119,10 @@ export async function runClean(directory, options = {}) {
119
119
  '.prizm-docs', // AI-generated project context docs
120
120
  'CODEBUDDY.md',
121
121
  'CLAUDE.md',
122
- 'feature-list.json', // feature-planner output
123
- 'bug-fix-list.json', // bug-planner output
124
- 'project-brief.md', // feature-planner project brief
125
- 'project-conventions.json', // feature-planner coding conventions
122
+ path.join('.prizmkit', 'plans', 'feature-list.json'), // feature-planner output
123
+ path.join('.prizmkit', 'plans', 'bug-fix-list.json'), // bug-planner output
124
+ path.join('.prizmkit', 'plans', 'project-brief.md'), // feature-planner project brief
125
+ path.join('.prizmkit', 'project-conventions.json'), // feature-planner coding conventions
126
126
  path.join('.codebuddy', 'settings.json'),
127
127
  path.join('.claude', 'settings.json'),
128
128
  path.join('.claude', 'team-info.json'),
@@ -14,8 +14,8 @@ export function generateGitignore(options = {}) {
14
14
  '# PrizmKit Runtime Artifacts',
15
15
  '# ===========================',
16
16
  '',
17
- '# PrizmKit 运行时配置与产物',
18
- '.prizmkit/',
17
+ '# PrizmKit 运行时状态(不提交)',
18
+ '.prizmkit/state/',
19
19
  '',
20
20
  '# 多 Agent 协作临时工作区',
21
21
  '.dev-team/',
@@ -24,18 +24,17 @@ export function generateGitignore(options = {}) {
24
24
  '# .prizm-docs/',
25
25
  '',
26
26
  '# 规划产物(按需决定是否提交)',
27
- '# feature-list.json',
28
- '# bug-fix-list.json',
29
- '# project-brief.md',
27
+ '# .prizmkit/plans/',
30
28
  '# project-conventions.json',
31
29
  '',
32
30
  ];
33
31
 
34
32
  if (options.pipeline) {
35
33
  lines.push(
36
- '# Dev-Pipeline 运行时状态',
37
- 'dev-pipeline/state/',
38
- 'dev-pipeline/bugfix-state/',
34
+ '# Dev-Pipeline 运行时状态(已迁移到 .prizmkit/state/)',
35
+ '.prizmkit/state/features/',
36
+ '.prizmkit/state/bugfix/',
37
+ '.prizmkit/state/refactor/',
39
38
  'dev-pipeline/logs/',
40
39
  'dev-pipeline/*.pid',
41
40
  '',
package/src/scaffold.js CHANGED
@@ -647,8 +647,10 @@ export async function installPipeline(projectRoot, dryRun, { forceOverwrite = fa
647
647
  return [];
648
648
  }
649
649
 
650
- await fs.ensureDir(path.join(pipelineTarget, 'state'));
651
- await fs.ensureDir(path.join(pipelineTarget, 'bugfix-state'));
650
+ await fs.ensureDir(path.join(projectRoot, '.prizmkit', 'plans'));
651
+ await fs.ensureDir(path.join(projectRoot, '.prizmkit', 'state', 'features'));
652
+ await fs.ensureDir(path.join(projectRoot, '.prizmkit', 'state', 'bugfix'));
653
+ await fs.ensureDir(path.join(projectRoot, '.prizmkit', 'state', 'refactor'));
652
654
 
653
655
  // 动态扫描 bundled dev-pipeline 目录,排除不应安装到用户项目的内容
654
656
  const EXCLUDE = new Set(['tests', 'docs', '__pycache__', 'node_modules', '.DS_Store']);