prizmkit 1.1.41 → 1.1.46

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 (88) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/adapters/claude/settings-adapter.js +4 -4
  3. package/bundled/adapters/codebuddy/settings-adapter.js +1 -1
  4. package/bundled/agents/prizm-dev-team-critic.md +9 -9
  5. package/bundled/agents/prizm-dev-team-dev.md +13 -13
  6. package/bundled/agents/prizm-dev-team-reviewer.md +2 -2
  7. package/bundled/dev-pipeline/.env.example +6 -6
  8. package/bundled/dev-pipeline/README.md +32 -32
  9. package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
  10. package/bundled/dev-pipeline/launch-bugfix-daemon.sh +5 -2
  11. package/bundled/dev-pipeline/launch-feature-daemon.sh +5 -2
  12. package/bundled/dev-pipeline/launch-refactor-daemon.sh +5 -2
  13. package/bundled/dev-pipeline/lib/common.sh +34 -5
  14. package/bundled/dev-pipeline/reset-bug.sh +7 -5
  15. package/bundled/dev-pipeline/reset-feature.sh +7 -5
  16. package/bundled/dev-pipeline/reset-refactor.sh +7 -5
  17. package/bundled/dev-pipeline/run-bugfix.sh +14 -11
  18. package/bundled/dev-pipeline/run-feature.sh +15 -12
  19. package/bundled/dev-pipeline/run-recovery.sh +6 -3
  20. package/bundled/dev-pipeline/run-refactor.sh +15 -12
  21. package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +15 -15
  22. package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +10 -5
  23. package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +19 -13
  24. package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +10 -5
  25. package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -1
  26. package/bundled/dev-pipeline/scripts/update-bug-status.py +9 -1
  27. package/bundled/dev-pipeline/scripts/update-feature-status.py +13 -1
  28. package/bundled/dev-pipeline/scripts/update-refactor-status.py +9 -1
  29. package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +1 -1
  30. package/bundled/dev-pipeline/templates/bootstrap-prompt.md +3 -3
  31. package/bundled/dev-pipeline/templates/bootstrap-tier1.md +8 -8
  32. package/bundled/dev-pipeline/templates/bootstrap-tier2.md +11 -11
  33. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +9 -9
  34. package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +7 -7
  35. package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +4 -4
  36. package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +5 -5
  37. package/bundled/dev-pipeline/templates/sections/phase-commit.md +6 -6
  38. package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +1 -1
  39. package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-base.md +1 -1
  40. package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +2 -2
  41. package/bundled/dev-pipeline/templates/sections/phase0-init.md +1 -1
  42. package/bundled/dev-pipeline/tests/test-path-resolution.sh +100 -0
  43. package/bundled/rules/USAGE.md +2 -2
  44. package/bundled/rules/_rules-metadata.json +1 -1
  45. package/bundled/rules/prizm/prizm-commit-workflow.md +1 -1
  46. package/bundled/rules/prizm/prizm-documentation.md +4 -4
  47. package/bundled/rules/prizm/prizm-progressive-loading.md +3 -3
  48. package/bundled/skills/_metadata.json +4 -4
  49. package/bundled/skills/app-planner/SKILL.md +35 -7
  50. package/bundled/skills/bug-fix-workflow/SKILL.md +6 -6
  51. package/bundled/skills/bug-planner/SKILL.md +5 -5
  52. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +28 -21
  53. package/bundled/skills/feature-pipeline-launcher/SKILL.md +28 -21
  54. package/bundled/skills/feature-planner/SKILL.md +5 -5
  55. package/bundled/skills/feature-workflow/SKILL.md +8 -8
  56. package/bundled/skills/prizm-kit/SKILL.md +10 -10
  57. package/bundled/skills/prizmkit-committer/SKILL.md +4 -2
  58. package/bundled/skills/prizmkit-implement/SKILL.md +2 -2
  59. package/bundled/skills/prizmkit-init/SKILL.md +17 -17
  60. package/bundled/skills/prizmkit-plan/SKILL.md +3 -3
  61. package/bundled/skills/prizmkit-plan/references/verification-checklist.md +2 -2
  62. package/bundled/skills/prizmkit-prizm-docs/SKILL.md +17 -17
  63. package/bundled/skills/prizmkit-prizm-docs/assets/prizm-docs-format.md +45 -45
  64. package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +9 -9
  65. package/bundled/skills/prizmkit-prizm-docs/references/op-rebuild.md +1 -1
  66. package/bundled/skills/prizmkit-prizm-docs/references/op-status.md +2 -2
  67. package/bundled/skills/prizmkit-prizm-docs/references/op-update.md +3 -3
  68. package/bundled/skills/prizmkit-prizm-docs/references/op-validate.md +1 -1
  69. package/bundled/skills/prizmkit-retrospective/SKILL.md +10 -10
  70. package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +3 -3
  71. package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +1 -1
  72. package/bundled/skills/recovery-workflow/SKILL.md +15 -15
  73. package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +0 -1
  74. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +28 -21
  75. package/bundled/skills/refactor-planner/SKILL.md +6 -6
  76. package/bundled/skills/refactor-workflow/SKILL.md +9 -9
  77. package/bundled/team/prizm-dev-team.json +1 -1
  78. package/bundled/templates/hooks/commit-intent.json +2 -2
  79. package/bundled/templates/hooks/diff-prizm-docs.sh +8 -8
  80. package/bundled/templates/hooks/prizm-pre-commit.sh +4 -4
  81. package/bundled/templates/hooks/validate-prizm-docs.sh +4 -4
  82. package/bundled/templates/project-memory-template.md +4 -4
  83. package/package.json +1 -1
  84. package/src/clean.js +1 -3
  85. package/src/config.js +1 -1
  86. package/src/gitignore-template.js +4 -24
  87. package/src/scaffold.js +12 -11
  88. package/src/upgrade.js +3 -3
@@ -3,7 +3,7 @@ PURPOSE: AI-only documentation framework for vibe coding projects
3
3
  AUDIENCE: AI agents (not humans)
4
4
  FORMAT: KEY: value pairs, ALL CAPS section headers, arrow pointers
