prizmkit 1.1.100 → 1.1.102

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 (317) hide show
  1. package/bin/create-prizmkit.js +4 -4
  2. package/bundled/VERSION.json +3 -3
  3. package/bundled/dev-pipeline/.env.example +3 -3
  4. package/bundled/dev-pipeline/README.md +110 -90
  5. package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
  6. package/bundled/dev-pipeline/cli.py +27 -0
  7. package/bundled/dev-pipeline/prizmkit_runtime/__init__.py +13 -0
  8. package/bundled/dev-pipeline/prizmkit_runtime/__main__.py +9 -0
  9. package/bundled/dev-pipeline/prizmkit_runtime/cli.py +193 -0
  10. package/bundled/dev-pipeline/prizmkit_runtime/commands.py +313 -0
  11. package/bundled/dev-pipeline/prizmkit_runtime/compat.py +32 -0
  12. package/bundled/dev-pipeline/prizmkit_runtime/config.py +410 -0
  13. package/bundled/dev-pipeline/prizmkit_runtime/daemon.py +478 -0
  14. package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +734 -0
  15. package/bundled/dev-pipeline/prizmkit_runtime/heartbeat.py +256 -0
  16. package/bundled/dev-pipeline/prizmkit_runtime/interoperability.py +109 -0
  17. package/bundled/dev-pipeline/prizmkit_runtime/paths.py +110 -0
  18. package/bundled/dev-pipeline/prizmkit_runtime/processes.py +373 -0
  19. package/bundled/dev-pipeline/prizmkit_runtime/reset.py +389 -0
  20. package/bundled/dev-pipeline/prizmkit_runtime/runner_bookkeeping.py +51 -0
  21. package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +179 -0
  22. package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +355 -0
  23. package/bundled/dev-pipeline/prizmkit_runtime/runner_prompts.py +118 -0
  24. package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +187 -0
  25. package/bundled/dev-pipeline/prizmkit_runtime/runner_status.py +153 -0
  26. package/bundled/dev-pipeline/prizmkit_runtime/runners.py +425 -0
  27. package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +560 -0
  28. package/bundled/dev-pipeline/prizmkit_runtime/status.py +71 -0
  29. package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +51 -36
  30. package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +20 -5
  31. package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +2 -2
  32. package/bundled/dev-pipeline/scripts/parse-stream-progress.py +39 -0
  33. package/bundled/dev-pipeline/templates/agent-prompts/dev-implement.md +8 -2
  34. package/bundled/dev-pipeline/templates/agent-prompts/reviewer-review.md +1 -1
  35. package/bundled/dev-pipeline/templates/bootstrap-prompt.md +6 -2
  36. package/bundled/dev-pipeline/templates/bootstrap-tier1.md +14 -6
  37. package/bundled/dev-pipeline/templates/bootstrap-tier2.md +14 -4
  38. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +14 -4
  39. package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +2 -0
  40. package/bundled/dev-pipeline/templates/sections/log-size-awareness.md +9 -30
  41. package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +15 -7
  42. package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +42 -29
  43. package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +41 -39
  44. package/bundled/dev-pipeline/templates/sections/phase-implement-lite.md +8 -17
  45. package/bundled/dev-pipeline/templates/sections/phase-prizmkit-test.md +2 -2
  46. package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +1 -3
  47. package/bundled/dev-pipeline/templates/sections/phase-review-full.md +1 -3
  48. package/bundled/dev-pipeline/templates/sections/phase0-test-baseline.md +3 -8
  49. package/bundled/dev-pipeline/templates/sections/test-failure-recovery-agent.md +6 -2
  50. package/bundled/dev-pipeline/templates/sections/test-failure-recovery-lite.md +5 -1
  51. package/bundled/dev-pipeline/tests/test_auto_skip.py +436 -14
  52. package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +115 -7
  53. package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +40 -0
  54. package/bundled/dev-pipeline/tests/test_python_runner_parity.py +1226 -0
  55. package/bundled/dev-pipeline/tests/test_unified_cli.py +1045 -0
  56. package/bundled/skills/_metadata.json +1 -1
  57. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +29 -34
  58. package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +6 -5
  59. package/bundled/skills/feature-pipeline-launcher/SKILL.md +29 -35
  60. package/bundled/skills/feature-pipeline-launcher/references/configuration.md +7 -6
  61. package/bundled/skills/feature-workflow/SKILL.md +3 -6
  62. package/bundled/skills/recovery-workflow/SKILL.md +23 -32
  63. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +29 -35
  64. package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +7 -6
  65. package/bundled/skills/refactor-workflow/SKILL.md +3 -6
  66. package/bundled/templates/hooks/commit-intent.json +2 -2
  67. package/bundled/templates/hooks/diff-prizm-docs.py +226 -0
  68. package/bundled/templates/hooks/prizm-pre-commit.py +45 -0
  69. package/bundled/templates/hooks/validate-prizm-docs.py +240 -0
  70. package/package.json +1 -1
  71. package/src/config.js +42 -19
  72. package/src/external-skills.js +14 -14
  73. package/src/index.js +3 -6
  74. package/src/manifest.js +11 -5
  75. package/src/metadata.js +7 -18
  76. package/src/platforms.js +25 -0
  77. package/src/prompts.js +0 -12
  78. package/src/runtimes.js +18 -11
  79. package/src/scaffold.js +144 -122
  80. package/src/upgrade.js +12 -3
  81. package/bundled/dev-pipeline/launch-bugfix-daemon.sh +0 -500
  82. package/bundled/dev-pipeline/launch-feature-daemon.sh +0 -657
  83. package/bundled/dev-pipeline/launch-refactor-daemon.sh +0 -502
  84. package/bundled/dev-pipeline/lib/branch.sh +0 -326
  85. package/bundled/dev-pipeline/lib/common.sh +0 -1476
  86. package/bundled/dev-pipeline/lib/heartbeat.sh +0 -469
  87. package/bundled/dev-pipeline/reset-bug.sh +0 -425
  88. package/bundled/dev-pipeline/reset-feature.sh +0 -436
  89. package/bundled/dev-pipeline/reset-refactor.sh +0 -423
  90. package/bundled/dev-pipeline/run-bugfix.sh +0 -1430
  91. package/bundled/dev-pipeline/run-feature.sh +0 -1718
  92. package/bundled/dev-pipeline/run-recovery.sh +0 -648
  93. package/bundled/dev-pipeline/run-refactor.sh +0 -1463
  94. package/bundled/dev-pipeline/tests/test-path-resolution.sh +0 -100
  95. package/bundled/dev-pipeline-windows/.env.example +0 -36
  96. package/bundled/dev-pipeline-windows/README.md +0 -30
  97. package/bundled/dev-pipeline-windows/SCHEMA_ANALYSIS.md +0 -533
  98. package/bundled/dev-pipeline-windows/assets/feature-list-example.json +0 -146
  99. package/bundled/dev-pipeline-windows/assets/prizm-dev-team-integration.md +0 -137
  100. package/bundled/dev-pipeline-windows/launch-bugfix-daemon.ps1 +0 -9
  101. package/bundled/dev-pipeline-windows/launch-feature-daemon.ps1 +0 -9
  102. package/bundled/dev-pipeline-windows/launch-refactor-daemon.ps1 +0 -9
  103. package/bundled/dev-pipeline-windows/lib/branch.ps1 +0 -235
  104. package/bundled/dev-pipeline-windows/lib/common.ps1 +0 -991
  105. package/bundled/dev-pipeline-windows/lib/daemon.ps1 +0 -140
  106. package/bundled/dev-pipeline-windows/lib/pipeline.ps1 +0 -1051
  107. package/bundled/dev-pipeline-windows/lib/reset.ps1 +0 -121
  108. package/bundled/dev-pipeline-windows/reset-bug.ps1 +0 -10
  109. package/bundled/dev-pipeline-windows/reset-feature.ps1 +0 -10
  110. package/bundled/dev-pipeline-windows/reset-refactor.ps1 +0 -10
  111. package/bundled/dev-pipeline-windows/run-bugfix.ps1 +0 -9
  112. package/bundled/dev-pipeline-windows/run-feature.ps1 +0 -9
  113. package/bundled/dev-pipeline-windows/run-recovery.ps1 +0 -179
  114. package/bundled/dev-pipeline-windows/run-refactor.ps1 +0 -9
  115. package/bundled/dev-pipeline-windows/scripts/check-session-status.py +0 -301
  116. package/bundled/dev-pipeline-windows/scripts/continuation.py +0 -374
  117. package/bundled/dev-pipeline-windows/scripts/detect-stuck.py +0 -530
  118. package/bundled/dev-pipeline-windows/scripts/generate-bootstrap-prompt.py +0 -2279
  119. package/bundled/dev-pipeline-windows/scripts/generate-bugfix-prompt.py +0 -763
  120. package/bundled/dev-pipeline-windows/scripts/generate-recovery-prompt.py +0 -805
  121. package/bundled/dev-pipeline-windows/scripts/generate-refactor-prompt.py +0 -841
  122. package/bundled/dev-pipeline-windows/scripts/init-bugfix-pipeline.py +0 -316
  123. package/bundled/dev-pipeline-windows/scripts/init-dev-team.py +0 -134
  124. package/bundled/dev-pipeline-windows/scripts/init-pipeline.py +0 -382
  125. package/bundled/dev-pipeline-windows/scripts/init-refactor-pipeline.py +0 -399
  126. package/bundled/dev-pipeline-windows/scripts/parse-stream-progress.py +0 -1362
  127. package/bundled/dev-pipeline-windows/scripts/patch-completion-notes.py +0 -191
  128. package/bundled/dev-pipeline-windows/scripts/prizmkit-test-gate.py +0 -446
  129. package/bundled/dev-pipeline-windows/scripts/update-bug-status.py +0 -1121
  130. package/bundled/dev-pipeline-windows/scripts/update-checkpoint.py +0 -173
  131. package/bundled/dev-pipeline-windows/scripts/update-feature-status.py +0 -1789
  132. package/bundled/dev-pipeline-windows/scripts/update-refactor-status.py +0 -1327
  133. package/bundled/dev-pipeline-windows/scripts/utils.py +0 -542
  134. package/bundled/dev-pipeline-windows/templates/agent-prompts/critic-plan-challenge.md +0 -7
  135. package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-fix.md +0 -7
  136. package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-implement.md +0 -65
  137. package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-resume.md +0 -5
  138. package/bundled/dev-pipeline-windows/templates/agent-prompts/reviewer-review.md +0 -7
  139. package/bundled/dev-pipeline-windows/templates/bootstrap-prompt.md +0 -73
  140. package/bundled/dev-pipeline-windows/templates/bootstrap-tier1.md +0 -589
  141. package/bundled/dev-pipeline-windows/templates/bootstrap-tier2.md +0 -710
  142. package/bundled/dev-pipeline-windows/templates/bootstrap-tier3.md +0 -791
  143. package/bundled/dev-pipeline-windows/templates/bug-fix-list-schema.json +0 -263
  144. package/bundled/dev-pipeline-windows/templates/bugfix-bootstrap-prompt.md +0 -326
  145. package/bundled/dev-pipeline-windows/templates/feature-list-schema.json +0 -237
  146. package/bundled/dev-pipeline-windows/templates/refactor-bootstrap-prompt.md +0 -340
  147. package/bundled/dev-pipeline-windows/templates/refactor-list-schema.json +0 -270
  148. package/bundled/dev-pipeline-windows/templates/sections/ac-verification-checklist.md +0 -7
  149. package/bundled/dev-pipeline-windows/templates/sections/checkpoint-system.md +0 -91
  150. package/bundled/dev-pipeline-windows/templates/sections/context-budget-rules.md +0 -34
  151. package/bundled/dev-pipeline-windows/templates/sections/critical-paths-agent.md +0 -10
  152. package/bundled/dev-pipeline-windows/templates/sections/critical-paths-full.md +0 -12
  153. package/bundled/dev-pipeline-windows/templates/sections/critical-paths-lite.md +0 -7
  154. package/bundled/dev-pipeline-windows/templates/sections/directory-convention-agent.md +0 -8
  155. package/bundled/dev-pipeline-windows/templates/sections/directory-convention-full.md +0 -9
  156. package/bundled/dev-pipeline-windows/templates/sections/directory-convention-lite.md +0 -6
  157. package/bundled/dev-pipeline-windows/templates/sections/failure-capture.md +0 -21
  158. package/bundled/dev-pipeline-windows/templates/sections/feature-context.md +0 -21
  159. package/bundled/dev-pipeline-windows/templates/sections/log-size-awareness.md +0 -41
  160. package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-auto.md +0 -283
  161. package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-opencli.md +0 -112
  162. package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification.md +0 -168
  163. package/bundled/dev-pipeline-windows/templates/sections/phase-commit-full.md +0 -82
  164. package/bundled/dev-pipeline-windows/templates/sections/phase-commit.md +0 -75
  165. package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-agent-suffix.md +0 -23
  166. package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-base.md +0 -14
  167. package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-lite-suffix.md +0 -19
  168. package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan-full.md +0 -63
  169. package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan.md +0 -42
  170. package/bundled/dev-pipeline-windows/templates/sections/phase-implement-agent.md +0 -44
  171. package/bundled/dev-pipeline-windows/templates/sections/phase-implement-full.md +0 -59
  172. package/bundled/dev-pipeline-windows/templates/sections/phase-implement-lite.md +0 -39
  173. package/bundled/dev-pipeline-windows/templates/sections/phase-plan-agent.md +0 -27
  174. package/bundled/dev-pipeline-windows/templates/sections/phase-plan-lite.md +0 -27
  175. package/bundled/dev-pipeline-windows/templates/sections/phase-prizmkit-test.md +0 -39
  176. package/bundled/dev-pipeline-windows/templates/sections/phase-review-agent.md +0 -35
  177. package/bundled/dev-pipeline-windows/templates/sections/phase-review-full.md +0 -35
  178. package/bundled/dev-pipeline-windows/templates/sections/phase-specify-plan-full.md +0 -73
  179. package/bundled/dev-pipeline-windows/templates/sections/phase0-init.md +0 -13
  180. package/bundled/dev-pipeline-windows/templates/sections/phase0-test-baseline.md +0 -21
  181. package/bundled/dev-pipeline-windows/templates/sections/session-context.md +0 -5
  182. package/bundled/dev-pipeline-windows/templates/sections/subagent-timeout-recovery.md +0 -6
  183. package/bundled/dev-pipeline-windows/templates/sections/task-contract.md +0 -34
  184. package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-agent.md +0 -48
  185. package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-lite.md +0 -48
  186. package/bundled/dev-pipeline-windows/templates/session-status-schema.json +0 -83
  187. package/bundled/skills-windows/app-planner/SKILL.md +0 -296
  188. package/bundled/skills-windows/app-planner/assets/app-design-guide.md +0 -101
  189. package/bundled/skills-windows/app-planner/references/architecture-decisions.md +0 -52
  190. package/bundled/skills-windows/app-planner/references/brainstorm-guide.md +0 -101
  191. package/bundled/skills-windows/app-planner/references/frontend-design-guide.md +0 -71
  192. package/bundled/skills-windows/app-planner/references/infrastructure-convention-discovery.md +0 -108
  193. package/bundled/skills-windows/app-planner/references/project-brief-guide.md +0 -82
  194. package/bundled/skills-windows/app-planner/references/project-conventions-discovery.md +0 -59
  195. package/bundled/skills-windows/app-planner/references/project-state-detection.md +0 -90
  196. package/bundled/skills-windows/app-planner/references/red-team-checklist.md +0 -40
  197. package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +0 -619
  198. package/bundled/skills-windows/app-planner/references/rules/backend/fixed-rules.md +0 -285
  199. package/bundled/skills-windows/app-planner/references/rules/backend/question-bank.md +0 -249
  200. package/bundled/skills-windows/app-planner/references/rules/backend/question-manifest.json +0 -46
  201. package/bundled/skills-windows/app-planner/references/rules/backend/template.md +0 -173
  202. package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +0 -382
  203. package/bundled/skills-windows/app-planner/references/rules/database/fixed-rules.md +0 -211
  204. package/bundled/skills-windows/app-planner/references/rules/database/question-bank.md +0 -184
  205. package/bundled/skills-windows/app-planner/references/rules/database/question-manifest.json +0 -39
  206. package/bundled/skills-windows/app-planner/references/rules/database/template.md +0 -158
  207. package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +0 -820
  208. package/bundled/skills-windows/app-planner/references/rules/frontend/fixed-rules.md +0 -188
  209. package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +0 -319
  210. package/bundled/skills-windows/app-planner/references/rules/frontend/question-manifest.json +0 -51
  211. package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +0 -339
  212. package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +0 -649
  213. package/bundled/skills-windows/app-planner/references/rules/mobile/fixed-rules.md +0 -290
  214. package/bundled/skills-windows/app-planner/references/rules/mobile/question-bank.md +0 -232
  215. package/bundled/skills-windows/app-planner/references/rules/mobile/question-manifest.json +0 -47
  216. package/bundled/skills-windows/app-planner/references/rules/mobile/template.md +0 -175
  217. package/bundled/skills-windows/app-planner/references/rules-configuration.md +0 -46
  218. package/bundled/skills-windows/bug-fix-workflow/SKILL.md +0 -379
  219. package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +0 -41
  220. package/bundled/skills-windows/bug-planner/SKILL.md +0 -402
  221. package/bundled/skills-windows/bug-planner/assets/bug-confirmation-template.md +0 -43
  222. package/bundled/skills-windows/bug-planner/references/critic-and-verification.md +0 -44
  223. package/bundled/skills-windows/bug-planner/references/error-recovery.md +0 -73
  224. package/bundled/skills-windows/bug-planner/references/input-formats.md +0 -53
  225. package/bundled/skills-windows/bug-planner/references/schema-validation.md +0 -25
  226. package/bundled/skills-windows/bug-planner/references/severity-rules.md +0 -16
  227. package/bundled/skills-windows/bug-planner/scripts/validate-bug-list.py +0 -322
  228. package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +0 -304
  229. package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +0 -84
  230. package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +0 -381
  231. package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +0 -67
  232. package/bundled/skills-windows/feature-pipeline-launcher/scripts/preflight-check.py +0 -462
  233. package/bundled/skills-windows/feature-planner/SKILL.md +0 -397
  234. package/bundled/skills-windows/feature-planner/assets/evaluation-guide.md +0 -64
  235. package/bundled/skills-windows/feature-planner/assets/planning-guide.md +0 -214
  236. package/bundled/skills-windows/feature-planner/references/browser-interaction.md +0 -59
  237. package/bundled/skills-windows/feature-planner/references/completeness-review.md +0 -57
  238. package/bundled/skills-windows/feature-planner/references/decomposition-patterns.md +0 -75
  239. package/bundled/skills-windows/feature-planner/references/error-recovery.md +0 -90
  240. package/bundled/skills-windows/feature-planner/references/incremental-feature-planning.md +0 -112
  241. package/bundled/skills-windows/feature-planner/references/new-project-planning.md +0 -85
  242. package/bundled/skills-windows/feature-planner/scripts/validate-and-generate.py +0 -1020
  243. package/bundled/skills-windows/feature-workflow/SKILL.md +0 -374
  244. package/bundled/skills-windows/feature-workflow/references/brainstorm-guide.md +0 -137
  245. package/bundled/skills-windows/prizm-kit/SKILL.md +0 -93
  246. package/bundled/skills-windows/prizmkit-code-review/SKILL.md +0 -161
  247. package/bundled/skills-windows/prizmkit-code-review/references/dev-agent-prompt.md +0 -30
  248. package/bundled/skills-windows/prizmkit-code-review/references/review-report-template.md +0 -31
  249. package/bundled/skills-windows/prizmkit-code-review/references/reviewer-agent-prompt.md +0 -66
  250. package/bundled/skills-windows/prizmkit-code-review/scripts/check_loop.py +0 -186
  251. package/bundled/skills-windows/prizmkit-committer/SKILL.md +0 -89
  252. package/bundled/skills-windows/prizmkit-deploy/SKILL.md +0 -444
  253. package/bundled/skills-windows/prizmkit-deploy/references/ci-cd-workflows.md +0 -115
  254. package/bundled/skills-windows/prizmkit-deploy/references/cloud-platform-deploy.md +0 -93
  255. package/bundled/skills-windows/prizmkit-deploy/references/data-safety-examples.md +0 -120
  256. package/bundled/skills-windows/prizmkit-deploy/references/database-setup.md +0 -46
  257. package/bundled/skills-windows/prizmkit-deploy/references/deploy-config-schema.md +0 -148
  258. package/bundled/skills-windows/prizmkit-deploy/references/deploy-history-schema.md +0 -62
  259. package/bundled/skills-windows/prizmkit-deploy/references/deployment-modes.md +0 -50
  260. package/bundled/skills-windows/prizmkit-deploy/references/direct-upload.md +0 -26
  261. package/bundled/skills-windows/prizmkit-deploy/references/dns-setup.md +0 -42
  262. package/bundled/skills-windows/prizmkit-deploy/references/docker-deploy.md +0 -31
  263. package/bundled/skills-windows/prizmkit-deploy/references/firewall-setup.md +0 -37
  264. package/bundled/skills-windows/prizmkit-deploy/references/live-validation-notes.md +0 -21
  265. package/bundled/skills-windows/prizmkit-deploy/references/nginx-blue-green.md +0 -59
  266. package/bundled/skills-windows/prizmkit-deploy/references/ssh-bootstrap-flow.md +0 -49
  267. package/bundled/skills-windows/prizmkit-deploy/references/ssh-execution-flow.md +0 -41
  268. package/bundled/skills-windows/prizmkit-deploy/references/ssh-takeover.md +0 -20
  269. package/bundled/skills-windows/prizmkit-deploy/references/ssl-setup.md +0 -56
  270. package/bundled/skills-windows/prizmkit-implement/SKILL.md +0 -71
  271. package/bundled/skills-windows/prizmkit-init/SKILL.md +0 -356
  272. package/bundled/skills-windows/prizmkit-init/assets/project-brief-template.md +0 -82
  273. package/bundled/skills-windows/prizmkit-init/references/config-schema.md +0 -70
  274. package/bundled/skills-windows/prizmkit-init/references/rules/layer-detection.md +0 -41
  275. package/bundled/skills-windows/prizmkit-init/references/tech-stack-catalog.md +0 -13
  276. package/bundled/skills-windows/prizmkit-init/references/update-supplement.md +0 -9
  277. package/bundled/skills-windows/prizmkit-plan/SKILL.md +0 -102
  278. package/bundled/skills-windows/prizmkit-plan/assets/plan-template.md +0 -115
  279. package/bundled/skills-windows/prizmkit-plan/assets/spec-template.md +0 -73
  280. package/bundled/skills-windows/prizmkit-plan/references/clarify-guide.md +0 -67
  281. package/bundled/skills-windows/prizmkit-plan/references/examples.md +0 -85
  282. package/bundled/skills-windows/prizmkit-plan/references/verification-checklist.md +0 -60
  283. package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +0 -129
  284. package/bundled/skills-windows/prizmkit-prizm-docs/assets/prizm-docs-format.md +0 -613
  285. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-init.md +0 -45
  286. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-rebuild.md +0 -15
  287. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-status.md +0 -14
  288. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-update.md +0 -19
  289. package/bundled/skills-windows/prizmkit-prizm-docs/references/op-validate.md +0 -17
  290. package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +0 -87
  291. package/bundled/skills-windows/prizmkit-retrospective/references/knowledge-injection-steps.md +0 -50
  292. package/bundled/skills-windows/prizmkit-retrospective/references/structural-sync-steps.md +0 -43
  293. package/bundled/skills-windows/prizmkit-test/SKILL.md +0 -227
  294. package/bundled/skills-windows/prizmkit-test/references/boundary-coverage-protocol.md +0 -220
  295. package/bundled/skills-windows/prizmkit-test/references/examples.md +0 -143
  296. package/bundled/skills-windows/prizmkit-test/references/service-boundary-test-catalog.md +0 -225
  297. package/bundled/skills-windows/prizmkit-test/references/test-generation-steps.md +0 -109
  298. package/bundled/skills-windows/prizmkit-test/references/test-report-template.md +0 -111
  299. package/bundled/skills-windows/prizmkit-test/scripts/validate_boundary_report.py +0 -347
  300. package/bundled/skills-windows/recovery-workflow/SKILL.md +0 -355
  301. package/bundled/skills-windows/recovery-workflow/evals/evals.json +0 -46
  302. package/bundled/skills-windows/recovery-workflow/references/detection.md +0 -58
  303. package/bundled/skills-windows/recovery-workflow/scripts/detect-recovery-state.py +0 -544
  304. package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +0 -346
  305. package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +0 -72
  306. package/bundled/skills-windows/refactor-planner/SKILL.md +0 -398
  307. package/bundled/skills-windows/refactor-planner/assets/planning-guide.md +0 -292
  308. package/bundled/skills-windows/refactor-planner/references/behavior-preservation.md +0 -301
  309. package/bundled/skills-windows/refactor-planner/references/fast-path.md +0 -59
  310. package/bundled/skills-windows/refactor-planner/references/planning-phases.md +0 -135
  311. package/bundled/skills-windows/refactor-planner/references/refactor-scoping-guide.md +0 -221
  312. package/bundled/skills-windows/refactor-planner/scripts/validate-and-generate-refactor.py +0 -858
  313. package/bundled/skills-windows/refactor-workflow/SKILL.md +0 -343
  314. package/bundled/skills-windows/refactor-workflow/references/brainstorm-guide.md +0 -116
  315. package/bundled/templates/hooks/diff-prizm-docs.sh +0 -158
  316. package/bundled/templates/hooks/prizm-pre-commit.sh +0 -108
  317. package/bundled/templates/hooks/validate-prizm-docs.sh +0 -139
