@zigrivers/scaffold 2.28.1 → 2.38.1

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 (375) hide show
  1. package/README.md +309 -136
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +94 -14
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/build.test.js +30 -5
  6. package/dist/cli/commands/build.test.js.map +1 -1
  7. package/dist/cli/commands/check.d.ts +12 -0
  8. package/dist/cli/commands/check.d.ts.map +1 -0
  9. package/dist/cli/commands/check.js +311 -0
  10. package/dist/cli/commands/check.js.map +1 -0
  11. package/dist/cli/commands/check.test.d.ts +2 -0
  12. package/dist/cli/commands/check.test.d.ts.map +1 -0
  13. package/dist/cli/commands/check.test.js +412 -0
  14. package/dist/cli/commands/check.test.js.map +1 -0
  15. package/dist/cli/commands/complete.d.ts +12 -0
  16. package/dist/cli/commands/complete.d.ts.map +1 -0
  17. package/dist/cli/commands/complete.js +103 -0
  18. package/dist/cli/commands/complete.js.map +1 -0
  19. package/dist/cli/commands/complete.test.d.ts +2 -0
  20. package/dist/cli/commands/complete.test.d.ts.map +1 -0
  21. package/dist/cli/commands/complete.test.js +133 -0
  22. package/dist/cli/commands/complete.test.js.map +1 -0
  23. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  24. package/dist/cli/commands/dashboard.js +12 -8
  25. package/dist/cli/commands/dashboard.js.map +1 -1
  26. package/dist/cli/commands/info.d.ts.map +1 -1
  27. package/dist/cli/commands/info.js +4 -0
  28. package/dist/cli/commands/info.js.map +1 -1
  29. package/dist/cli/commands/knowledge.d.ts.map +1 -1
  30. package/dist/cli/commands/knowledge.js +6 -2
  31. package/dist/cli/commands/knowledge.js.map +1 -1
  32. package/dist/cli/commands/knowledge.test.js +16 -11
  33. package/dist/cli/commands/knowledge.test.js.map +1 -1
  34. package/dist/cli/commands/next.d.ts.map +1 -1
  35. package/dist/cli/commands/next.js +41 -13
  36. package/dist/cli/commands/next.js.map +1 -1
  37. package/dist/cli/commands/next.test.js +3 -0
  38. package/dist/cli/commands/next.test.js.map +1 -1
  39. package/dist/cli/commands/reset.d.ts +1 -0
  40. package/dist/cli/commands/reset.d.ts.map +1 -1
  41. package/dist/cli/commands/reset.js +179 -67
  42. package/dist/cli/commands/reset.js.map +1 -1
  43. package/dist/cli/commands/reset.test.js +360 -0
  44. package/dist/cli/commands/reset.test.js.map +1 -1
  45. package/dist/cli/commands/rework.d.ts +20 -0
  46. package/dist/cli/commands/rework.d.ts.map +1 -0
  47. package/dist/cli/commands/rework.js +332 -0
  48. package/dist/cli/commands/rework.js.map +1 -0
  49. package/dist/cli/commands/rework.test.d.ts +2 -0
  50. package/dist/cli/commands/rework.test.d.ts.map +1 -0
  51. package/dist/cli/commands/rework.test.js +297 -0
  52. package/dist/cli/commands/rework.test.js.map +1 -0
  53. package/dist/cli/commands/run.d.ts.map +1 -1
  54. package/dist/cli/commands/run.js +59 -31
  55. package/dist/cli/commands/run.js.map +1 -1
  56. package/dist/cli/commands/run.test.js +288 -6
  57. package/dist/cli/commands/run.test.js.map +1 -1
  58. package/dist/cli/commands/skill.d.ts +12 -0
  59. package/dist/cli/commands/skill.d.ts.map +1 -0
  60. package/dist/cli/commands/skill.js +123 -0
  61. package/dist/cli/commands/skill.js.map +1 -0
  62. package/dist/cli/commands/skill.test.d.ts +2 -0
  63. package/dist/cli/commands/skill.test.d.ts.map +1 -0
  64. package/dist/cli/commands/skill.test.js +297 -0
  65. package/dist/cli/commands/skill.test.js.map +1 -0
  66. package/dist/cli/commands/skip.d.ts +1 -1
  67. package/dist/cli/commands/skip.d.ts.map +1 -1
  68. package/dist/cli/commands/skip.js +123 -57
  69. package/dist/cli/commands/skip.js.map +1 -1
  70. package/dist/cli/commands/skip.test.js +91 -0
  71. package/dist/cli/commands/skip.test.js.map +1 -1
  72. package/dist/cli/commands/status.d.ts +1 -0
  73. package/dist/cli/commands/status.d.ts.map +1 -1
  74. package/dist/cli/commands/status.js +57 -10
  75. package/dist/cli/commands/status.js.map +1 -1
  76. package/dist/cli/commands/status.test.js +81 -0
  77. package/dist/cli/commands/status.test.js.map +1 -1
  78. package/dist/cli/commands/update.test.js +252 -0
  79. package/dist/cli/commands/update.test.js.map +1 -1
  80. package/dist/cli/commands/version.test.js +171 -1
  81. package/dist/cli/commands/version.test.js.map +1 -1
  82. package/dist/cli/index.d.ts.map +1 -1
  83. package/dist/cli/index.js +8 -0
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/core/adapters/adapter.d.ts +14 -0
  86. package/dist/core/adapters/adapter.d.ts.map +1 -1
  87. package/dist/core/adapters/adapter.js.map +1 -1
  88. package/dist/core/adapters/adapter.test.js +10 -0
  89. package/dist/core/adapters/adapter.test.js.map +1 -1
  90. package/dist/core/adapters/claude-code.d.ts.map +1 -1
  91. package/dist/core/adapters/claude-code.js +47 -10
  92. package/dist/core/adapters/claude-code.js.map +1 -1
  93. package/dist/core/adapters/claude-code.test.js +41 -20
  94. package/dist/core/adapters/claude-code.test.js.map +1 -1
  95. package/dist/core/adapters/codex.d.ts.map +1 -1
  96. package/dist/core/adapters/codex.js +5 -1
  97. package/dist/core/adapters/codex.js.map +1 -1
  98. package/dist/core/adapters/codex.test.js +5 -0
  99. package/dist/core/adapters/codex.test.js.map +1 -1
  100. package/dist/core/adapters/universal.d.ts.map +1 -1
  101. package/dist/core/adapters/universal.js +0 -1
  102. package/dist/core/adapters/universal.js.map +1 -1
  103. package/dist/core/adapters/universal.test.js +5 -0
  104. package/dist/core/adapters/universal.test.js.map +1 -1
  105. package/dist/core/assembly/context-gatherer.d.ts.map +1 -1
  106. package/dist/core/assembly/context-gatherer.js +5 -2
  107. package/dist/core/assembly/context-gatherer.js.map +1 -1
  108. package/dist/core/assembly/engine.d.ts.map +1 -1
  109. package/dist/core/assembly/engine.js +10 -2
  110. package/dist/core/assembly/engine.js.map +1 -1
  111. package/dist/core/assembly/engine.test.js +19 -0
  112. package/dist/core/assembly/engine.test.js.map +1 -1
  113. package/dist/core/assembly/knowledge-loader.d.ts +25 -0
  114. package/dist/core/assembly/knowledge-loader.d.ts.map +1 -1
  115. package/dist/core/assembly/knowledge-loader.js +75 -2
  116. package/dist/core/assembly/knowledge-loader.js.map +1 -1
  117. package/dist/core/assembly/knowledge-loader.test.js +388 -1
  118. package/dist/core/assembly/knowledge-loader.test.js.map +1 -1
  119. package/dist/core/assembly/meta-prompt-loader.d.ts +6 -0
  120. package/dist/core/assembly/meta-prompt-loader.d.ts.map +1 -1
  121. package/dist/core/assembly/meta-prompt-loader.js +41 -25
  122. package/dist/core/assembly/meta-prompt-loader.js.map +1 -1
  123. package/dist/core/assembly/preset-loader.d.ts +10 -0
  124. package/dist/core/assembly/preset-loader.d.ts.map +1 -1
  125. package/dist/core/assembly/preset-loader.js +26 -1
  126. package/dist/core/assembly/preset-loader.js.map +1 -1
  127. package/dist/core/assembly/preset-loader.test.js +65 -1
  128. package/dist/core/assembly/preset-loader.test.js.map +1 -1
  129. package/dist/core/assembly/update-mode.d.ts.map +1 -1
  130. package/dist/core/assembly/update-mode.js +10 -4
  131. package/dist/core/assembly/update-mode.js.map +1 -1
  132. package/dist/core/assembly/update-mode.test.js +47 -0
  133. package/dist/core/assembly/update-mode.test.js.map +1 -1
  134. package/dist/core/dependency/dependency.d.ts.map +1 -1
  135. package/dist/core/dependency/dependency.js +3 -2
  136. package/dist/core/dependency/dependency.js.map +1 -1
  137. package/dist/core/dependency/dependency.test.js +2 -0
  138. package/dist/core/dependency/dependency.test.js.map +1 -1
  139. package/dist/core/dependency/eligibility.js +3 -3
  140. package/dist/core/dependency/eligibility.js.map +1 -1
  141. package/dist/core/dependency/eligibility.test.js +2 -0
  142. package/dist/core/dependency/eligibility.test.js.map +1 -1
  143. package/dist/core/dependency/graph.d.ts.map +1 -1
  144. package/dist/core/dependency/graph.js +4 -0
  145. package/dist/core/dependency/graph.js.map +1 -1
  146. package/dist/core/dependency/graph.test.d.ts +2 -0
  147. package/dist/core/dependency/graph.test.d.ts.map +1 -0
  148. package/dist/core/dependency/graph.test.js +262 -0
  149. package/dist/core/dependency/graph.test.js.map +1 -0
  150. package/dist/core/rework/phase-selector.d.ts +24 -0
  151. package/dist/core/rework/phase-selector.d.ts.map +1 -0
  152. package/dist/core/rework/phase-selector.js +98 -0
  153. package/dist/core/rework/phase-selector.js.map +1 -0
  154. package/dist/core/rework/phase-selector.test.d.ts +2 -0
  155. package/dist/core/rework/phase-selector.test.d.ts.map +1 -0
  156. package/dist/core/rework/phase-selector.test.js +138 -0
  157. package/dist/core/rework/phase-selector.test.js.map +1 -0
  158. package/dist/dashboard/generator.d.ts +48 -17
  159. package/dist/dashboard/generator.d.ts.map +1 -1
  160. package/dist/dashboard/generator.js +75 -5
  161. package/dist/dashboard/generator.js.map +1 -1
  162. package/dist/dashboard/generator.test.js +213 -5
  163. package/dist/dashboard/generator.test.js.map +1 -1
  164. package/dist/dashboard/template.d.ts +1 -1
  165. package/dist/dashboard/template.d.ts.map +1 -1
  166. package/dist/dashboard/template.js +755 -114
  167. package/dist/dashboard/template.js.map +1 -1
  168. package/dist/e2e/knowledge.test.js +4 -3
  169. package/dist/e2e/knowledge.test.js.map +1 -1
  170. package/dist/e2e/pipeline.test.js +2 -0
  171. package/dist/e2e/pipeline.test.js.map +1 -1
  172. package/dist/e2e/rework.test.d.ts +6 -0
  173. package/dist/e2e/rework.test.d.ts.map +1 -0
  174. package/dist/e2e/rework.test.js +226 -0
  175. package/dist/e2e/rework.test.js.map +1 -0
  176. package/dist/index.js +0 -0
  177. package/dist/project/adopt.test.js +2 -0
  178. package/dist/project/adopt.test.js.map +1 -1
  179. package/dist/project/claude-md.js +2 -2
  180. package/dist/project/claude-md.js.map +1 -1
  181. package/dist/project/claude-md.test.js +4 -4
  182. package/dist/project/claude-md.test.js.map +1 -1
  183. package/dist/project/detector.d.ts.map +1 -1
  184. package/dist/project/detector.js +4 -1
  185. package/dist/project/detector.js.map +1 -1
  186. package/dist/project/frontmatter.d.ts.map +1 -1
  187. package/dist/project/frontmatter.js +54 -15
  188. package/dist/project/frontmatter.js.map +1 -1
  189. package/dist/project/frontmatter.test.js +2 -2
  190. package/dist/project/frontmatter.test.js.map +1 -1
  191. package/dist/state/rework-manager.d.ts +16 -0
  192. package/dist/state/rework-manager.d.ts.map +1 -0
  193. package/dist/state/rework-manager.js +126 -0
  194. package/dist/state/rework-manager.js.map +1 -0
  195. package/dist/state/rework-manager.test.d.ts +2 -0
  196. package/dist/state/rework-manager.test.d.ts.map +1 -0
  197. package/dist/state/rework-manager.test.js +191 -0
  198. package/dist/state/rework-manager.test.js.map +1 -0
  199. package/dist/state/state-manager.d.ts +13 -0
  200. package/dist/state/state-manager.d.ts.map +1 -1
  201. package/dist/state/state-manager.js +39 -2
  202. package/dist/state/state-manager.js.map +1 -1
  203. package/dist/state/state-manager.test.js +74 -1
  204. package/dist/state/state-manager.test.js.map +1 -1
  205. package/dist/state/state-migration.d.ts +23 -0
  206. package/dist/state/state-migration.d.ts.map +1 -0
  207. package/dist/state/state-migration.js +144 -0
  208. package/dist/state/state-migration.js.map +1 -0
  209. package/dist/state/state-migration.test.d.ts +2 -0
  210. package/dist/state/state-migration.test.d.ts.map +1 -0
  211. package/dist/state/state-migration.test.js +451 -0
  212. package/dist/state/state-migration.test.js.map +1 -0
  213. package/dist/types/assembly.d.ts +2 -0
  214. package/dist/types/assembly.d.ts.map +1 -1
  215. package/dist/types/dependency.d.ts +2 -2
  216. package/dist/types/dependency.d.ts.map +1 -1
  217. package/dist/types/frontmatter.d.ts +100 -7
  218. package/dist/types/frontmatter.d.ts.map +1 -1
  219. package/dist/types/frontmatter.js +89 -1
  220. package/dist/types/frontmatter.js.map +1 -1
  221. package/dist/types/index.d.ts +1 -0
  222. package/dist/types/index.d.ts.map +1 -1
  223. package/dist/types/index.js +1 -0
  224. package/dist/types/index.js.map +1 -1
  225. package/dist/types/lock.d.ts +1 -1
  226. package/dist/types/lock.d.ts.map +1 -1
  227. package/dist/types/rework.d.ts +36 -0
  228. package/dist/types/rework.d.ts.map +1 -0
  229. package/dist/types/rework.js +2 -0
  230. package/dist/types/rework.js.map +1 -0
  231. package/dist/utils/errors.d.ts +1 -0
  232. package/dist/utils/errors.d.ts.map +1 -1
  233. package/dist/utils/errors.js +8 -0
  234. package/dist/utils/errors.js.map +1 -1
  235. package/dist/utils/fs.d.ts +6 -0
  236. package/dist/utils/fs.d.ts.map +1 -1
  237. package/dist/utils/fs.js +13 -0
  238. package/dist/utils/fs.js.map +1 -1
  239. package/dist/validation/config-validator.test.d.ts +2 -0
  240. package/dist/validation/config-validator.test.d.ts.map +1 -0
  241. package/dist/validation/config-validator.test.js +210 -0
  242. package/dist/validation/config-validator.test.js.map +1 -0
  243. package/dist/validation/dependency-validator.test.d.ts +2 -0
  244. package/dist/validation/dependency-validator.test.d.ts.map +1 -0
  245. package/dist/validation/dependency-validator.test.js +215 -0
  246. package/dist/validation/dependency-validator.test.js.map +1 -0
  247. package/dist/validation/frontmatter-validator.test.d.ts +2 -0
  248. package/dist/validation/frontmatter-validator.test.d.ts.map +1 -0
  249. package/dist/validation/frontmatter-validator.test.js +371 -0
  250. package/dist/validation/frontmatter-validator.test.js.map +1 -0
  251. package/dist/validation/state-validator.test.d.ts +2 -0
  252. package/dist/validation/state-validator.test.d.ts.map +1 -0
  253. package/dist/validation/state-validator.test.js +325 -0
  254. package/dist/validation/state-validator.test.js.map +1 -0
  255. package/dist/wizard/suggestion.test.d.ts +2 -0
  256. package/dist/wizard/suggestion.test.d.ts.map +1 -0
  257. package/dist/wizard/suggestion.test.js +115 -0
  258. package/dist/wizard/suggestion.test.js.map +1 -0
  259. package/dist/wizard/wizard.d.ts.map +1 -1
  260. package/dist/wizard/wizard.js +34 -1
  261. package/dist/wizard/wizard.js.map +1 -1
  262. package/knowledge/core/adr-craft.md +4 -0
  263. package/knowledge/core/api-design.md +4 -0
  264. package/knowledge/core/automated-review-tooling.md +203 -0
  265. package/knowledge/core/coding-conventions.md +1 -1
  266. package/knowledge/core/database-design.md +4 -0
  267. package/knowledge/core/design-system-tokens.md +4 -0
  268. package/knowledge/core/domain-modeling.md +4 -0
  269. package/knowledge/core/git-workflow-patterns.md +200 -0
  270. package/knowledge/core/operations-runbook.md +5 -1
  271. package/knowledge/core/security-best-practices.md +4 -0
  272. package/knowledge/core/system-architecture.md +5 -1
  273. package/knowledge/core/task-decomposition.md +118 -3
  274. package/knowledge/core/user-story-innovation.md +13 -0
  275. package/knowledge/core/ux-specification.md +13 -0
  276. package/knowledge/execution/enhancement-workflow.md +201 -0
  277. package/knowledge/execution/task-claiming-strategy.md +130 -0
  278. package/knowledge/execution/tdd-execution-loop.md +172 -0
  279. package/knowledge/execution/worktree-management.md +205 -0
  280. package/knowledge/finalization/apply-fixes-and-freeze.md +12 -0
  281. package/knowledge/finalization/developer-onboarding.md +4 -0
  282. package/knowledge/finalization/implementation-playbook.md +83 -5
  283. package/knowledge/product/gap-analysis.md +5 -1
  284. package/knowledge/product/prd-innovation.md +12 -0
  285. package/knowledge/product/vision-craft.md +213 -0
  286. package/knowledge/review/review-adr.md +12 -0
  287. package/knowledge/review/review-api-design.md +13 -0
  288. package/knowledge/review/review-database-design.md +13 -0
  289. package/knowledge/review/review-domain-modeling.md +5 -1
  290. package/knowledge/review/review-implementation-tasks.md +58 -1
  291. package/knowledge/review/review-methodology.md +11 -0
  292. package/knowledge/review/review-operations.md +12 -0
  293. package/knowledge/review/review-prd.md +13 -0
  294. package/knowledge/review/review-security.md +12 -0
  295. package/knowledge/review/review-system-architecture.md +4 -2
  296. package/knowledge/review/review-testing-strategy.md +11 -0
  297. package/knowledge/review/review-user-stories.md +11 -0
  298. package/knowledge/review/review-ux-specification.md +13 -1
  299. package/knowledge/review/review-vision.md +255 -0
  300. package/knowledge/tools/release-management.md +222 -0
  301. package/knowledge/tools/session-analysis.md +215 -0
  302. package/knowledge/tools/version-strategy.md +200 -0
  303. package/knowledge/validation/critical-path-analysis.md +1 -1
  304. package/knowledge/validation/cross-phase-consistency.md +12 -0
  305. package/knowledge/validation/decision-completeness.md +13 -1
  306. package/knowledge/validation/dependency-validation.md +12 -0
  307. package/knowledge/validation/scope-management.md +12 -0
  308. package/knowledge/validation/traceability.md +12 -0
  309. package/methodology/README.md +37 -0
  310. package/methodology/custom-defaults.yml +12 -1
  311. package/methodology/deep.yml +11 -0
  312. package/methodology/mvp.yml +11 -0
  313. package/package.json +3 -3
  314. package/pipeline/architecture/review-architecture.md +18 -7
  315. package/pipeline/architecture/system-architecture.md +11 -8
  316. package/pipeline/build/multi-agent-resume.md +245 -0
  317. package/pipeline/build/multi-agent-start.md +236 -0
  318. package/pipeline/build/new-enhancement.md +456 -0
  319. package/pipeline/build/quick-task.md +381 -0
  320. package/pipeline/build/single-agent-resume.md +210 -0
  321. package/pipeline/build/single-agent-start.md +207 -0
  322. package/pipeline/consolidation/claude-md-optimization.md +11 -8
  323. package/pipeline/consolidation/workflow-audit.md +15 -11
  324. package/pipeline/decisions/adrs.md +7 -5
  325. package/pipeline/decisions/review-adrs.md +14 -6
  326. package/pipeline/environment/ai-memory-setup.md +18 -12
  327. package/pipeline/environment/automated-pr-review.md +10 -4
  328. package/pipeline/environment/design-system.md +9 -7
  329. package/pipeline/environment/dev-env-setup.md +8 -5
  330. package/pipeline/environment/git-workflow.md +3 -1
  331. package/pipeline/finalization/apply-fixes-and-freeze.md +16 -5
  332. package/pipeline/finalization/developer-onboarding-guide.md +22 -8
  333. package/pipeline/finalization/implementation-playbook.md +40 -11
  334. package/pipeline/foundation/beads.md +10 -7
  335. package/pipeline/foundation/coding-standards.md +6 -3
  336. package/pipeline/foundation/project-structure.md +5 -1
  337. package/pipeline/foundation/tdd.md +10 -6
  338. package/pipeline/foundation/tech-stack.md +9 -9
  339. package/pipeline/integration/add-e2e-testing.md +21 -6
  340. package/pipeline/modeling/domain-modeling.md +10 -7
  341. package/pipeline/modeling/review-domain-modeling.md +17 -6
  342. package/pipeline/parity/platform-parity-review.md +31 -11
  343. package/pipeline/planning/implementation-plan-review.md +21 -10
  344. package/pipeline/planning/implementation-plan.md +52 -19
  345. package/pipeline/pre/create-prd.md +22 -7
  346. package/pipeline/pre/innovate-prd.md +10 -8
  347. package/pipeline/pre/innovate-user-stories.md +9 -7
  348. package/pipeline/pre/review-prd.md +11 -2
  349. package/pipeline/pre/review-user-stories.md +12 -3
  350. package/pipeline/pre/user-stories.md +12 -7
  351. package/pipeline/quality/create-evals.md +10 -6
  352. package/pipeline/quality/operations.md +16 -12
  353. package/pipeline/quality/review-operations.md +19 -10
  354. package/pipeline/quality/review-security.md +21 -11
  355. package/pipeline/quality/review-testing.md +23 -12
  356. package/pipeline/quality/security.md +17 -13
  357. package/pipeline/quality/story-tests.md +6 -4
  358. package/pipeline/specification/api-contracts.md +11 -6
  359. package/pipeline/specification/database-schema.md +12 -6
  360. package/pipeline/specification/review-api.md +18 -9
  361. package/pipeline/specification/review-database.md +18 -9
  362. package/pipeline/specification/review-ux.md +20 -10
  363. package/pipeline/specification/ux-spec.md +8 -5
  364. package/pipeline/validation/critical-path-walkthrough.md +14 -7
  365. package/pipeline/validation/cross-phase-consistency.md +14 -7
  366. package/pipeline/validation/decision-completeness.md +14 -7
  367. package/pipeline/validation/dependency-graph-validation.md +15 -7
  368. package/pipeline/validation/implementability-dry-run.md +15 -7
  369. package/pipeline/validation/scope-creep-check.md +15 -7
  370. package/pipeline/validation/traceability-matrix.md +20 -7
  371. package/pipeline/vision/create-vision.md +267 -0
  372. package/pipeline/vision/innovate-vision.md +157 -0
  373. package/pipeline/vision/review-vision.md +149 -0
  374. package/skills/scaffold-pipeline/SKILL.md +33 -18
  375. package/skills/scaffold-runner/SKILL.md +172 -18