5
5
  FILE_EXT: .prizm
6
- DOC_ROOT: .prizm-docs/
6
+ DOC_ROOT: .prizmkit/prizm-docs/
7
7
  LICENSE: MIT
8
8
 
9
9
  ---
@@ -49,27 +49,27 @@ CORE_PRINCIPLES:
49
49
 
50
50
  LEVELS:
51
51
  - L0: Root index. ALWAYS loaded at session start. Max 4KB.
52
- FILE: .prizm-docs/root.prizm
52
+ FILE: .prizmkit/prizm-docs/root.prizm
53
53
  CONTAINS: project meta, module index with pointers, build commands, tech stack, top rules
54
54
 
55
55
  - L1: Structural index. Loaded ON DEMAND when AI works in a module area. Max 4KB each.
56
- FILE: .prizm-docs/<mirrored-path>.prizm (mirrors source directory structure)
56
+ FILE: .prizmkit/prizm-docs/<mirrored-path>.prizm (mirrors source directory structure)
57
57
  CONTAINS: module responsibility, subdirs with pointers, key files, dependency graph, critical rules summary (1-3 only)
58
58
  DOES NOT CONTAIN: interface signatures, data flow, TRAPS, DECISIONS (those belong in L2)
59
59
 
60
60
  - L2: Behavioral detail. Loaded when AI modifies files in that module OR needs deep understanding. Max 5KB each.
61
- FILE: .prizm-docs/<mirrored-path>/<submodule>.prizm
61
+ FILE: .prizmkit/prizm-docs/<mirrored-path>/<submodule>.prizm
62
62
  CONTAINS: interface signatures, data flow, full rules, TRAPS, DECISIONS, domain-specific sections, rejected approaches
63
63
 
64
64
  - Changelog: Append-only change log. Loaded at L0. No size limit but keep last 50 entries.
65
- FILE: .prizm-docs/changelog.prizm
65
+ FILE: .prizmkit/prizm-docs/changelog.prizm
66
66
 
67
67
  ## 2.2 Directory Layout
68
68
 
69
- STRUCTURE: Mirrors source tree under .prizm-docs/
69
+ STRUCTURE: Mirrors source tree under .prizmkit/prizm-docs/
70
70
 
71
71
  EXAMPLE (Go project):
72
- .prizm-docs/
72
+ .prizmkit/prizm-docs/
73
73
  root.prizm # L0
74
74
  changelog.prizm # L0
75
75
  internal/
@@ -90,7 +90,7 @@ EXAMPLE (Go project):
90
90
  sso.prizm # L2 for internal/service/sso/
91
91
 
92
92
  EXAMPLE (JS/TS project):
93
- .prizm-docs/
93
+ .prizmkit/prizm-docs/
94
94
  root.prizm # L0
95
95
  changelog.prizm # L0
96
96
  src/
@@ -102,7 +102,7 @@ EXAMPLE (JS/TS project):
102
102
  dashboard.prizm # L2 for src/components/dashboard/
103
103
 
104
104
  EXAMPLE (Python project):
105
- .prizm-docs/
105
+ .prizmkit/prizm-docs/
106
106
  root.prizm # L0
107
107
  changelog.prizm # L0
108
108
  app/
@@ -116,8 +116,8 @@ EXAMPLE (Python project):
116
116
 
117
117
  ## 2.3 Git Configuration
118
118
 
119
- COMMIT: .prizm-docs/ MUST be committed to git alongside source code
120
- RATIONALE: .prizm-docs/ is shared project knowledge that all team members (human and AI) benefit from.
119
+ COMMIT: .prizmkit/prizm-docs/ MUST be committed to git alongside source code
120
+ RATIONALE: .prizmkit/prizm-docs/ is shared project knowledge that all team members (human and AI) benefit from.
121
121
 
122
122
  ---
123
123
 
@@ -145,7 +145,7 @@ TEMPLATE:
145
145
  - infra: <infrastructure: databases, queues, caches, etc.>
146
146
 
147
147
  MODULE_INDEX:
148
- - <source-path>: <file-count> files. <one-line description>. -> .prizm-docs/<mirrored-path>.prizm
148
+ - <source-path>: <file-count> files. <one-line description>. -> .prizmkit/prizm-docs/<mirrored-path>.prizm
149
149
  (Multi-level entries allowed for efficient navigation. No hard depth limit — constrained by L0 4KB.
150
150
  If navigating from L0 to a target module requires 3+ hops, add intermediate entries here.)
151
151
 
@@ -162,7 +162,7 @@ TEMPLATE:
162
162
 
163
163
  CROSS_CUTTING:
164
164
  - <concern-name>: <one-line description>. Modules: <affected-module-list>.