@@ -1,188 +0,0 @@
1
- # Fixed Rules — Complete Frontend Fixed Rules
2
-
3
- > This file is read by the `frontend-rules` skill in Phase 1 and injected directly into `frontend-rules.md`.
4
- > These rules are industry consensus / best practices — **do not ask the user**.
5
- > Every rule includes RATIONALE so the AI understands intent, not just constraints.
6
-
7
- ---
8
-
9
- ## F1. Types & Code Quality
10
-
11
- ### F1.1 TypeScript Strict Mode
12
- - **Rule**: `tsconfig.json` must enable `"strict": true`.
13
- - **Forbidden**: Using `any`. Use `unknown` and apply type guards before use.
14
- - **Forbidden**: `@ts-ignore`. If ignoring is necessary, use `@ts-expect-error` with a reason comment.
15
- - **RATIONALE**: Types are the safety net for large projects. AI understands context more accurately in strict mode.
16
-
17
- ### F1.2 Lint & Formatting
18
- - **Rule**: ESLint + Prettier config must be committed to the repository root.
19
- - **Rule**: Git pre-commit hooks (husky + lint-staged) enforce lint and format.
20
- - **Forbidden**: Committing `console.log`, `debugger`, unattributed `TODO` (must include issue number or owner).
21
- - **RATIONALE**: Automated guardrails are always more reliable than manual review.
22
-
23
- ### F1.3 Naming Conventions
24
- - **Component files**: PascalCase (`UserCard.tsx`)
25
- - **Hook files**: camelCase prefixed with `use` (`useAuth.ts`)
26
- - **Utility functions**: camelCase (`formatDate.ts`)
27
- - **Constants**: SCREAMING_SNAKE_CASE (`MAX_RETRY_COUNT`)
28
- - **Types/Interfaces**: PascalCase. Avoid `I` prefix (`User`, not `IUser`).
29
- - **Forbidden**: Pinyin names, meaningless abbreviations (`a`/`b`/`tmp`), numeric suffixes (`button2`/`utils3`).
30
- - **RATIONALE**: Consistent naming significantly improves AI search/completion hit rates.
31
-
32
- ---
33
-
34
- ## F2. Style Deny List (universally applicable)
35
-
36
- - **Forbid** `!important` (unless overriding uncontrollable third-party styles, with a comment explaining why).
37
- - **Forbid** hardcoded color values (must use design tokens).
38
- - **Forbid** hardcoded font sizes, line heights, spacing, border radius, shadows, animation durations.
39
- - **Forbid** magic numbers (must use named constants).
40
- - **Forbid** inline `style` attributes (unless for dynamically computed positions/sizes, with a comment).
41
- - **Forbid** raw `z-index` numbers (must use a z-index layer constant).
42
- - **RATIONALE**: Hardcoded values make the design system meaningless. Once AI learns to hardcode, it spreads everywhere.
43
-
44
- ---
45
-
46
- ## F3. Component Design
47
-
48
- ### F3.1 Component Contract
49
- - **Rule**: All Props must have complete TypeScript types. Forbid `Props: any`.
50
- - **Rule**: Components must support `className` forwarding, merged via `clsx`/`cn`.
51
- - **Rule**: Controlled vs. uncontrolled must be explicit. "Semi-controlled" is not allowed.
52
- - **Rule**: Exposed `ref` must use `forwardRef` with typing.
53
- - **RATIONALE**: Unclear component contracts are the main reason AI breaks three things when changing one.
54
-
55
- ### F3.2 File Size
56
- - **Rule**: Single component file ≤ 300 lines (including comments).
57
- - **Rule**: Beyond this, split by logic/view/types into the same directory.
58
- - **RATIONALE**: Beyond 300 lines, the risk of AI losing context during modification spikes sharply.
59
-
60
- ### F3.3 Four-State Completeness
61
- - **Rule**: All data-driven views must explicitly handle `loading` / `error` / `empty` / `success` states.
62
- - **Forbid**: Using a truthy conditional render to gloss over the empty state.
63
- - **RATIONALE**: Missing states are the largest source of hidden UX bugs.
64
-
65
- ---
66
-
67
- ## F4. Internationalization (i18n) Baseline
68
-
69
- - **Forbid**: Hardcoding any user-visible text (buttons, titles, tooltips, error messages, empty states, placeholders).
70
- - **Rule**: All user-visible text must use i18n keys.
71
- - **Rule**: i18n key naming follows `page.section.element` three-segment format (e.g., `login.form.submitBtn`).
72
- - **Exception**: Pure brand names, trademarks, fixed acronyms (like `API`, `URL`) may be hardcoded.
73
- - **RATIONALE**: Even for single-language projects, reserving the i18n channel costs almost nothing. Retrofitting it later costs an enormous amount.
74
-
75
- ---
76
-
77
- ## F5. Error Handling
78
-
79
- - **Rule**: Route-level ErrorBoundary must exist.
80
- - **Rule**: Async operations must have loading + error UI. "Silent failure" is not allowed.
81
- - **Rule**: API failures must have user notification (toast/inline) + retry entry.
82
- - **Rule**: Caught errors must be reported to monitoring (Sentry / custom).
83
- - **Forbid**: `catch(e) {}` empty catch blocks.
84
- - **RATIONALE**: The worst frontend experience isn't a bug — it's "nothing happened."
85
-
86
- ---
87
-
88
- ## F6. Accessibility (a11y Baseline)
89
-
90
- - **Rule**: All interactive elements must be keyboard-operable (Tab/Enter/Space/Esc).
91
- - **Rule**: Images must have `alt`. Decorative images use `alt=""`.
92
- - **Rule**: Icon buttons must have `aria-label`.
93
- - **Rule**: Form controls must be associated with `<label>` (`htmlFor` or wrapping).
94
- - **Rule**: Modal open must move focus into the modal. Modal close must return focus to the trigger element.
95
- - **Forbid**: `<div onClick>` as a substitute for `<button>`.
96
- - **Forbid**: Conveying information through color alone (must pair with icon/text).
97
- - **RATIONALE**: a11y is not a moral requirement — it's a legal requirement (GDPR/ADA), and SEO shares the same foundation.
98
-
99
- ---
100
-
101
- ## F7. Git Collaboration
102
-
103
- ### F7.1 Branching & Commits
104
- - **Branch naming**: `feat/xxx`, `fix/xxx`, `refactor/xxx`, `chore/xxx`, `docs/xxx`.
105
- - **Commit messages**: Follow Conventional Commits (`type(scope): subject`).
106
- - **Rule**: Main branch protection. PR + Code Review required to merge.
107
- - **Rule**: Single PR changes ≤ 500 lines (generated code excluded). Beyond this, must split.
108
-
109
- ### F7.2 PR Self-Check Checklist (must review each item)
110
- - [ ] Local `lint` / `typecheck` / `test` all green
111
- - [ ] New components registered in component index
112
- - [ ] New user-visible text has i18n keys
113
- - [ ] Four states (loading/error/empty/success) covered
114
- - [ ] No hardcoded colors/font sizes/spacing
115
- - [ ] No `console.log` / `debugger` / `any`
116
- - [ ] Key changes have supporting description (screenshots / recordings / design links)
117
-
118
- ---
119
-
120
- ## F8. Security Baseline
121
-
122
- - **Forbid**: Writing API keys, tokens, or secrets into frontend code.
123
- - **Forbid**: Using `dangerouslySetInnerHTML` / `v-html` to render user input (must sanitize).
124
- - **Rule**: All external links with `target="_blank"` must include `rel="noopener noreferrer"`.
125
- - **Rule**: Form submission requires client-side validation, but **forbid** relying solely on client-side validation.
126
- - **Rule**: Sensitive operations (delete, payment) require secondary confirmation.
127
- - **RATIONALE**: The frontend is an attack surface, not a security boundary.
128
-
129
- ---
130
-
131
- ## F9. AI Vibecoding Baseline Constraints (project-agnostic, always active)
132
-
133
- ### F9.1 Search First
134
- - **Rule**: Before generating a new component, AI must search the `src/components/` index to check if a similar component already exists.
135
- - **Rule**: Before generating a utility function, AI must search `src/utils/` / `src/hooks/`. Forbid reinventing the wheel.
136
-
137
- ### F9.2 Dependency Control
138
- - **Rule**: AI must not introduce new npm dependencies on its own.
139
- - **Rule**: If a new dependency is truly needed, AI must **explicitly list** in its response: package name, version, reason, alternative comparison. Human reviews the `package.json` change.
140
-
141
- ### F9.3 Breaking Changes
142
- - **Rule**: Before modifying a shared component / common hook / common type, AI must first list **all callers**.
143
- - **Rule**: If the change would break callers, AI must provide a migration plan or refuse the change.
144
-
145
- ### F9.4 Context Honesty
146
- - **Rule**: When uncertain, AI must explicitly say "I'm not sure." Forbid inventing API paths, file paths, or field names.
147
- - **Rule**: AI must read the latest file contents before modifying. Forbid generating diffs based on guesswork.
148
-
149
- ### F9.5 Comment Obligation
150
- - **Rule**: Non-obvious AI-generated code must include a "why" comment (not "what").
151
- - **Forbid**: AI deleting existing comments (unless the corresponding code is also deleted).
152
-
153
- ---
154
-
155
- ## F10. Performance Baseline
156
-
157
- - **Rule**: List rendering must have `key`, and `key` must not use index (unless the list is purely static).
158
- - **Rule**: Long lists (>100 items) must use virtual scrolling.
159
- - **Rule**: Routes must be code-split (dynamic import).
160
- - **Rule**: Images must be lazy-loaded (`loading="lazy"`) + modern formats (webp/avif) + explicit width/height (prevents CLS).
161
- - **Rule**: Avoid creating new objects/functions in render (unless wrapped with memo).
162
- - **RATIONALE**: These are zero-cost performance optimizations. There is no reason not to do them.
163
-
164
- ---
165
-
166
- ## Injection Instructions (for the AI executing this skill)
167
-
168
- Each chapter in this file corresponds to a `{{ FIXED_RULES_* }}` placeholder in the template. During Phase 4 rendering, copy each chapter's full body (including RATIONALE) directly into the corresponding placeholder:
169
-
170
- | Chapter | Inject Into Placeholder | Template Section |
171
- |---------|------------------------|-------------------|
172
- | F1.1 TypeScript Strict Mode | `{{ FIXED_RULES_TYPESCRIPT }}` | §3.1 Type Safety |
173
- | F1.3 Naming Conventions | `{{ FIXED_RULES_NAMING }}` | §3.2 Naming Conventions |
174
- | F2 Style Deny List | `{{ FIXED_RULES_DENY_LIST }}` | §1.5 Style Deny List |
175
- | F3.1 Component Contract | `{{ FIXED_RULES_COMPONENT_CONTRACT }}` | §2.1 Component Contract |
176
- | F4 i18n Baseline | `{{ FIXED_RULES_I18N_BASELINE }}` | §5.4 Internationalization |
177
- | F5 Error Handling | `{{ FIXED_RULES_ERROR_HANDLING }}` | §5.2 Error Handling Rules |
178
- | F6 a11y Baseline | `{{ FIXED_RULES_A11Y }}` | §5.3 Accessibility |
179
- | F7 Git Collaboration | `{{ FIXED_RULES_GIT }}` | §8.1 Branching & Commits |
180
- | F8 Security Baseline | `{{ FIXED_RULES_SECURITY }}` | §9 Security Baseline |
181
- | F9 AI Baseline Constraints | `{{ FIXED_RULES_AI_BASE }}` | §7.1 Baseline Constraints |
182
- | F10 Performance Baseline | `{{ FIXED_RULES_PERFORMANCE }}` | §5.5 Performance Baseline |
183
-
184
- **Rendering rules**:
185
- 1. For chapters marked "already present as fixed text in template", AI does not need to re-inject — the template has them hardcoded.
186
- 2. Chapters marked "merged into..." should be prepended as baseline rules at the front of the corresponding derivation rule blocks.
187
- 3. **RATIONALE fields must be preserved** — they give AI the basis for judgment at boundary cases.
188
- 4. Keep the original markdown list structure when injecting. Do not rewrite as prose paragraphs.
@@ -1,319 +0,0 @@
1
- # Question Bank — Frontend Interactive Question Bank
2
-
3
- > This file is read on demand by SKILL.md in Phase 2. The AI must strictly follow the group order defined in this file, asking **one group at a time (1–5 questions)**, never dumping all questions at once.
4
- > For every question, show the user: question number, question text, options, **recommended choice (marked "Recommended")**, and a one-line description.
5
- > After each user response, immediately record the choice to internal state `answers[Qx] = ...` and proceed to the next group.
6
-
7
- ---
8
-
9
- ## Table of Contents
10
-
11
- - [Asking Rules](#asking-rules)
12
- - [Group Overview](#group-overview)
13
- - [G1 — Tech Stack](#g1--tech-stack)
14
- - [G2 — Styling](#g2--styling)
15
- - [G3 — State & Data Fetching](#g3--state--data-fetching)
16
- - [G4 — Design System](#g4--design-system)
17
- - [G5 — Responsive & Adaptation](#g5--responsive--adaptation)
18
- - [G6 — i18n & Accessibility](#g6--i18n--accessibility)
19
- - [G7 — Testing & Quality](#g7--testing--quality)
20
- - [G8 — AI Vibecoding Constraints](#g8--ai-vibecoding-constraints)
21
- - [G9 — Performance Baseline](#g9--performance-baseline)
22
-
23
- ---
24
-
25
-
26
- ## Asking Rules
27
-
28
- 1. **Group order**: G1 → G2 → G3 → G4 → G5 → G6 → G7 → G8 → G9. Do not skip.
29
- 2. **Shortcut commands** (respond immediately when user types these at any point):
30
- - `recommended` / `default` → skip current group, adopt all recommended options
31
- - `all recommended` / `one-click` → skip all remaining groups, adopt all recommended options
32
- - `strict` / `strictest` → adopt the strictest option for the current group
33
- - `skip` / `don't need this` → mark current group as N/A, note in output that "project does not require this yet"
34
- - `custom: xxx` → record user's custom content, do not match against options
35
- 3. **Abbreviation recognition**: `A` / `a` / `1` all mean option A. `A,C` means multi-select (only for multi-select questions).
36
- 4. **Follow-up rule**: If the user gives an answer outside the options (e.g., "I use Astro"), first confirm whether to classify as an "other" branch of an existing option before continuing.
37
- 5. **Forbidden behaviors**:
38
- - Must not make choices for the user before they explicitly answer.
39
- - Must not fabricate user preferences to complete the answer set.
40
- - Must not output more than 3 questions in a single message.
41
-
42
- ---
43
-
44
- ## Group Overview
45
-
46
- | Group | Topic | Questions | Count |
47
- |-------|-------|-----------|-------|
48
- | G1 | Tech Stack | Q1–Q3 | 3 |
49
- | G2 | Styling | Q4–Q4b | 2 |
50
- | G3 | State & Data Fetching | Q5–Q7 | 3 |
51
- | G4 | Design System | Q8–Q10 | 3 |
52
- | G5 | Responsive & Adaptation | Q11–Q12 | 2 |
53
- | G6 | i18n & Accessibility | Q13–Q14 | 2 |
54
- | G7 | Testing & Quality | Q15–Q17 | 3 |
55
- | G8 | AI Vibecoding Constraints | Q18–Q22 | 5 |
56
- | G9 | Performance Baseline | Q23–Q24 | 2 |
57
-
58
- Total: 25 questions.
59
-
60
- ---
61
-
62
- ## G1 — Tech Stack
63
-
64
- ### Q1. Frontend Framework
65
- - **Options**:
66
- - A) React 18+ **【Recommended】**
67
- - B) Vue 3
68
- - C) Svelte 5
69
- - D) Solid
70
- - E) Custom (specify version)
71
- - **Note**: Determines which hooks/Composition API-specific rules are injected.
72
- - **Maps to**: `{{ framework }}` (TL;DR) + `{{ tech_stack_rules }}` (derivation injection)
73
-
74
- ### Q2. Meta-Framework
75
- - **Options**:
76
- - A) Next.js (App Router) **【Recommended for React projects】**
77
- - B) Nuxt (Recommended for Vue projects)
78
- - C) Remix
79
- - D) Plain SPA (Vite)
80
- - E) Custom
81
- - **Note**: Affects SSR/RSC, routing conventions, data fetching rules.
82
- - **Maps to**: `{{ meta_framework }}` (TL;DR + §2.4) + `{{ tech_stack_rules }}` (derivation injection)
83
-
84
- ### Q3. Package Manager
85
- - **Options**:
86
- - A) pnpm **【Recommended】**
87
- - B) npm
88
- - C) yarn
89
- - D) bun
90
- - **Strict option**: A (pnpm, enforced workspace + lockfile commit)
91
- - **Note**: Affects monorepo capability, CI caching, lockfile rules.
92
- - **Maps to**: `{{ package_manager }}` (TL;DR) + `{{ tech_stack_rules }}` (derivation injection)
93
-
94
- ---
95
-
96
- ## G2 — Styling
97
-
98
- ### Q4. Styling Solution (**single choice, no mixing**)
99
- - **Options**:
100
- - A) Tailwind CSS **【Recommended: atomic, AI-friendly】**
101
- - B) CSS Modules
102
- - C) CSS-in-JS (styled-components / emotion)
103
- - D) UnoCSS
104
- - E) Plain CSS + BEM
105
- - **Strict option**: A (Tailwind + forbid arbitrary values)
106
- - **Note**: This choice determines the D2 branch rule set injected by derivation-rules.md (each option has dedicated rules).
107
- - **Maps to**: `{{ style_solution }}` (TL;DR) + `{{ style_specific_rules }}` (derivation injection into §2.3)
108
-
109
- ### Q4b. Font Loading Strategy
110
- - **Options**:
111
- - A) Self-hosted with font-display: swap **【Recommended: best performance + privacy】**
112
- - B) Google Fonts / CDN with font-display: swap
113
- - C) System font stack only (no custom fonts)
114
- - D) Not decided yet
115
- - **Note**: Affects font loading performance and privacy. A provides the best control; B is simpler but adds a third-party dependency; C has zero download overhead.
116
- - **Maps to**: `{{ font_strategy }}` (TL;DR) + `{{ performance_rules }}` (additional derivation)
117
-
118
- ---
119
-
120
- ## G3 — State & Data Fetching
121
-
122
- ### Q5. Global State Library
123
- - **Options**:
124
- - A) Zustand **【Recommended for React】**
125
- - B) Pinia **【Recommended for Vue】**
126
- - C) Redux Toolkit
127
- - D) Jotai / Valtio
128
- - E) Context / Provide-Inject only, no global store
129
- - **Note**: Recommendation depends on Q1 framework choice.
130
- - **Maps to**: `{{ state_lib }}` (TL;DR + §4.1) + `{{ state_rules }}` (derivation injection)
131
-
132
- ### Q6. Server State Library
133
- - **Options**:
134
- - A) TanStack Query **【Recommended】**
135
- - B) SWR
136
- - C) RTK Query
137
- - D) Custom fetch hook wrapper
138
- - **Strict option**: A (TanStack Query + enforced queryKey convention)
139
- - **Note**: Affects API caching, retry, and staleTime rules.
140
- - **Maps to**: `{{ server_state_lib }}` (TL;DR + §4.2) + `{{ server_state_rules }}` (derivation injection)
141
-
142
- ### Q7. API Type Source
143
- - **Options**:
144
- - A) Backend OpenAPI auto-generation **【Recommended】**
145
- - B) Backend Protobuf generation
146
- - C) Hand-written .d.ts
147
- - D) Shared monorepo type package with backend
148
- - **Strict option**: A or B (eliminates hand-written types)
149
- - **Note**: Determines whether to inject the "forbid hand-written API types" constraint.
150
- - **Maps to**: `{{ api_type_source }}` (TL;DR + §4.3) + `{{ server_state_rules }}` (derivation injection)
151
-
152
- ---
153
-
154
- ## G4 — Design System
155
-
156
- ### Q8. Primary Design/Mockup Source
157
- - **Options**:
158
- - A) Existing HTML prototype in `temp/` directory
159
- - B) Existing Figma designs
160
- - C) Other location (specify path)
161
- - D) None, starting from scratch
162
- - **Note**: If multiple sources exist, select the primary one. Additional sources will be noted in the output. A/B trigger a "design extraction" step (annotate token sources in output). D triggers a "recommend doing a style direction first" hint.
163
- - **Maps to**: `{{ design_source }}` (document header metadata)
164
-
165
- ### Q9. Token Naming Layers
166
- - **Options**:
167
- - A) Three-layer (primitive / semantic / component) **【Recommended】**
168
- - B) Two-layer (base / semantic)
169
- - C) Single-layer (semantic only)
170
- - **Strict option**: A
171
- - **Note**: Three layers makes theme switching and brand reuse straightforward.
172
- - **Maps to**: `{{ token_layering }}` (TL;DR) + `{{ token_layering_rules }}` (derivation injection into §1.1)
173
-
174
- ### Q10. Dark Mode
175
- - **Options**:
176
- - A) Supported, via CSS variable switching **【Recommended】**
177
- - B) Supported, via class switching (Tailwind `dark:` prefix)
178
- - C) Not supported
179
- - **Note**: Choosing A/B auto-injects "tokens must include both light/dark value pairs" rule.
180
- - **Maps to**: `{{ dark_mode }}` (TL;DR) + `{{ dark_mode_rules }}` (derivation injection into §1.3)
181
-
182
- ---
183
-
184
- ## G5 — Responsive & Adaptation
185
-
186
- ### Q11. Adaptation Strategy
187
- - **Options**:
188
- - A) Mobile-first **【Recommended】**
189
- - B) Desktop-first
190
- - C) Desktop only
191
- - D) Mobile only
192
- - **Note**: Determines media query writing direction and default style conventions.
193
- - **Maps to**: `{{ responsive_strategy }}` (TL;DR) + `{{ breakpoint_rules }}` (derivation injection into §1.4)
194
-
195
- ### Q12. Breakpoint Scheme
196
- - **Options**:
197
- - A) Tailwind defaults (sm 640 / md 768 / lg 1024 / xl 1280 / 2xl 1536) **【Recommended】**
198
- - B) Material Design (xs / sm / md / lg / xl)
199
- - C) Custom (provide full breakpoint table)
200
- - **Note**: Choosing A with Q4=Tailwind locks the breakpoints.
201
- - **Maps to**: `{{ breakpoint_rules }}` (derivation injection into §1.4)
202
-
203
- ---
204
-
205
- ## G6 — i18n & Accessibility
206
-
207
- ### Q13. Internationalization (i18n)
208
- - **Options**:
209
- - A) Multi-language with full i18n framework (specify: zh-CN, en-US, ja-JP, etc.)
210
- - B) Single-language, but text centralized in i18n files for future expansion **【Recommended: early-stage projects】**
211
- - C) Single-language, hardcoding allowed (no i18n infrastructure)
212
- - **Note**: Choosing A auto-injects i18n key naming rules and forbid hardcoding user-visible text. B centralizes text but does not require multi-language support. C allows hardcoding and requires no i18n infrastructure.
213
- - **Maps to**: `{{ i18n }}` (TL;DR) + `{{ i18n_rules }}` (derivation injection into §5.4)
214
-
215
- ### Q14. Accessibility Target
216
- - **Options**:
217
- - A) WCAG 2.1 AA **【Recommended】**
218
- - B) WCAG 2.1 AAA
219
- - C) Basic keyboard reachability only
220
- - **Strict option**: B
221
- - **Note**: Affects contrast ratio thresholds and ARIA check strictness.
222
- - **Maps to**: `{{ a11y_level }}` (TL;DR + §5.3) + `{{ a11y_extra_rules }}` (injected into §5.3)
223
-
224
- ---
225
-
226
- ## G7 — Testing & Quality
227
-
228
- ### Q15. Test Coverage Requirements
229
- - **Options**:
230
- - A) Shared component unit tests + critical path E2E **【Recommended】**
231
- - B) Unit tests only
232
- - C) E2E only
233
- - D) Not required yet
234
- - **Strict option**: A + enforced coverage ≥ 80%
235
- - **Note**: Determines whether Q16/Q17 need to be asked.
236
- - **Maps to**: `{{ test_rules }}` (dynamically assembled by D-TEST-01 into §6.1)
237
-
238
- ### Q16. Unit Test Framework (only ask if Q15 = A or B)
239
- - **Options**:
240
- - A) Vitest **【Recommended for Vite/Next projects】**
241
- - B) Jest
242
- - C) Node test runner
243
- - **Note**: Match with build tool first.
244
- - **Maps to**: `{{ unit_test_framework }}` (TL;DR) + assembled into `{{ test_rules }}` by D-TEST-01
245
-
246
- ### Q17. E2E Framework (only ask if Q15 = A or C)
247
- - **Options**:
248
- - A) Playwright **【Recommended】**
249
- - B) Cypress
250
- - C) WebdriverIO
251
- - **Note**: Playwright has the best multi-browser support.
252
- - **Maps to**: `{{ e2e_framework }}` (TL;DR) + assembled into `{{ test_rules }}` by D-TEST-01
253
-
254
- ---
255
-
256
- ## G8 — AI Vibecoding Constraints
257
-
258
- ### Q18. AI Component Index Sync
259
- - **Options**:
260
- - A) Must sync to `src/components/index.ts` + type exports **【Recommended】**
261
- - B) Not required
262
- - **Strict option**: A
263
- - **Note**: Determines whether AI will reinvent existing components. Strict is safer.
264
- - **Maps to**: `{{ ai_index_rule }}` (injected into §7.3)
265
-
266
- ### Q19. AI Permission to Add Dependencies
267
- - **Options**:
268
- - A) Forbid AI from adding dependencies on its own; human must review `package.json` changes **【Recommended】**
269
- - B) Allowed, but must declare in PR description with alternative comparison
270
- - C) Fully allowed
271
- - **Strict option**: A
272
- - **Note**: A is key for supply chain security + bundle size control.
273
- - **Maps to**: `{{ ai_dependency_rule }}` (injected into §7.3)
274
-
275
- ### Q20. AI Impact Analysis Before Modifying Shared Components
276
- - **Options**:
277
- - A) Must list all callers and declare in change notes first **【Recommended】**
278
- - B) Not required
279
- - **Strict option**: A
280
- - **Note**: Prevents "fix one component, break ten pages."
281
- - **Maps to**: `{{ ai_breaking_change_rule }}` (injected into §7.3)
282
-
283
- ### Q21. AI Permission to Modify Config Files
284
- - **Options**:
285
- - A) Forbid; config files (tsconfig, vite, eslint, tailwind) must be manually edited **【Recommended】**
286
- - B) Allowed to modify, but must explain each change
287
- - **Maps to**: `{{ ai_config_rule }}`
288
-
289
- ### Q22. AI Single File Generation Limit
290
- - **Options**:
291
- - A) 200 lines
292
- - B) 300 lines **【Recommended】**
293
- - C) 500 lines
294
- - D) No limit
295
- - **Strict option**: A
296
- - **Note**: Exceeding the limit auto-triggers a split hint to prevent god components.
297
- - **Maps to**: `{{ ai_max_lines }}` (appears in TL;DR + §3.3 + §7.3 + §8.2 — AI replaces the value in all locations)
298
-
299
- ---
300
-
301
- ## G9 — Performance Baseline
302
-
303
- ### Q23. First Screen LCP Target
304
- - **Options**:
305
- - A) < 2.5s **【Recommended: Web Vitals "good" threshold】**
306
- - B) < 1.5s (extreme performance, requires pre-rendering/edge deployment)
307
- - C) Not required yet
308
- - **Strict option**: B
309
- - **Note**: Determines whether SSR/RSC, font preloading, and critical CSS inlining rules are required.
310
- - **Maps to**: `{{ lcp_target }}` (TL;DR) + `{{ performance_rules }}` (derivation injection into §5.5)
311
-
312
- ### Q24. Single Chunk Size Limit
313
- - **Options**:
314
- - A) < 300KB (< 100KB gzipped) **【Recommended】**
315
- - B) < 500KB
316
- - C) No limit
317
- - **Strict option**: A + configure bundle-analyzer for CI enforcement
318
- - **Note**: Determines whether to inject "routes must be lazy-loaded" and "large third-party libs must use dynamic import" rules.
319
- - **Maps to**: `{{ bundle_size }}` (TL;DR) + `{{ performance_rules }}` (derivation injection into §5.5)
@@ -1,51 +0,0 @@
1
- {
2
- "schema_version": "app-planner-question-manifest-v1",
3
- "layer": "frontend",
4
- "total_questions": 25,
5
- "_doc": "Machine-readable structure for frontend question-bank.md. Question TEXT/options/Recommended/Notes are authoritative in question-bank.md; this file carries ONLY structure: group membership, quick-mode, question->placeholder mapping, and conditional logic. Keep Qids and group ids in sync with question-bank.md. The AI reads this as its asking checklist (Phase A) and self-check expected-set (Phase D).",
6
- "_conditions": "required_if / auto_derived_when use simple expressions over recorded answers, e.g. 'Q15 in [A, B]'. options_vary_by names a prior answer that changes the OPTION LIST/recommendation only (question is still asked; never affects required).",
7
- "groups": [
8
- { "id": "G1", "topic": "Tech Stack", "quick_mode": true },
9
- { "id": "G2", "topic": "Styling", "quick_mode": true },
10
- { "id": "G3", "topic": "State & Data Fetching", "quick_mode": true },
11
- { "id": "G4", "topic": "Design System", "quick_mode": false },
12
- { "id": "G5", "topic": "Responsive & Adaptation", "quick_mode": false },
13
- { "id": "G6", "topic": "i18n & Accessibility", "quick_mode": false },
14
- { "id": "G7", "topic": "Testing & Quality", "quick_mode": true },
15
- { "id": "G8", "topic": "AI Vibecoding Constraints", "quick_mode": false },
16
- { "id": "G9", "topic": "Performance Baseline", "quick_mode": false }
17
- ],
18
- "questions": [
19
- { "id": "Q1", "group": "G1", "topic": "Frontend Framework", "maps_to": ["framework", "tech_stack_rules"], "required": true },
20
- { "id": "Q2", "group": "G1", "topic": "Meta-Framework", "maps_to": ["meta_framework", "tech_stack_rules"], "required": true, "options_vary_by": "Q1" },
21
- { "id": "Q3", "group": "G1", "topic": "Package Manager", "maps_to": ["package_manager", "tech_stack_rules"], "required": true },
22
- { "id": "Q4", "group": "G2", "topic": "Styling Solution", "maps_to": ["style_solution", "style_specific_rules"], "required": true },
23
- { "id": "Q4b", "group": "G2", "topic": "Font Loading Strategy", "maps_to": ["font_strategy", "performance_rules"], "required": true },
24
- { "id": "Q5", "group": "G3", "topic": "Global State Library", "maps_to": ["state_lib", "state_rules"], "required": true, "options_vary_by": "Q1" },
25
- { "id": "Q6", "group": "G3", "topic": "Server State Library", "maps_to": ["server_state_lib", "server_state_rules"], "required": true },
26
- { "id": "Q7", "group": "G3", "topic": "API Type Source", "maps_to": ["api_type_source", "server_state_rules"], "required": true },
27
- { "id": "Q8", "group": "G4", "topic": "Primary Design/Mockup Source", "maps_to": ["design_source"], "required": true },
28
- { "id": "Q9", "group": "G4", "topic": "Token Naming Layers", "maps_to": ["token_layering", "token_layering_rules"], "required": true },
29
- { "id": "Q10", "group": "G4", "topic": "Dark Mode", "maps_to": ["dark_mode", "dark_mode_rules"], "required": true },
30
- { "id": "Q11", "group": "G5", "topic": "Adaptation Strategy", "maps_to": ["responsive_strategy", "breakpoint_rules"], "required": true },
31
- { "id": "Q12", "group": "G5", "topic": "Breakpoint Scheme", "maps_to": ["breakpoint_scheme", "breakpoint_rules"], "required": true },
32
- { "id": "Q13", "group": "G6", "topic": "Internationalization", "maps_to": ["i18n", "i18n_rules"], "required": true },
33
- { "id": "Q14", "group": "G6", "topic": "Accessibility Target", "maps_to": ["a11y_level", "a11y_extra_rules"], "required": true },
34
- { "id": "Q15", "group": "G7", "topic": "Test Coverage Requirements", "maps_to": ["test_coverage", "test_rules"], "required": true },
35
- { "id": "Q16", "group": "G7", "topic": "Unit Test Framework", "maps_to": ["unit_test_framework", "test_rules"], "required": true, "required_if": "Q15 in [A, B]" },
36
- { "id": "Q17", "group": "G7", "topic": "E2E Framework", "maps_to": ["e2e_framework", "test_rules"], "required": true, "required_if": "Q15 in [A, C]" },
37
- { "id": "Q18", "group": "G8", "topic": "AI Component Index Sync", "maps_to": ["ai_index_rule"], "required": true },
38
- { "id": "Q19", "group": "G8", "topic": "AI Permission to Add Dependencies", "maps_to": ["ai_dependency_rule"], "required": true },
39
- { "id": "Q20", "group": "G8", "topic": "AI Impact Analysis Before Modifying Shared Components", "maps_to": ["ai_breaking_change_rule"], "required": true },
40
- { "id": "Q21", "group": "G8", "topic": "AI Permission to Modify Config Files", "maps_to": ["ai_config_rule"], "required": true },
41
- { "id": "Q22", "group": "G8", "topic": "AI Single File Generation Limit", "maps_to": ["ai_max_lines"], "required": true },
42
- { "id": "Q23", "group": "G9", "topic": "First Screen LCP Target", "maps_to": ["lcp_target", "performance_rules"], "required": true },
43
- { "id": "Q24", "group": "G9", "topic": "Single Chunk Size Limit", "maps_to": ["bundle_size", "performance_rules"], "required": true }
44
- ],
45
- "template_placeholders": {
46
- "from_questions": ["framework", "meta_framework", "package_manager", "style_solution", "style_specific_rules", "font_strategy", "performance_rules", "state_lib", "state_rules", "server_state_lib", "server_state_rules", "api_type_source", "design_source", "token_layering", "token_layering_rules", "dark_mode", "dark_mode_rules", "responsive_strategy", "breakpoint_rules", "breakpoint_scheme", "i18n", "i18n_rules", "a11y_level", "a11y_extra_rules", "test_coverage", "test_rules", "unit_test_framework", "e2e_framework", "ai_index_rule", "ai_dependency_rule", "ai_breaking_change_rule", "ai_config_rule", "ai_max_lines", "lcp_target", "bundle_size", "tech_stack_rules"],
47
- "from_fixed_rules": ["FIXED_RULES_A11Y", "FIXED_RULES_AI_BASE", "FIXED_RULES_COMPONENT_CONTRACT", "FIXED_RULES_DENY_LIST", "FIXED_RULES_ERROR_HANDLING", "FIXED_RULES_GIT", "FIXED_RULES_I18N_BASELINE", "FIXED_RULES_NAMING", "FIXED_RULES_PERFORMANCE", "FIXED_RULES_SECURITY", "FIXED_RULES_TYPESCRIPT"],
48
- "auto_generated": ["deny_list_summary", "recommended_libs"],
49
- "metadata": ["project_name", "generated_at", "project_scope"]
50
- }
51
- }