@@ -0,0 +1,222 @@
1
+ ---
2
+ name: release-management
3
+ description: Release engineering patterns for semantic versioning and changelog management
4
+ topics: [release, versioning, changelog, git]
5
+ ---
6
+
7
+ # Release Management
8
+
9
+ Expert knowledge for release engineering including semantic versioning, conventional commit parsing, changelog generation, quality gates, and rollback procedures.
10
+
11
+ ## Summary
12
+
13
+ ### Semantic Versioning
14
+
15
+ - **Major** (`X.0.0`) — breaking changes that require consumer migration
16
+ - **Minor** (`0.X.0`) — new features, backward-compatible additions
17
+ - **Patch** (`0.0.X`) — bug fixes, documentation, internal refactors
18
+
19
+ ### Conventional Commit Parsing
20
+
21
+ Parse commits since the last release to determine the version bump:
22
+
23
+ - `feat:` → minor bump
24
+ - `fix:` → patch bump
25
+ - `BREAKING CHANGE:` footer or `!:` suffix → major bump
26
+ - Highest-wins rule: if any commit is major, the release is major
27
+
28
+ ### Changelog Format
29
+
30
+ Follow the [Keep a Changelog](https://keepachangelog.com/) format. Group entries by Added, Fixed, Changed, and Other. Write for users, not developers.
31
+
32
+ ### Quality Gates
33
+
34
+ All quality gates must pass before a release. Stop if gates fail unless `--force` is explicitly used.
35
+
36
+ ## Deep Guidance
37
+
38
+ ### Semantic Versioning — Extended
39
+
40
+ **Major version (breaking changes):**
41
+ - Removing or renaming a public API endpoint, function, or command
42
+ - Changing the behavior of an existing API in a way that breaks consumers
43
+ - Removing configuration options or changing their meaning
44
+ - Incompatible data format or schema changes
45
+
46
+ **Minor version (new features):**
47
+ - Adding a new API endpoint, function, or command
48
+ - Adding new optional configuration options
49
+ - Adding new fields to API responses (additive, non-breaking)
50
+ - New user-facing capabilities
51
+
52
+ **Patch version (fixes):**
53
+ - Bug fixes that restore expected behavior
54
+ - Documentation corrections
55
+ - Internal refactors that don't affect the public API
56
+ - Performance improvements with no API changes
57
+ - Dependency updates (non-breaking)
58
+
59
+ **Pre-release versions:**
60
+ - `v1.2.3-rc.1` — release candidate, feature-complete but not fully tested
61
+ - `v1.2.3-beta.1` — beta, feature-complete but may have known issues
62
+ - `v0.x.y` — initial development, no stability guarantees
63
+
64
+ ### Conventional Commit Parsing — Extended
65
+
66
+ **Scanning commits:**
67
+
68
+ ```bash
69
+ # List commits since last tag
70
+ git log $(git describe --tags --abbrev=0 2>/dev/null || echo "$(git rev-list --max-parents=0 HEAD)")..HEAD --oneline
71
+ ```
72
+
73
+ **Determining the bump:**
74
+
75
+ | Commit message | Bump |
76
+ |---|---|
77
+ | `feat: add export command` | minor |
78
+ | `feat!: redesign plugin API` | major |
79
+ | `fix: correct timezone handling` | patch |
80
+ | `fix: resolve crash\n\nBREAKING CHANGE: config format changed` | major |
81
+ | `chore: update dependencies` | patch |
82
+ | `docs: update README` | patch |
83
+ | `refactor: simplify auth flow` | patch |
84
+
85
+ **Highest-wins rule:**
86
+ If 10 commits include 8 fixes and 2 features, the release is a minor bump.
87
+ If any single commit includes a breaking change, the release is a major bump regardless of other commits.
88
+
89
+ **Edge cases:**
90
+ - No conventional commit prefix → treat as patch
91
+ - Multiple `feat:` commits → still a single minor bump
92
+ - `feat:` + `BREAKING CHANGE:` → major (breaking wins)
93
+
94
+ ### Changelog Generation
95
+
96
+ **Format (Keep a Changelog):**
97
+
98
+ ```markdown
99
+ ## [1.2.0] - 2026-03-29
100
+
101
+ ### Added
102
+ - Export command for pipeline data (#145)
103
+ - Bulk task creation via CSV import (#148)
104
+
105
+ ### Fixed
106
+ - Timezone handling in schedule display (#146)
107
+ - Dashboard filter state not persisting (#147)
108
+
109
+ ### Changed
110
+ - Improved error messages for validation failures (#149)
111
+ ```
112
+
113
+ **Writing guidelines:**
114
+ - Audience is users, not developers — describe what changed from the user's perspective
115
+ - Use past tense ("Added," "Fixed," "Changed")
116
+ - Reference PR or issue numbers for traceability
117
+ - Group by type: Added (new features), Fixed (bug fixes), Changed (modifications to existing features), Removed, Deprecated, Security
118
+ - One line per change — keep it scannable
119
+ - Don't include internal refactors, test additions, or CI changes unless they affect users
120
+
121
+ ### Quality Gates — Extended
122
+
123
+ **Before releasing, verify:**
124
+
125
+ 1. **All tests pass** — `make check`, `make test`, or the project's equivalent
126
+ 2. **Lint clean** — no linting warnings or errors
127
+ 3. **Build succeeds** — the project compiles/bundles without errors
128
+ 4. **No uncommitted changes** — working tree is clean
129
+ 5. **On the correct branch** — releases come from `main`
130
+ 6. **Up to date with remote** — `git pull` before tagging
131
+
132
+ **If gates fail:**
133
+ - Stop the release process
134
+ - Fix the failing gate
135
+ - Re-run all gates from the beginning
136
+ - Only proceed with `--force` if explicitly instructed (and document why)
137
+
138
+ ### GitHub Release
139
+
140
+ **Creating a release:**
141
+
142
+ ```bash
143
+ # Create an annotated tag
144
+ git tag -a v1.2.0 -m "Release v1.2.0"
145
+
146
+ # Push the tag
147
+ git push origin v1.2.0
148
+
149
+ # Create a GitHub release with changelog as body
150
+ gh release create v1.2.0 --title "v1.2.0" --notes-file CHANGELOG_EXCERPT.md
151
+ ```
152
+
153
+ **Pre-release versions:**
154
+ - Use `--prerelease` flag for `v0.x` versions or release candidates
155
+ - `gh release create v0.5.0 --prerelease --title "v0.5.0 (pre-release)"`
156
+
157
+ ### Rollback Procedures
158
+
159
+ When a release needs to be reverted:
160
+
161
+ 1. **Revert the tag locally and remotely:**
162
+ ```bash
163
+ git tag -d v1.2.0
164
+ git push origin --delete v1.2.0
165
+ ```
166
+
167
+ 2. **Revert the commits** that were part of the bad release:
168
+ ```bash
169
+ git revert <commit-range> --no-commit
170
+ git commit -m "[ROLLBACK] revert v1.2.0 changes"
171
+ ```
172
+
173
+ 3. **Update version files** back to the previous version
174
+
175
+ 4. **Create a new patch release** with the rollback:
176
+ ```bash
177
+ git tag -a v1.1.1 -m "Rollback: revert v1.2.0"
178
+ git push origin v1.1.1
179
+ ```
180
+
181
+ 5. **Update the changelog** with a note explaining the rollback
182
+
183
+ **Commit message convention for rollbacks:** prefix with `[ROLLBACK]` for easy identification in history.
184
+
185
+ ### Conditional Beads Integration
186
+
187
+ When `.beads/` directory exists, enrich the changelog with task completion data:
188
+
189
+ ```markdown
190
+ ## [1.2.0] - 2026-03-29
191
+
192
+ ### Added
193
+ - Export command for pipeline data (#145)
194
+
195
+ ### Completed Tasks
196
+ - bd-42: Implement export endpoint
197
+ - bd-43: Add export CLI command
198
+ - bd-44: Write export integration tests
199
+ ```
200
+
201
+ Cross-reference closed Beads tasks by scanning `bd close` entries since the last release tag.
202
+
203
+ ### Version File Detection
204
+
205
+ Scan the project root for version files and update all that are found:
206
+
207
+ | File | Field | Ecosystem |
208
+ |------|-------|-----------|
209
+ | `package.json` | `"version"` | Node.js / npm |
210
+ | `pyproject.toml` | `[project] version` | Python |
211
+ | `Cargo.toml` | `[package] version` | Rust |
212
+ | `.claude-plugin/plugin.json` | `"version"` | Claude Code plugin |
213
+ | `pubspec.yaml` | `version` | Flutter / Dart |
214
+ | `setup.cfg` | `version` | Python (legacy) |
215
+ | `version.txt` | entire file | Generic |
216
+
217
+ After updating version files, commit them in the same commit as the changelog update, before creating the tag.
218
+
219
+ ## See Also
220
+
221
+ - [version-strategy](./version-strategy.md) — Version file management across ecosystems
222
+ - [git-workflow-patterns](../core/git-workflow-patterns.md) — Branching, tagging, and merge policies
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: session-analysis
3
+ description: Patterns for analyzing Claude Code sessions to discover automation opportunities
4
+ topics: [analysis, automation, sessions]
5
+ ---
6
+
7
+ # Session Analysis
8
+
9
+ Expert knowledge for analyzing Claude Code sessions to discover automation opportunities. Covers pattern detection, repeated action identification, and actionable automation recommendations.
10
+
11
+ ## Summary
12
+
13
+ ### Pattern Detection
14
+
15
+ Review session history for recurring sequences of actions. Look for commands executed multiple times, error-retry cycles, and multi-step manual workflows that could be automated.
16
+
17
+ ### Repeated Action Identification
18
+
19
+ Categorize repeated actions by type: git workflows, test runs, build commands, file editing patterns, environment setup, and debugging sequences.
20
+
21
+ ### Automation Recommendations
22
+
23
+ For each discovered pattern, recommend an appropriate automation mechanism: shell aliases, git hooks, Makefile targets, Claude Code hooks, or standalone scripts. Rank by estimated time savings.
24
+
25
+ ## Deep Guidance
26
+
27
+ ### What to Look For
28
+
29
+ When analyzing a session (or set of sessions), search for these signal types:
30
+
31
+ **Repeated manual actions:**
32
+ - The same command (or close variants) executed 3+ times in a session
33
+ - Multi-step sequences performed identically each time (e.g., `git add . && git commit && git push`)
34
+ - Copy-paste patterns between files
35
+
36
+ **Common errors and their fixes:**
37
+ - Errors that appear, are diagnosed, and fixed the same way each time
38
+ - Lint failures that require the same remediation pattern
39
+ - Test failures caused by environment state (not code bugs)
40
+
41
+ **Workflow bottlenecks:**
42
+ - Steps where the agent pauses to think or read documentation
43
+ - Long command sequences that could be a single script
44
+ - Context switches between directories or tools
45
+
46
+ **Frequently-used commands:**
47
+ - Commands with complex flags that are typed repeatedly
48
+ - Commands that are always run together (candidates for chaining)
49
+
50
+ ### Pattern Categories
51
+
52
+ #### Git Workflows
53
+
54
+ Common automatable git patterns:
55
+
56
+ | Pattern | Frequency Signal | Automation |
57
+ |---------|-----------------|------------|
58
+ | Branch, commit, push, create PR | Every task completion | Makefile target or script |
59
+ | Fetch, rebase, resolve, push | Every multi-agent sync | Pre-push hook or script |
60
+ | Clean up merged branches | End of sprint/batch | Shell alias or cron |
61
+ | Conventional commit formatting | Every commit | Git hook (commit-msg) |
62
+
63
+ #### Test Runs
64
+
65
+ | Pattern | Frequency Signal | Automation |
66
+ |---------|-----------------|------------|
67
+ | Run specific test file during TDD | Continuous during development | Watch mode configuration |
68
+ | Run full suite before PR | Every PR creation | Pre-push hook |
69
+ | Re-run failed tests after fix | Error-retry cycles | Test runner watch mode |
70
+ | Generate test coverage report | Every PR or release | CI pipeline step |
71
+
72
+ #### Build Commands
73
+
74
+ | Pattern | Frequency Signal | Automation |
75
+ |---------|-----------------|------------|
76
+ | Build before testing | Every test cycle | Makefile dependency |
77
+ | Rebuild after dependency change | After every `npm install` / `pip install` | Post-install hook |
78
+ | Clean build after switching branches | Every branch switch | Git post-checkout hook |
79
+
80
+ #### File Editing Patterns
81
+
82
+ | Pattern | Frequency Signal | Automation |
83
+ |---------|-----------------|------------|
84
+ | Adding boilerplate to new files | Every new file creation | File templates / generators |
85
+ | Updating imports after adding a module | Every module creation | Auto-import tooling |
86
+ | Adding entries to index/barrel files | Every new export | Code generator or hook |
87
+
88
+ ### Recommendation Types
89
+
90
+ For each discovered pattern, recommend the most appropriate automation mechanism:
91
+
92
+ #### Shell Aliases
93
+
94
+ Best for: frequently-typed commands with complex flags.
95
+
96
+ ```bash
97
+ # Example: common git log format
98
+ alias gl="git log --oneline --graph --decorate -20"
99
+
100
+ # Example: common test command
101
+ alias mt="make test"
102
+ ```
103
+
104
+ **When to recommend:** Single commands used 5+ times per session, no conditional logic needed.
105
+
106
+ #### Git Hooks
107
+
108
+ Best for: quality enforcement that should happen automatically at git events.
109
+
110
+ | Hook | Trigger | Use Case |
111
+ |------|---------|----------|
112
+ | `pre-commit` | Before every commit | Lint staged files, validate frontmatter |
113
+ | `commit-msg` | After writing commit message | Enforce conventional commit format |
114
+ | `pre-push` | Before every push | Run test suite, check branch naming |
115
+ | `post-checkout` | After branch switch | Reinstall dependencies, clean build artifacts |
116
+ | `post-merge` | After merge/pull | Reinstall dependencies if lock files changed |
117
+
118
+ #### Makefile Targets
119
+
120
+ Best for: multi-step workflows that combine several commands.
121
+
122
+ ```makefile
123
+ # Example: full release workflow
124
+ release: check
125
+ @scripts/release.sh
126
+
127
+ # Example: clean development reset
128
+ reset:
129
+ git clean -fd
130
+ npm install
131
+ make build
132
+ ```
133
+
134
+ **When to recommend:** 3+ commands always run together, may need conditional logic, team-wide usage.
135
+
136
+ #### Claude Code Hooks
137
+
138
+ Best for: automated behaviors tied to Claude Code events.
139
+
140
+ ```json
141
+ {
142
+ "hooks": {
143
+ "PreToolUse": [
144
+ {
145
+ "matcher": "Bash",
146
+ "hook": "echo 'Running command...'"
147
+ }
148
+ ]
149
+ }
150
+ }
151
+ ```
152
+
153
+ **When to recommend:** Behaviors specific to AI agent workflows, context injection, automated checks during agent execution.
154
+
155
+ #### Standalone Scripts
156
+
157
+ Best for: complex workflows with error handling, conditional logic, and user interaction.
158
+
159
+ **When to recommend:** Workflow has branching logic, needs error recovery, combines multiple tools, or is too complex for a Makefile target.
160
+
161
+ ### Output Format
162
+
163
+ Present findings as a ranked list of automation opportunities:
164
+
165
+ ```
166
+ ## Automation Opportunities
167
+
168
+ ### 1. Branch cleanup after task completion
169
+ - **Pattern:** Agent runs `git fetch --prune && git branch --merged ...` after every PR merge
170
+ - **Frequency:** 4x per session
171
+ - **Recommendation:** Add `make clean-branches` Makefile target
172
+ - **Time savings:** ~2 min/occurrence → 8 min/session
173
+ - **Implementation complexity:** Low (5 min to implement)
174
+
175
+ ### 2. Pre-PR quality check
176
+ - **Pattern:** Agent runs `make lint && make test && git push` before every PR
177
+ - **Frequency:** 3x per session
178
+ - **Recommendation:** Add `make ready` target that chains lint + test + push
179
+ - **Time savings:** ~1 min/occurrence → 3 min/session
180
+ - **Implementation complexity:** Low (2 min to implement)
181
+ ```
182
+
183
+ **Ranking criteria:**
184
+ 1. Frequency × time-per-occurrence (total time savings)
185
+ 2. Error reduction potential (automating error-prone steps)
186
+ 3. Implementation complexity (prefer quick wins)
187
+
188
+ ### Session History Analysis
189
+
190
+ When analyzing session transcripts or tool call logs:
191
+
192
+ **Tool call patterns:**
193
+ - Count occurrences of each tool
194
+ - Identify sequences of tool calls that always appear together
195
+ - Flag tool calls that fail and are retried with modifications
196
+
197
+ **Command patterns:**
198
+ - Extract all Bash tool invocations
199
+ - Group by command prefix (`git`, `make`, `npm`, etc.)
200
+ - Identify commands with identical or near-identical arguments
201
+
202
+ **Error-retry cycles:**
203
+ - Find sequences where a command fails, the agent diagnoses, and retries
204
+ - If the same error type appears 3+ times across sessions, it needs a preventive automation
205
+ - Common cycle: lint fails → fix → re-lint → passes (automate the fix or add a pre-save hook)
206
+
207
+ **File access patterns:**
208
+ - Track which files are read most frequently
209
+ - Identify files that are always read together (candidates for a combined view)
210
+ - Flag files that are read but never modified (reference material — could be injected as context)
211
+
212
+ ## See Also
213
+
214
+ - [dev-environment](../core/dev-environment.md) — Development environment setup
215
+ - [claude-md-patterns](../core/claude-md-patterns.md) — CLAUDE.md configuration patterns
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: version-strategy
3
+ description: Version file management across language ecosystems
4
+ topics: [versioning, packages, ecosystems]
5
+ ---
6
+
7
+ # Version Strategy
8
+
9
+ Expert knowledge for detecting, updating, and synchronizing version files across language ecosystems. Covers lock file management, first-version bootstrap, mismatch detection, and dry-run workflows.
10
+
11
+ ## Summary
12
+
13
+ ### Version File Detection
14
+
15
+ Scan the project root for known version files: `package.json`, `pyproject.toml`, `Cargo.toml`, `.claude-plugin/plugin.json`, `pubspec.yaml`, `setup.cfg`, `version.txt`.
16
+
17
+ ### Lock File Sync
18
+
19
+ After updating a version file, regenerate the associated lock file to keep them in sync. Each ecosystem has its own lock file update command.
20
+
21
+ ### First-Version Bootstrap
22
+
23
+ If no version file exists, offer to create one. Suggest `0.1.0` for new projects, `1.0.0` for stable projects with existing users.
24
+
25
+ ## Deep Guidance
26
+
27
+ ### Detection — Extended
28
+
29
+ **Scan order and priority:**
30
+
31
+ 1. `package.json` — Node.js/npm ecosystem
32
+ 2. `pyproject.toml` — Modern Python projects (PEP 621)
33
+ 3. `Cargo.toml` — Rust projects
34
+ 4. `.claude-plugin/plugin.json` — Claude Code plugins
35
+ 5. `pubspec.yaml` — Flutter/Dart projects
36
+ 6. `setup.cfg` — Legacy Python projects
37
+ 7. `version.txt` — Generic fallback
38
+
39
+ **Detection logic:**
40
+
41
+ ```bash
42
+ # Find all version files in the project root
43
+ for f in package.json pyproject.toml Cargo.toml .claude-plugin/plugin.json pubspec.yaml setup.cfg version.txt; do
44
+ [ -f "$f" ] && echo "Found: $f"
45
+ done
46
+ ```
47
+
48
+ A project may have multiple version files (e.g., a Claude Code plugin with both `package.json` and `.claude-plugin/plugin.json`). All detected files must be updated together.
49
+
50
+ ### Update Patterns Per Ecosystem
51
+
52
+ #### Node.js (package.json)
53
+
54
+ **Version field:** `"version": "1.2.3"` at the top level of the JSON object.
55
+
56
+ **Update procedure:**
57
+ 1. Edit `package.json` to set the new version
58
+ 2. Regenerate the lock file: `npm install --package-lock-only`
59
+ 3. If `yarn.lock` exists instead: `yarn install --mode update-lockfile`
60
+ 4. Commit both `package.json` and the lock file together
61
+
62
+ **Caveat:** `npm version` exists but modifies files and creates git tags automatically — prefer manual editing for more control.
63
+
64
+ #### Rust (Cargo.toml)
65
+
66
+ **Version field:** `version = "1.2.3"` under `[package]`.
67
+
68
+ **Update procedure:**
69
+ 1. Edit `Cargo.toml` to set the new version
70
+ 2. Update the lock file: `cargo update -w` (workspace only, avoids updating all dependencies)
71
+ 3. Commit both `Cargo.toml` and `Cargo.lock` together
72
+
73
+ #### Python — pyproject.toml
74
+
75
+ **Version field:** `version = "1.2.3"` under `[project]`.
76
+
77
+ **Update procedure:**
78
+ 1. Edit `pyproject.toml` directly
79
+ 2. No separate lock file regeneration needed (unless using `poetry` or `pip-tools`)
80
+ 3. If using Poetry: `poetry lock --no-update` after version change
81
+ 4. If using pip-tools: `pip-compile` to regenerate `requirements.txt`
82
+
83
+ #### Python — setup.cfg (Legacy)
84
+
85
+ **Version field:** `version = 1.2.3` under `[metadata]`.
86
+
87
+ **Update procedure:**
88
+ 1. Edit `setup.cfg` directly
89
+ 2. No lock file regeneration needed
90
+
91
+ #### Flutter / Dart (pubspec.yaml)
92
+
93
+ **Version field:** `version: 1.2.3+4` (the `+4` is the build number).
94
+
95
+ **Update procedure:**
96
+ 1. Edit `pubspec.yaml` to set the new version
97
+ 2. Run `flutter pub get` to update `pubspec.lock`
98
+ 3. Commit both files together
99
+
100
+ #### Claude Code Plugin (plugin.json)
101
+
102
+ **Version field:** `"version": "1.2.3"` in `.claude-plugin/plugin.json`.
103
+
104
+ **Update procedure:**
105
+ 1. Edit `.claude-plugin/plugin.json` to set the new version
106
+ 2. No lock file needed
107
+ 3. Commit the file
108
+
109
+ #### Generic (version.txt)
110
+
111
+ **Format:** The entire file content is the version string, e.g., `1.2.3\n`.
112
+
113
+ **Update procedure:**
114
+ 1. Write the new version to the file: `echo "1.2.3" > version.txt`
115
+ 2. Commit the file
116
+
117
+ ### First-Version Bootstrap
118
+
119
+ When no version file is detected and a release is requested:
120
+
121
+ 1. Ask which ecosystem the project targets (or infer from existing files like `src/`, `lib/`, `Cargo.toml`, etc.)
122
+ 2. Create the appropriate version file
123
+ 3. Set the initial version:
124
+ - `0.1.0` for new projects under active development
125
+ - `1.0.0` for projects with existing users or stable APIs
126
+ 4. Commit the new version file with message: `chore: bootstrap version file at <version>`
127
+
128
+ **Why 0.1.0 vs 1.0.0:**
129
+ - `0.x.y` signals "initial development, expect breaking changes"
130
+ - `1.0.0` signals "stable public API, semver guarantees apply"
131
+ - Most projects should start at `0.1.0` and reach `1.0.0` when the API stabilizes
132
+
133
+ ### Version Mismatch Detection
134
+
135
+ Before bumping, check for mismatches between the version in files and the latest git tag:
136
+
137
+ ```bash
138
+ # Get version from package.json (example)
139
+ FILE_VERSION=$(jq -r '.version' package.json)
140
+
141
+ # Get latest git tag version
142
+ TAG_VERSION=$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//')
143
+
144
+ # Compare
145
+ if [ "$FILE_VERSION" != "$TAG_VERSION" ]; then
146
+ echo "Mismatch: file says $FILE_VERSION, last tag says $TAG_VERSION"
147
+ fi
148
+ ```
149
+
150
+ **When a mismatch is found:**
151
+
152
+ | Scenario | Action |
153
+ |----------|--------|
154
+ | File version > tag version | Ask: "Release as $FILE_VERSION, or bump further?" |
155
+ | File version < tag version | Warning: files are behind the last release — update files first |
156
+ | File version = tag version | Normal case — bump from this version |
157
+ | No tag exists | First release — use file version as-is or suggest a version |
158
+
159
+ ### Dry-Run Mode
160
+
161
+ Preview all version mutations without writing to disk:
162
+
163
+ ```
164
+ [DRY RUN] Would update package.json: 1.1.0 → 1.2.0
165
+ [DRY RUN] Would update .claude-plugin/plugin.json: 1.1.0 → 1.2.0
166
+ [DRY RUN] Would regenerate package-lock.json
167
+ [DRY RUN] Would create git tag: v1.2.0
168
+ [DRY RUN] Would update CHANGELOG.md with new section
169
+ ```
170
+
171
+ Dry-run mode is useful for:
172
+ - Verifying the correct version bump before committing
173
+ - Reviewing which files would change
174
+ - Testing the release process in CI without side effects
175
+
176
+ ### Multiple Version Files — Synchronization
177
+
178
+ When a project has multiple version files, all must show the same version at all times.
179
+
180
+ **Rules:**
181
+ - Update all detected version files in the same commit
182
+ - Regenerate all associated lock files in the same commit
183
+ - Verify consistency after updating: read back each file and confirm they match
184
+ - If a version file was missed, the pre-commit hook or CI should catch the mismatch
185
+
186
+ **Example commit for a multi-file project:**
187
+
188
+ ```
189
+ release: v1.2.0
190
+
191
+ Updated version in:
192
+ - package.json (1.1.0 → 1.2.0)
193
+ - .claude-plugin/plugin.json (1.1.0 → 1.2.0)
194
+ - package-lock.json (regenerated)
195
+ ```
196
+
197
+ ## See Also
198
+
199
+ - [release-management](./release-management.md) — Semantic versioning rules, changelog format, quality gates
200
+ - [git-workflow-patterns](../core/git-workflow-patterns.md) — Tagging and release workflow
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: critical-path-analysis
3
3
  description: Tracing critical user journeys end-to-end across all specifications
4
- topics: [validation, critical-path, user-journeys, end-to-end, gaps]
4
+ topics: [validation, critical-path, user-journeys, end-to-end, gap-analysis]
5
5
  ---
6
6
 
7
7
  # Critical Path Analysis
@@ -8,6 +8,18 @@ topics: [validation, consistency, naming, data-flow, contracts]
8
8
 
9
9
  Cross-phase consistency validation ensures that artifacts produced across different pipeline phases agree with each other. Inconsistencies compound: a renamed entity in one phase propagates confusion into every downstream artifact. This document covers what to check, how to check it, and what findings look like.
10
10
 
11
+ ## Summary
12
+
13
+ - **Naming consistency**: Trace every named concept through all artifacts; flag spelling variations, abbreviations, or synonyms for the same concept.
14
+ - **Shared assumptions**: Verify that assumptions made in later phases (cardinality, optionality, ordering, uniqueness) are explicitly stated in earlier artifacts.
15
+ - **Data shape consistency**: Trace entity shapes field-by-field from domain model through schema, API, and UX; verify types, naming, and format alignment.
16
+ - **Interface contract matching**: Architecture component interfaces must match their concrete definitions in API contracts; parameter names, types, and error cases aligned.
17
+ - **Data flow completeness**: Walk each architecture data flow step-by-step verifying source/target APIs exist and data shapes match at every boundary.
18
+ - **Constraint propagation**: ADR constraints (technology choices, patterns, NFRs) must be reflected in all downstream artifacts.
19
+ - **Common patterns to watch**: Enum drift, optionality mismatch, orphaned events, ghost requirements, format divergence, soft-delete vs hard-delete differences, and pagination assumption conflicts.
20
+
21
+ ## Deep Guidance
22
+
11
23
  ## Why Inconsistencies Happen
12
24
 
13
25
  Each pipeline phase is authored at a different time, possibly by different agents, with evolving understanding of the project. Common causes:
@@ -1,13 +1,25 @@
1
1
  ---
2
2
  name: decision-completeness
3
3
  description: Verifying all architectural decisions are recorded, justified, and non-contradictory
4
- topics: [validation, decisions, adrs, completeness, contradictions]
4
+ topics: [validation, decisions, adr, completeness, contradictions]
5
5
  ---
6
6
 
7
7
  # Decision Completeness
8
8
 
9
9
  Decision completeness validation ensures that every architectural and design decision made during the pipeline has been explicitly recorded in an ADR, that no decisions contradict each other, and that no deferred decisions remain unresolved before implementation begins.
10
10
 
11
+ ## Summary
12
+
13
+ - **Explicit decision extraction**: Walk every artifact and extract every technology choice, pattern selection, and constraint trade-off as a decision requiring an ADR.
14
+ - **Implied decision mining**: Find undocumented decisions via absence-based, convention-based, technology-stack, pattern-based, and assumption-based detection techniques.
15
+ - **ADR coverage verification**: Every decision needs an ADR with context, rationale, alternatives, consequences, and current status.
16
+ - **Contradiction detection**: Check cross-ADR, ADR-vs-artifact, and cross-artifact contradictions; group decisions by topic and compare for consistency.
17
+ - **Deferred decision resolution**: Search for TBD/TODO/pending markers; all must be resolved or documented as moot before implementation.
18
+ - **Categories checklist**: Infrastructure/platform, data, API/communication, frontend, quality, operations, and process decisions all need coverage.
19
+ - Prioritize missing ADRs by impact: critical (architecture, data, security), major (workflow, tooling), minor (conventions, formatting).
20
+
21
+ ## Deep Guidance
22
+
11
23
  ## Why Decision Completeness Matters
12
24
 
13
25
  Unrecorded decisions become tribal knowledge. When AI agents implement the system, they have no tribal knowledge — only documented decisions. Every implicit "we agreed that..." or "obviously we'd use..." that is not in an ADR is a gap that will cause agents to guess, and guesses introduce inconsistency.