165
- (Optional: -> .prizm-docs/cross-cutting/<name>.prizm for detailed cross-cutting doc.
165
+ (Optional: -> .prizmkit/prizm-docs/cross-cutting/<name>.prizm for detailed cross-cutting doc.
166
166
  Only record concerns spanning 2+ modules. Single-module patterns go in that module's RULES.)
167
167
 
168
168
  DECISIONS:
@@ -184,10 +184,10 @@ When MODULE_INDEX would exceed 15 entries, replace it with MODULE_GROUPS to stay
184
184
 
185
185
  MODULE_GROUPS:
186
186
  <domain-name>:
187
- - <module>: <file-count> files. <one-line description>. -> .prizm-docs/<module>.prizm
188
- - <module>: <file-count> files. <one-line description>. -> .prizm-docs/<module>.prizm
187
+ - <module>: <file-count> files. <one-line description>. -> .prizmkit/prizm-docs/<module>.prizm
188
+ - <module>: <file-count> files. <one-line description>. -> .prizmkit/prizm-docs/<module>.prizm
189
189
  <domain-name>:
190
- - <module>: <file-count> files. <one-line description>. -> .prizm-docs/<module>.prizm
190
+ - <module>: <file-count> files. <one-line description>. -> .prizmkit/prizm-docs/<module>.prizm
191
191
 
192
192
  CONSTRAINTS for MODULE_GROUPS:
193
193
  - Exactly ONE of MODULE_INDEX or MODULE_GROUPS must be present in root.prizm (not both)
@@ -202,9 +202,9 @@ CONSTRAINTS for MODULE_GROUPS:
202
202
  Entries may include keyword tags for AI intent matching:
203
203
 
204
204
  MODULE_INDEX:
205
- - auth [login, session, jwt, oauth]: 12 files. Authentication and authorization. -> .prizm-docs/auth.prizm
206
- - payments [stripe, billing, subscription]: 8 files. Payment processing. -> .prizm-docs/payments.prizm
207
- - users: 6 files. User management. -> .prizm-docs/users.prizm
205
+ - auth [login, session, jwt, oauth]: 12 files. Authentication and authorization. -> .prizmkit/prizm-docs/auth.prizm
206
+ - payments [stripe, billing, subscription]: 8 files. Payment processing. -> .prizmkit/prizm-docs/payments.prizm
207
+ - users: 6 files. User management. -> .prizmkit/prizm-docs/users.prizm
208
208
 
209
209
  Tags are optional, enclosed in square brackets after the module name. They contain lowercase keywords that describe the module's domain concepts. AI matches user requirement descriptions against tags to identify relevant modules before loading L1. Tags are auto-generated during Init from module source content (function names, imports, domain terms) and refined during Rebuild.
210
210
 
@@ -217,7 +217,7 @@ TEMPLATE:
217
217
  RESPONSIBILITY: <one-line>
218
218
 
219
219
  SUBDIRS:
220
- - <name>/: <one-line description>. -> .prizm-docs/<child-path>.prizm
220
+ - <name>/: <one-line description>. -> .prizmkit/prizm-docs/<child-path>.prizm
221
221
 
222
222
  KEY_FILES:
223
223
  - <filename>: <role/purpose>
@@ -321,7 +321,7 @@ TEMPLATE:
321
321
 
322
322
  VERBS: add, update, fix, remove, refactor, rename, deprecate
323
323
  RETENTION: Keep last 50 entries. Archive older entries to changelog-archive.prizm if needed.
324
- TEMPORAL_INFO: Git commit history is the authoritative source for when changes happened. No dates in changelog entries — git log on .prizm-docs/changelog.prizm provides the timeline.
324
+ TEMPORAL_INFO: Git commit history is the authoritative source for when changes happened. No dates in changelog entries — git log on .prizmkit/prizm-docs/changelog.prizm provides the timeline.
325
325
 
326
326
  EXAMPLE:
327
327
  CHANGELOG:
@@ -349,28 +349,28 @@ TIMESTAMPS: No date/time fields in .prizm files. Git is the authoritative source
349
349
 
350
350
  ## 5.1 Mapping Algorithm
351
351
 
352
- RULE: Mirror the source directory tree under .prizm-docs/
353
- RULE: L1 file for directory D = .prizm-docs/<D>.prizm
354
- RULE: L2 file for subdirectory D/S = .prizm-docs/<D>/<S>.prizm
355
- RULE: Root index = .prizm-docs/root.prizm (always)
356
- RULE: Changelog = .prizm-docs/changelog.prizm (always)
352
+ RULE: Mirror the source directory tree under .prizmkit/prizm-docs/
353
+ RULE: L1 file for directory D = .prizmkit/prizm-docs/<D>.prizm
354
+ RULE: L2 file for subdirectory D/S = .prizmkit/prizm-docs/<D>/<S>.prizm
355
+ RULE: Root index = .prizmkit/prizm-docs/root.prizm (always)
356
+ RULE: Changelog = .prizmkit/prizm-docs/changelog.prizm (always)
357
357
 
358
358
  ## 5.2 Examples
359
359
 
360
360
  SOURCE_PATH L1_PRIZM_FILE L2_PRIZM_FILES
361
- internal/logic/ .prizm-docs/internal/logic.prizm .prizm-docs/internal/logic/*.prizm
362
- internal/logic/session/ (described in L1 logic.prizm SUBDIRS) .prizm-docs/internal/logic/session.prizm
363
- internal/repo/store/ (described in L1 repo.prizm SUBDIRS) .prizm-docs/internal/repo/store.prizm
364
- src/components/ .prizm-docs/src/components.prizm .prizm-docs/src/components/*.prizm
365
- src/components/auth/ (described in L1 components.prizm) .prizm-docs/src/components/auth.prizm
366
- app/services/ .prizm-docs/app/services.prizm .prizm-docs/app/services/*.prizm
361
+ internal/logic/ .prizmkit/prizm-docs/internal/logic.prizm .prizmkit/prizm-docs/internal/logic/*.prizm
362
+ internal/logic/session/ (described in L1 logic.prizm SUBDIRS) .prizmkit/prizm-docs/internal/logic/session.prizm
363
+ internal/repo/store/ (described in L1 repo.prizm SUBDIRS) .prizmkit/prizm-docs/internal/repo/store.prizm
364
+ src/components/ .prizmkit/prizm-docs/src/components.prizm .prizmkit/prizm-docs/src/components/*.prizm
365
+ src/components/auth/ (described in L1 components.prizm) .prizmkit/prizm-docs/src/components/auth.prizm
366
+ app/services/ .prizmkit/prizm-docs/app/services.prizm .prizmkit/prizm-docs/app/services/*.prizm
367
367
 
368
368
  ## 5.3 Discovery Rule
369
369
 
370
370
  FOR any source file at path P:
371
- 1. Walk up directory tree to find the first ancestor D where .prizm-docs/<D>.prizm exists
371
+ 1. Walk up directory tree to find the first ancestor D where .prizmkit/prizm-docs/<D>.prizm exists
372
372
  2. That file is the L1 doc for this source file
373
- 3. If P is inside a subdirectory S of D, check if .prizm-docs/<D>/<S>.prizm exists for L2
373
+ 3. If P is inside a subdirectory S of D, check if .prizmkit/prizm-docs/<D>/<S>.prizm exists for L2
374
374
  4. If no .prizm doc found, the module is undocumented (may need prizmkit-prizm-docs Update operation)
375
375
 
376
376
  ---
@@ -380,7 +380,7 @@ FOR any source file at path P:
380
380
  ## 6.1 When to Load
381
381
 
382
382
  ON_SESSION_START:
383
- ALWAYS: Read .prizm-docs/root.prizm (L0) if it exists
383
+ ALWAYS: Read .prizmkit/prizm-docs/root.prizm (L0) if it exists
384
384
  PURPOSE: Get the project map, understand architecture, know where to look
385
385
 
386
386
  ON_TASK_RECEIVED:
@@ -450,7 +450,7 @@ DETAILED_STEPS: → ${SKILL_DIR}/references/op-update.md
450
450
 
451
451
  ## 7.3 Changelog Update
452
452
 
453
- ALWAYS append to .prizm-docs/changelog.prizm after any doc update.
453
+ ALWAYS append to .prizmkit/prizm-docs/changelog.prizm after any doc update.
454
454
  FORMAT: - <module-path> | <verb>: <one-line description>
455
455
  VERBS: add, update, fix, remove, refactor, rename, deprecate
456
456
 
@@ -481,10 +481,10 @@ NEVER: TRAPS entries without severity prefix ([CRITICAL], [HIGH], or [LOW])
481
481
  ## 9.1 Algorithm
482
482
 
483
483
  OPERATION: Init (invoked via prizmkit-prizm-docs skill)
484
- PRECONDITION: No .prizm-docs/ directory exists (or user confirms overwrite)
484
+ PRECONDITION: No .prizmkit/prizm-docs/ directory exists (or user confirms overwrite)
485
485
 
486
486
  INPUT: Project root directory
487
- OUTPUT: .prizm-docs/ with root.prizm, changelog.prizm, and L1 docs for discovered modules
487
+ OUTPUT: .prizmkit/prizm-docs/ with root.prizm, changelog.prizm, and L1 docs for discovered modules
488
488
 
489
489
  SUMMARY: Detect project type → discover modules (MODULE_DISCOVERY_CRITERIA) → create mirrored directory structure → generate root.prizm (L0) → generate L1 docs → skip L2 (lazy) → create changelog → configure hook → validate → report.
490
490
 
@@ -505,7 +505,7 @@ A directory does NOT qualify if ALL of the following are true:
505
505
 
506
506
  HIERARCHY RULE: if directory X lives inside top-level module M, X is a sub-module of M — NOT a separate top-level module.
507
507
 
508
- EXCLUDE: .git/, node_modules/, vendor/, build/, dist/, __pycache__/, target/, bin/, .claude/, .codebuddy/, .prizmkit/, .prizm-docs/, dev-pipeline/
508
+ EXCLUDE: .git/, node_modules/, vendor/, build/, dist/, __pycache__/, target/, bin/, .claude/, .codebuddy/, .prizmkit/, .prizmkit/prizm-docs/, dev-pipeline/
509
509
 
510
510
  ## 9.2 Post-Init Behavior
511
511
 
@@ -513,13 +513,13 @@ After initialization, L2 docs are created incrementally:
513
513
 
514
514
  ON_MODIFY trigger:
515
515
  - First time AI modifies a file in sub-module S within module M:
516
- IF .prizm-docs/<M>/<S>.prizm does not exist:
516
+ IF .prizmkit/prizm-docs/<M>/<S>.prizm does not exist:
517
517
  AI reads the source files in S, generates L2 doc, then proceeds with modification
518
518
  - This ensures L2 docs have real depth, written when AI has actual context
519
519
 
520
520
  ON_DEEP_READ trigger:
521
521
  - When AI needs to deeply understand a module but not modify it (e.g., code review, architecture analysis, dependency tracing, explaining complex logic):
522
- IF .prizm-docs/<M>/<S>.prizm does not exist:
522
+ IF .prizmkit/prizm-docs/<M>/<S>.prizm does not exist:
523
523
  AI reads the source files in S, generates L2 doc for future reference
524
524
  - This ensures L2 docs are available for read-heavy analysis tasks, not just modifications
525
525
  - RATIONALE: Some tasks require deep understanding without editing (reviewing PRs, answering architecture questions, tracing bugs). Generating L2 during these tasks captures valuable context.
@@ -534,12 +534,12 @@ The Prizm skill is defined at: ${SKILL_DIR}/SKILL.md
534
534
 
535
535
  OPERATIONS (all invoked via the prizmkit-prizm-docs skill):
536
536
 
537
- Init - Bootstrap .prizm-docs/ for a new project. → ${SKILL_DIR}/references/op-init.md
537
+ Init - Bootstrap .prizmkit/prizm-docs/ for a new project. → ${SKILL_DIR}/references/op-init.md
538
538
  Update - Sync docs with code changes. → ${SKILL_DIR}/references/op-update.md
539
539
  Status - Check freshness of all docs. → ${SKILL_DIR}/references/op-status.md
540
540
  Rebuild - Regenerate docs for a specific module. → ${SKILL_DIR}/references/op-rebuild.md
541
541
  Validate - Check format compliance and consistency. → ${SKILL_DIR}/references/op-validate.md
542
- Migrate - Convert existing docs to .prizm-docs/ format. Steps inline in SKILL.md.
542
+ Migrate - Convert existing docs to .prizmkit/prizm-docs/ format. Steps inline in SKILL.md.
543
543
 
544
544
  ---
545
545
 
@@ -566,7 +566,7 @@ JSON:
566
566
  "hooks": [
567
567
  {
568
568
  "type": "command",
569
- "command": "echo 'PRIZMKIT_MAINTENANCE_REQUIRED: Before committing, you MUST run /prizmkit-retrospective. It maintains .prizm-docs/ architecture index — structural sync (KEY_FILES, INTERFACES, DEPENDENCIES) + TRAPS/RULES/DECISIONS injection. After retrospective completes, proceed with /prizmkit-committer for the actual git commit.'"
569
+ "command": "echo 'PRIZMKIT_MAINTENANCE_REQUIRED: Before committing, you MUST run /prizmkit-retrospective. It maintains .prizmkit/prizm-docs/ architecture index — structural sync (KEY_FILES, INTERFACES, DEPENDENCIES) + TRAPS/RULES/DECISIONS injection. After retrospective completes, proceed with /prizmkit-committer for the actual git commit.'"
570
570
  }
571
571
  ]
572
572
  }
@@ -594,7 +594,7 @@ For other AI coding assistants:
594
594
  - Continue: Use .continue/config.json customInstructions
595
595
  - Generic: Add the auto-update protocol text to whatever system prompt or rules file the tool supports
596
596
 
597
- The core requirement is: before any commit operation, AI must update affected .prizm-docs/ files.
597
+ The core requirement is: before any commit operation, AI must update affected .prizmkit/prizm-docs/ files.
598
598
 
599
599
  ---
600
600
 
@@ -1,8 +1,8 @@
1
1
  # Operation: Init — Detailed Steps
2
2
 
3
- Bootstrap .prizm-docs/ for the current project.
3
+ Bootstrap .prizmkit/prizm-docs/ for the current project.
4
4
 
5
- PRECONDITION: No .prizm-docs/ directory exists, or user confirms overwrite.
5
+ PRECONDITION: No .prizmkit/prizm-docs/ directory exists, or user confirms overwrite.
6
6
 
7
7
  STEPS:
8
8
  1. Detect project type by scanning for build system files (go.mod, package.json, requirements.txt, Cargo.toml, pom.xml, *.csproj). Identify primary language, framework, build command, test command, and entry points.
@@ -10,16 +10,16 @@ STEPS:
10
10
  - A directory qualifies as a module if it contains source files forming a logical unit, contains entry/config/interface files, contains qualifying sub-modules, or is referenced by multiple modules as a dependency.
11
11
  - TOP-LEVEL modules: directories directly under project root (or under src/ for src-based layouts) that qualify.
12
12
  - SUB-MODULES: directories INSIDE a top-level module that qualify. Listed in the parent L1 doc's SUBDIRS section.
13
- - HIERARCHY RULE: directory X inside top-level module M maps to .prizm-docs/<M>/<X>.prizm, never to .prizm-docs/<X>.prizm.
14
- - Exclude .git/, node_modules/, vendor/, build/, dist/, __pycache__/, target/, bin/, .claude/, .codebuddy/, .prizmkit/, .prizm-docs/, dev-pipeline/. If total module count > 30, ask user for include/exclude patterns.
15
- 3. Create .prizm-docs/ directory structure mirroring the source tree exactly. For each top-level module M that has sub-modules, create the subdirectory .prizm-docs/<M>/.
13
+ - HIERARCHY RULE: directory X inside top-level module M maps to .prizmkit/prizm-docs/<M>/<X>.prizm, never to .prizmkit/prizm-docs/<X>.prizm.
14
+ - Exclude .git/, node_modules/, vendor/, build/, dist/, __pycache__/, target/, bin/, .claude/, .codebuddy/, .prizmkit/, .prizmkit/prizm-docs/, dev-pipeline/. If total module count > 30, ask user for include/exclude patterns.
15
+ 3. Create .prizmkit/prizm-docs/ directory structure mirroring the source tree exactly. For each top-level module M that has sub-modules, create the subdirectory .prizmkit/prizm-docs/<M>/.
16
16
  4. Generate root.prizm (L0) with PROJECT, LANG, FRAMEWORK, BUILD, TEST, ENTRY, MODULE_INDEX with multi-level entries as needed for efficient navigation (constrained by 4KB limit), RULES extracted from CODEBUDDY.md/CLAUDE.md/README/linter configs, PATTERNS, and CROSS_CUTTING (cross-module concerns spanning 2+ modules). Set PRIZM_VERSION: 4. Max 4KB. No UPDATED timestamp — git tracks modification times.
17
17
  - If `.prizmkit/plans/project-brief.md` exists: add `PROJECT_BRIEF: .prizmkit/plans/project-brief.md` to root.prizm (generated by prizmkit-init). If not present, skip — prizmkit-init Phase 7 will add it later.
18
18
  - If module count > 15: use MODULE_GROUPS format instead of MODULE_INDEX — group modules by functional domain (3-8 domains, inferred from directory structure and module responsibilities). See prizm-docs-format.md for MODULE_GROUPS format.
19
19
  - For each module entry, auto-generate 3-6 keyword tags by scanning the module's key source files for: exported function/class names, imported library names, domain-specific terms in file/directory names. Add tags in square brackets after the module name (e.g., `- auth [login, session, jwt]: ...`). Tags are optional but recommended for projects with 10+ modules.
20
20
  5. Generate L1 .prizm files (structural index only) for ALL modules, each at its correct mirrored path:
21
- - Top-level module M → write .prizm-docs/<M>.prizm (include SUBDIRS section with pointers to sub-module docs)
22
- - Sub-module S inside M → write .prizm-docs/<M>/<S>.prizm
21
+ - Top-level module M → write .prizmkit/prizm-docs/<M>.prizm (include SUBDIRS section with pointers to sub-module docs)
22
+ - Sub-module S inside M → write .prizmkit/prizm-docs/<M>/<S>.prizm
23
23
  Each L1 includes MODULE (full relative path), FILES count, RESPONSIBILITY, SUBDIRS with pointers, KEY_FILES (5-10 most important), DEPENDENCIES (imports, imported-by, external), RULES (1-3 most critical only). L1 does NOT include INTERFACES, DATA_FLOW, TRAPS, or DECISIONS (those are L2, generated lazily). Max 4KB each.
24
24
  6. Skip L2 docs during init — L2 is created lazily on first file modification or when AI needs deep understanding (ON_DEEP_READ trigger). L2 contains behavioral detail: INTERFACES, DATA_FLOW, TRAPS, DECISIONS, full RULES, domain-specific sections.
25
25
  7. Create changelog.prizm with initial entry: `- root | add: initialized prizm documentation framework`
@@ -35,12 +35,12 @@ After initialization, L2 docs are created incrementally:
35
35
 
36
36
  ON_MODIFY trigger:
37
37
  - First time AI modifies a file in sub-module S within module M:
38
- IF .prizm-docs/<M>/<S>.prizm does not exist:
38
+ IF .prizmkit/prizm-docs/<M>/<S>.prizm does not exist:
39
39
  AI reads the source files in S, generates L2 doc, then proceeds with modification
40
40
  - This ensures L2 docs have real depth, written when AI has actual context
41
41
 
42
42
  ON_DEEP_READ trigger:
43
43
  - When AI needs to deeply understand a module but not modify it (e.g., code review, architecture analysis, dependency tracing, explaining complex logic):
44
- IF .prizm-docs/<M>/<S>.prizm does not exist:
44
+ IF .prizmkit/prizm-docs/<M>/<S>.prizm does not exist:
45
45
  AI reads the source files in S, generates L2 doc for future reference
46
46
  - This ensures L2 docs are available for read-heavy analysis tasks, not just modifications
@@ -2,7 +2,7 @@
2
2
 
3
3
  Regenerate docs for a specific module from scratch. Requires a module path argument.
4
4
 
5
- PRECONDITION: .prizm-docs/ exists. Module path is valid.
5
+ PRECONDITION: .prizmkit/prizm-docs/ exists. Module path is valid.
6
6
 
7
7
  STEPS:
8
8
  1. Delete existing L1 and all L2 docs for the specified module.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Check freshness of all .prizm docs.
4
4
 
5
- PRECONDITION: .prizm-docs/ exists with root.prizm.
5
+ PRECONDITION: .prizmkit/prizm-docs/ exists with root.prizm.
6
6
 
7
7
  STEPS:
8
- 1. Get last git modification time of root.prizm via `git log -1 --format="%ai" -- .prizm-docs/root.prizm`.
8
+ 1. Get last git modification time of root.prizm via `git log -1 --format="%ai" -- .prizmkit/prizm-docs/root.prizm`.
9
9
  2. Count commits since that time via `git log --since="<timestamp>" --oneline | wc -l`.
10
10
  3. For each L1/L2 doc, compare git modification time of the .prizm file (`git log -1 --format="%ai" -- <prizm-file>`) against latest git modification of source files in that module (`git log -1 --format="%ai" -- <module-path>/`).
11
11
  4. Classify each doc as: FRESH (prizm file updated after latest source change), STALE (source changed more recently than prizm file), MISSING (module exists but no .prizm doc).
@@ -1,8 +1,8 @@
1
1
  # Operation: Update — Detailed Steps
2
2
 
3
- Update .prizm-docs/ to reflect recent code changes.
3
+ Update .prizmkit/prizm-docs/ to reflect recent code changes.
4
4
 
5
- PRECONDITION: .prizm-docs/ exists with root.prizm.
5
+ PRECONDITION: .prizmkit/prizm-docs/ exists with root.prizm.
6
6
 
7
7
  STEPS:
8
8
  1. Get changed files via `git diff --cached --name-status`. If nothing staged, use `git diff --name-status`. If no git changes at all, do full rescan comparing code against existing docs — this includes checking for modules that have source files but no L2 doc.
@@ -14,6 +14,6 @@ STEPS:
14
14
  6a. **L2 gap check** (runs during full rescan mode only — when no git changes detected): For each existing module in MODULE_INDEX, check if L2 doc exists. If L2 is missing and the module has source files with meaningful logic (not trivial config/wrapper) → create L2 with sections: MODULE, FILES, RESPONSIBILITY, INTERFACES, DATA_FLOW, KEY_FILES, DEPENDENCIES, RULES, TRAPS, DECISIONS, CHANGELOG. This ensures Update fills documentation gaps left by previous sessions.
15
15
  7. Append entries to changelog.prizm using format: `- <module-path> | <verb>: <description>`
16
16
  8. Enforce size limits: L0 > 4KB -> consolidate. L1 > 4KB -> trim KEY_FILES descriptions, ensure RULES <= 3 entries. L2 > 5KB -> split or archive.
17
- 9. Stage updated .prizm files via `git add .prizm-docs/`
17
+ 9. Stage updated .prizm files via `git add .prizmkit/prizm-docs/`
18
18
 
19
19
  OUTPUT: List of updated/created/skipped docs with reasons.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Check format compliance and consistency of all .prizm docs.
4
4
 
5
- PRECONDITION: .prizm-docs/ exists.
5
+ PRECONDITION: .prizmkit/prizm-docs/ exists.
6
6
 
7
7
  STEPS:
8
8
  1. FORMAT CHECK: Verify all .prizm files use KEY: value format. Flag any prose paragraphs, code blocks (```), markdown headers (##), emoji, ASCII art, or horizontal rules. Flag TRAPS entries missing severity prefix ([CRITICAL], [HIGH], or [LOW]). Note: [REVIEW] preceding severity (e.g., `[REVIEW][HIGH]`) is a valid temporary staleness marker, not a format violation.
@@ -1,18 +1,18 @@
1
1
  ---
2
2
  name: "prizmkit-retrospective"
3
- description: "Incremental .prizm-docs/ maintainer. Performs two jobs: (1) structural sync — update .prizm-docs/ KEY_FILES/INTERFACES/DEPENDENCIES, (2) architecture knowledge — inject TRAPS/RULES/DECISIONS into .prizm-docs/. All project knowledge lives in .prizm-docs/ . Run after code review passes and before committing. Trigger on: 'retrospective', 'retro', 'update docs', 'sync docs', 'wrap up', 'done with feature', 'feature complete'. (project)"
3
+ description: "Incremental .prizmkit/prizm-docs/ maintainer. Performs two jobs: (1) structural sync — update .prizmkit/prizm-docs/ KEY_FILES/INTERFACES/DEPENDENCIES, (2) architecture knowledge — inject TRAPS/RULES/DECISIONS into .prizmkit/prizm-docs/. All project knowledge lives in .prizmkit/prizm-docs/ . Run after code review passes and before committing. Trigger on: 'retrospective', 'retro', 'update docs', 'sync docs', 'wrap up', 'done with feature', 'feature complete'. (project)"
4
4
  ---
5
5
 
6
6
  # PrizmKit Retrospective
7
7
 
8
8
  | Store | Location | Content | Purpose |
9
9
  |-------|----------|---------|---------|
10
- | **Architecture Index** | `.prizm-docs/` | MODULE, FILES, INTERFACES, DEPENDENCIES, TRAPS, RULES, DECISIONS | AI quickly locates code structure, interfaces, known pitfalls, and key design decisions |
10
+ | **Architecture Index** | `.prizmkit/prizm-docs/` | MODULE, FILES, INTERFACES, DEPENDENCIES, TRAPS, RULES, DECISIONS | AI quickly locates code structure, interfaces, known pitfalls, and key design decisions |
11
11
 
12
12
  **This skill handles both structural sync and knowledge injection in one pass:**
13
13
 
14
- 1. **Structural Sync** — reflect what changed in code → `.prizm-docs/` (KEY_FILES, INTERFACES, DEPENDENCIES, file counts)
15
- 2. **Architecture Knowledge** — inject TRAPS, RULES, and DECISIONS → `.prizm-docs/`
14
+ 1. **Structural Sync** — reflect what changed in code → `.prizmkit/prizm-docs/` (KEY_FILES, INTERFACES, DEPENDENCIES, file counts)
15
+ 2. **Architecture Knowledge** — inject TRAPS, RULES, and DECISIONS → `.prizmkit/prizm-docs/`
16
16
 
17
17
  For initial doc setup, validation, or migration, use `/prizmkit-prizm-docs` instead.
18
18
 
@@ -38,7 +38,7 @@ For initial doc setup, validation, or migration, use `/prizmkit-prizm-docs` inst
38
38
  ---
39
39
 
40
40
  ### Job 1: Structural Sync (always runs)
41
- Synchronize `.prizm-docs/` structure with actual codebase changes from this session.
41
+ Synchronize `.prizmkit/prizm-docs/` structure with actual codebase changes from this session.
42
42
  → Read `${SKILL_DIR}/references/structural-sync-steps.md` for the detailed procedure.
43
43
 
44
44
  **Key outputs**: Updated L1 file counts, L2 INTERFACES/DATA_FLOW, changelog entries, stale TRAPS cleanup.
@@ -72,20 +72,20 @@ Inject newly discovered project knowledge (TRAPS, RULES, DECISIONS) into archite
72
72
 
73
73
  ## Final: Changelog + Stage
74
74
 
75
- **3a.** Append to `.prizm-docs/changelog.prizm`:
75
+ **3a.** Append to `.prizmkit/prizm-docs/changelog.prizm`:
76
76
  - Format: `<module-path> | <verb>: <one-line description>`
77
77
  - Verbs: add, update, fix, remove, refactor, rename, deprecate
78
78
  - One entry per meaningful change, not one per file
79
79
 
80
80
  **3b.** Stage all doc changes:
81
81
  ```bash
82
- git add .prizm-docs/
82
+ git add .prizmkit/prizm-docs/
83
83
  ```
84
84
 
85
85
  **HANDOFF:** `/prizmkit-committer`
86
86
 
87
87
  ## Output
88
88
 
89
- - `.prizm-docs/*.prizm` — Structurally synced + TRAPS/RULES/DECISIONS enriched
90
- - `.prizm-docs/changelog.prizm` — Appended entries
91
- - All `.prizm-docs/` changes staged via `git add`
89
+ - `.prizmkit/prizm-docs/*.prizm` — Structurally synced + TRAPS/RULES/DECISIONS enriched
90
+ - `.prizmkit/prizm-docs/changelog.prizm` — Appended entries
91
+ - All `.prizmkit/prizm-docs/` changes staged via `git add`
@@ -6,7 +6,7 @@
6
6
  - `review-report.md` in the artifact directory — read the findings and fix instructions. If this file exists, use it as a source for pre-categorized decisions and findings.
7
7
  - `plan.md` in the artifact directory — read planned vs actual
8
8
  - Any companion documents in the artifact directory (e.g., `refactor-analysis.md`, `fix-report.md`) — read what was discovered
9
- - The relevant `.prizm-docs/` L1/L2 docs for affected modules
9
+ - The relevant `.prizmkit/prizm-docs/` L1/L2 docs for affected modules
10
10
 
11
11
  **2b.** Extract knowledge from what was **observed in code**, not invented:
12
12
 
@@ -38,9 +38,9 @@ When writing TRAPS:
38
38
  - Only record decisions that a future AI session would benefit from knowing
39
39
  - Do NOT record obvious implementation details that can be derived by reading the code
40
40
 
41
- **QUALITY GATE**: Every item must answer: "If a new AI session reads only `.prizm-docs/` and this entry, does it gain actionable understanding?" If not, discard. Do not record trivially observable code patterns — the AI can read the code directly.
41
+ **QUALITY GATE**: Every item must answer: "If a new AI session reads only `.prizmkit/prizm-docs/` and this entry, does it gain actionable understanding?" If not, discard. Do not record trivially observable code patterns — the AI can read the code directly.
42
42
 
43
- **2c.** Inject into the correct `.prizm-docs/` file:
43
+ **2c.** Inject into the correct `.prizmkit/prizm-docs/` file:
44
44
  - Module-level TRAPS/RULES/DECISIONS → the affected **L2** `.prizm` file. If the target L2 does not exist, create it first using the L2 GENERATION TEMPLATE before injecting knowledge. (TRAPS/DECISIONS/RULES belong in L2, not L1.)
45
45
  - Project-level RULES/PATTERNS → `root.prizm` (respect the current format — MODULE_INDEX or MODULE_GROUPS — do not convert between them during injection)
46
46
  - Cross-module concerns spanning 2+ modules → `root.prizm` CROSS_CUTTING section
@@ -5,7 +5,7 @@
5
5
  git diff HEAD --name-status
6
6
  ```
7
7
 
8
- **1b.** Read `.prizm-docs/root.prizm` to get MODULE_INDEX (or MODULE_GROUPS). Map each changed file to its module.
8
+ **1b.** Read `.prizmkit/prizm-docs/root.prizm` to get MODULE_INDEX (or MODULE_GROUPS). Map each changed file to its module.
9
9
 
10
10
  **1c.** Classify changes:
11
11
  - `A` (added) → add to KEY_FILES, check for new INTERFACES
@@ -27,11 +27,11 @@ User says:
27
27
  Pipeline commands (for reference — Phase 1.3 will present these as a selectable option):
28
28
 
29
29
  ```bash
30
- ./dev-pipeline/run-recovery.sh # Auto-detect and recover
31
- ./dev-pipeline/run-recovery.sh detect # Detection report only
32
- ./dev-pipeline/run-recovery.sh run --dry-run # Generate prompt, don't execute
33
- ./dev-pipeline/run-recovery.sh run --yes # Skip confirmation
34
- ./dev-pipeline/run-recovery.sh run --model <model> # Override AI model
30
+ ./.prizmkit/dev-pipeline/run-recovery.sh # Auto-detect and recover
31
+ ./.prizmkit/dev-pipeline/run-recovery.sh detect # Detection report only
32
+ ./.prizmkit/dev-pipeline/run-recovery.sh run --dry-run # Generate prompt, don't execute
33
+ ./.prizmkit/dev-pipeline/run-recovery.sh run --yes # Skip confirmation
34
+ ./.prizmkit/dev-pipeline/run-recovery.sh run --model <model> # Override AI model
35
35
  ```
36
36
 
37
37
  ### When to use pipeline vs interactive recovery
@@ -141,19 +141,19 @@ Before showing the recovery report, run a comprehensive diagnosis:
141
141
  2. **Scan all pipelines for failed/in-progress tasks**:
142
142
  ```bash
143
143
  # Feature pipeline
144
- python3 dev-pipeline/scripts/update-feature-status.py \
144
+ python3 .prizmkit/dev-pipeline/scripts/update-feature-status.py \
145
145
  --feature-list .prizmkit/plans/feature-list.json \
146
146
  --state-dir .prizmkit/state/features \
147
147
  --action status 2>/dev/null
148
148
 
149
149
  # Bugfix pipeline
150
- python3 dev-pipeline/scripts/update-bug-status.py \
150
+ python3 .prizmkit/dev-pipeline/scripts/update-bug-status.py \
151
151
  --bug-list .prizmkit/plans/bug-fix-list.json \
152
152
  --state-dir .prizmkit/state/bugfix \
153
153
  --action status 2>/dev/null
154
154
 
155
155
  # Refactor pipeline
156
- python3 dev-pipeline/scripts/update-refactor-status.py \
156
+ python3 .prizmkit/dev-pipeline/scripts/update-refactor-status.py \
157
157
  --refactor-list .prizmkit/plans/refactor-list.json \
158
158
  --state-dir .prizmkit/state/refactor \
159
159
  --action status 2>/dev/null
@@ -259,7 +259,7 @@ AskUserQuestion:
259
259
  header: "Recovery"
260
260
  options:
261
261
  - label: "Run recovery script (Recommended)"
262
- description: "Execute ./dev-pipeline/run-recovery.sh — autonomously completes ALL remaining phases (review, commit, merge, etc.) via a dedicated AI session with explicit phase instructions"
262
+ description: "Execute ./.prizmkit/dev-pipeline/run-recovery.sh — autonomously completes ALL remaining phases (review, commit, merge, etc.) via a dedicated AI session with explicit phase instructions"
263
263
  - label: "Copy command and run manually"
264
264
  description: "I'll give you the exact shell command to paste into your terminal — you run it yourself outside this session"
265
265
  - label: "Resume interactively in this session"
@@ -270,7 +270,7 @@ AskUserQuestion:
270
270
 
271
271
  **If "Run recovery script"** → Execute the pipeline recovery:
272
272
  ```bash
273
- ./dev-pipeline/run-recovery.sh
273
+ ./.prizmkit/dev-pipeline/run-recovery.sh
274
274
  ```
275
275
  The script handles everything: detection, confirmation, prompt generation, session spawn, and post-session validation. **End this skill after launching the script** — do not proceed to Phase 2.
276
276
 
@@ -278,12 +278,12 @@ The script handles everything: detection, confirmation, prompt generation, sessi
278
278
  ```
279
279
  To recover, run this command in your project root:
280
280
 
281
- ./dev-pipeline/run-recovery.sh
281
+ ./.prizmkit/dev-pipeline/run-recovery.sh
282
282
 
283
283
  Or with options:
284
- ./dev-pipeline/run-recovery.sh run --dry-run # Preview the recovery prompt first
285
- ./dev-pipeline/run-recovery.sh run --yes # Skip confirmation
286
- ./dev-pipeline/run-recovery.sh run --model <model> # Specify AI model
284
+ ./.prizmkit/dev-pipeline/run-recovery.sh run --dry-run # Preview the recovery prompt first
285
+ ./.prizmkit/dev-pipeline/run-recovery.sh run --yes # Skip confirmation
286
+ ./.prizmkit/dev-pipeline/run-recovery.sh run --model <model> # Specify AI model
287
287
  ```
288
288
  **End this skill** — do not proceed to Phase 2. The user will run the command themselves.
289
289
 
@@ -312,7 +312,7 @@ End this skill.
312
312
  - If `context-snapshot.md` exists in the artifact directory → read it first. It provides a snapshot of completed tasks, key decisions, and remaining work from the interrupted session.
313
313
  - If `session-summary.md` exists → read it for a lightweight summary of the previous session.
314
314
  - Then read remaining artifacts: spec.md, plan.md, review-report.md, code diffs, bug descriptions, etc.
315
- 3. **Read relevant `.prizm-docs/`** — load project context (L0 root, relevant L1/L2 for affected modules).
315
+ 3. **Read relevant `.prizmkit/prizm-docs/`** — load project context (L0 root, relevant L1/L2 for affected modules).
316
316
 
317
317
  This step replaces the context that was lost when the AI session was interrupted.
318
318
 
@@ -354,7 +354,6 @@ def detect_code_changes(project_root, main_branch="main"):
354
354
  # Note: .prizmkit/plans/*.json paths are caught by IGNORED_PREFIXES below
355
355
  IGNORED_PREFIXES = (
356
356
  ".prizmkit/",
357
- ".prizm-docs/",
358
357
  ".claude/",
359
358
  ".codebuddy/",
360
359
  )