devflow-kit 0.9.0 → 1.0.0

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 (397) hide show
  1. package/CHANGELOG.md +167 -29
  2. package/LICENSE +1 -1
  3. package/README.md +179 -310
  4. package/dist/cli.js +3 -1
  5. package/dist/commands/init.d.ts +21 -0
  6. package/dist/commands/init.js +311 -576
  7. package/dist/commands/list.d.ts +3 -0
  8. package/dist/commands/list.js +20 -0
  9. package/dist/commands/uninstall.d.ts +10 -0
  10. package/dist/commands/uninstall.js +351 -78
  11. package/dist/plugins.d.ts +46 -0
  12. package/dist/plugins.js +162 -0
  13. package/dist/utils/cli.d.ts +5 -0
  14. package/dist/utils/cli.js +14 -0
  15. package/dist/utils/installer.d.ts +41 -0
  16. package/dist/utils/installer.js +177 -0
  17. package/dist/utils/paths.d.ts +10 -0
  18. package/dist/utils/paths.js +23 -3
  19. package/dist/utils/post-install.d.ts +68 -0
  20. package/dist/utils/post-install.js +427 -0
  21. package/dist/utils/safe-delete-install.d.ts +22 -0
  22. package/dist/utils/safe-delete-install.js +156 -0
  23. package/dist/utils/safe-delete.d.ts +12 -0
  24. package/dist/utils/safe-delete.js +83 -0
  25. package/package.json +18 -8
  26. package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
  27. package/plugins/devflow-audit-claude/README.md +46 -0
  28. package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
  29. package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
  30. package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
  31. package/plugins/devflow-code-review/README.md +73 -0
  32. package/plugins/devflow-code-review/agents/git.md +272 -0
  33. package/plugins/devflow-code-review/agents/reviewer.md +119 -0
  34. package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
  35. package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
  36. package/plugins/devflow-code-review/commands/code-review.md +141 -0
  37. package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
  38. package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
  39. package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
  40. package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
  41. package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
  42. package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
  43. package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
  44. package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
  45. package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
  46. package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
  47. package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
  48. package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
  49. package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
  50. package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
  51. package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
  52. package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
  53. package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
  54. package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
  55. package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
  56. package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
  57. package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
  58. package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
  59. package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
  60. package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
  61. package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
  62. package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
  63. package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
  64. package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
  65. package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
  66. package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
  67. package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
  68. package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
  69. package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
  70. package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
  71. package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
  72. package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
  73. package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
  74. package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
  75. package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
  76. package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
  77. package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
  78. package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
  79. package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
  80. package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
  81. package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
  82. package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
  83. package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
  84. package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
  85. package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
  86. package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
  87. package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
  88. package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
  89. package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
  90. package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
  91. package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
  92. package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
  93. package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
  94. package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
  95. package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
  96. package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
  97. package/plugins/devflow-core-skills/.claude-plugin/plugin.json +27 -0
  98. package/plugins/devflow-core-skills/README.md +50 -0
  99. package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
  100. package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
  101. package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
  102. package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
  103. package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
  104. package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
  105. package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
  106. package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
  107. package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
  108. package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
  109. package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +134 -0
  110. package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
  111. package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
  112. package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
  113. package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
  114. package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
  115. package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
  116. package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
  117. package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
  118. package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
  119. package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
  120. package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
  121. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
  122. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
  123. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
  124. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
  125. package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
  126. package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
  127. package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
  128. package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
  129. package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
  130. package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
  131. package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
  132. package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
  133. package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
  134. package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
  135. package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
  136. package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
  137. package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
  138. package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
  139. package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
  140. package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
  141. package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
  142. package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
  143. package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
  144. package/plugins/devflow-debug/README.md +65 -0
  145. package/plugins/devflow-debug/agents/git.md +272 -0
  146. package/plugins/devflow-debug/commands/debug-teams.md +231 -0
  147. package/plugins/devflow-debug/commands/debug.md +160 -0
  148. package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
  149. package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
  150. package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
  151. package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
  152. package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
  153. package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
  154. package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
  155. package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
  156. package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
  157. package/plugins/devflow-implement/README.md +71 -0
  158. package/plugins/devflow-implement/agents/coder.md +122 -0
  159. package/plugins/devflow-implement/agents/git.md +272 -0
  160. package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
  161. package/plugins/devflow-implement/agents/shepherd.md +94 -0
  162. package/plugins/devflow-implement/agents/simplifier.md +62 -0
  163. package/plugins/devflow-implement/agents/skimmer.md +88 -0
  164. package/plugins/devflow-implement/agents/synthesizer.md +204 -0
  165. package/plugins/devflow-implement/agents/validator.md +86 -0
  166. package/plugins/devflow-implement/commands/implement-teams.md +608 -0
  167. package/plugins/devflow-implement/commands/implement.md +426 -0
  168. package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
  169. package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
  170. package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
  171. package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
  172. package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
  173. package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
  174. package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
  175. package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
  176. package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
  177. package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
  178. package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
  179. package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
  180. package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
  181. package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
  182. package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
  183. package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
  184. package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
  185. package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
  186. package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
  187. package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
  188. package/plugins/devflow-resolve/README.md +65 -0
  189. package/plugins/devflow-resolve/agents/git.md +272 -0
  190. package/plugins/devflow-resolve/agents/resolver.md +131 -0
  191. package/plugins/devflow-resolve/agents/simplifier.md +62 -0
  192. package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
  193. package/plugins/devflow-resolve/commands/resolve.md +237 -0
  194. package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
  195. package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
  196. package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
  197. package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
  198. package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
  199. package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
  200. package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
  201. package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
  202. package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
  203. package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
  204. package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
  205. package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
  206. package/plugins/devflow-self-review/README.md +38 -0
  207. package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
  208. package/plugins/devflow-self-review/agents/simplifier.md +62 -0
  209. package/plugins/devflow-self-review/agents/validator.md +86 -0
  210. package/plugins/devflow-self-review/commands/self-review.md +126 -0
  211. package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
  212. package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
  213. package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
  214. package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
  215. package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
  216. package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
  217. package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
  218. package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
  219. package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
  220. package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
  221. package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
  222. package/plugins/devflow-specify/README.md +46 -0
  223. package/plugins/devflow-specify/agents/skimmer.md +88 -0
  224. package/plugins/devflow-specify/agents/synthesizer.md +204 -0
  225. package/plugins/devflow-specify/commands/specify-teams.md +314 -0
  226. package/plugins/devflow-specify/commands/specify.md +179 -0
  227. package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
  228. package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
  229. package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
  230. package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
  231. package/scripts/hooks/background-memory-update.sh +167 -0
  232. package/scripts/hooks/pre-compact-memory.sh +81 -0
  233. package/scripts/hooks/session-start-memory.sh +84 -0
  234. package/scripts/hooks/stop-update-memory.sh +81 -0
  235. package/shared/agents/coder.md +122 -0
  236. package/shared/agents/git.md +272 -0
  237. package/shared/agents/resolver.md +131 -0
  238. package/shared/agents/reviewer.md +119 -0
  239. package/shared/agents/scrutinizer.md +80 -0
  240. package/shared/agents/shepherd.md +94 -0
  241. package/shared/agents/simplifier.md +62 -0
  242. package/shared/agents/skimmer.md +88 -0
  243. package/shared/agents/synthesizer.md +204 -0
  244. package/shared/agents/validator.md +86 -0
  245. package/shared/skills/accessibility/SKILL.md +229 -0
  246. package/shared/skills/accessibility/references/detection.md +171 -0
  247. package/shared/skills/accessibility/references/patterns.md +670 -0
  248. package/shared/skills/accessibility/references/violations.md +419 -0
  249. package/shared/skills/agent-teams/SKILL.md +124 -0
  250. package/shared/skills/agent-teams/references/cleanup.md +104 -0
  251. package/shared/skills/agent-teams/references/communication.md +122 -0
  252. package/shared/skills/agent-teams/references/team-patterns.md +217 -0
  253. package/shared/skills/architecture-patterns/SKILL.md +153 -0
  254. package/shared/skills/architecture-patterns/references/detection.md +337 -0
  255. package/shared/skills/architecture-patterns/references/patterns.md +873 -0
  256. package/shared/skills/architecture-patterns/references/violations.md +575 -0
  257. package/shared/skills/complexity-patterns/SKILL.md +143 -0
  258. package/shared/skills/complexity-patterns/references/detection.md +264 -0
  259. package/shared/skills/complexity-patterns/references/patterns.md +487 -0
  260. package/shared/skills/complexity-patterns/references/violations.md +361 -0
  261. package/shared/skills/consistency-patterns/SKILL.md +140 -0
  262. package/shared/skills/consistency-patterns/references/detection.md +207 -0
  263. package/shared/skills/consistency-patterns/references/patterns.md +202 -0
  264. package/shared/skills/consistency-patterns/references/violations.md +213 -0
  265. package/shared/skills/core-patterns/SKILL.md +162 -0
  266. package/shared/skills/core-patterns/references/checklist.md +276 -0
  267. package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
  268. package/shared/skills/core-patterns/references/detection.md +303 -0
  269. package/shared/skills/core-patterns/references/patterns.md +576 -0
  270. package/shared/skills/core-patterns/references/violations.md +369 -0
  271. package/shared/skills/database-patterns/SKILL.md +134 -0
  272. package/shared/skills/database-patterns/references/detection.md +208 -0
  273. package/shared/skills/database-patterns/references/patterns.md +394 -0
  274. package/shared/skills/database-patterns/references/violations.md +332 -0
  275. package/shared/skills/dependencies-patterns/SKILL.md +141 -0
  276. package/shared/skills/dependencies-patterns/references/detection.md +181 -0
  277. package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
  278. package/shared/skills/dependencies-patterns/references/violations.md +247 -0
  279. package/shared/skills/docs-framework/SKILL.md +134 -0
  280. package/shared/skills/docs-framework/references/patterns.md +346 -0
  281. package/shared/skills/docs-framework/references/violations.md +221 -0
  282. package/shared/skills/documentation-patterns/SKILL.md +125 -0
  283. package/shared/skills/documentation-patterns/references/detection.md +190 -0
  284. package/shared/skills/documentation-patterns/references/patterns.md +189 -0
  285. package/shared/skills/documentation-patterns/references/violations.md +163 -0
  286. package/shared/skills/frontend-design/SKILL.md +254 -0
  287. package/shared/skills/frontend-design/references/detection.md +184 -0
  288. package/shared/skills/frontend-design/references/patterns.md +511 -0
  289. package/shared/skills/frontend-design/references/violations.md +453 -0
  290. package/shared/skills/git-safety/SKILL.md +122 -0
  291. package/shared/skills/git-safety/references/detection.md +290 -0
  292. package/shared/skills/git-safety/references/patterns.md +289 -0
  293. package/shared/skills/git-safety/references/violations.md +18 -0
  294. package/shared/skills/git-workflow/SKILL.md +158 -0
  295. package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
  296. package/shared/skills/git-workflow/references/commit-violations.md +77 -0
  297. package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
  298. package/shared/skills/git-workflow/references/pr-violations.md +96 -0
  299. package/shared/skills/github-patterns/SKILL.md +153 -0
  300. package/shared/skills/github-patterns/references/patterns.md +572 -0
  301. package/shared/skills/github-patterns/references/violations.md +298 -0
  302. package/shared/skills/implementation-patterns/SKILL.md +162 -0
  303. package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
  304. package/shared/skills/implementation-patterns/references/violations.md +483 -0
  305. package/shared/skills/input-validation/SKILL.md +148 -0
  306. package/shared/skills/input-validation/references/detection.md +283 -0
  307. package/shared/skills/input-validation/references/patterns.md +361 -0
  308. package/shared/skills/input-validation/references/violations.md +224 -0
  309. package/shared/skills/performance-patterns/SKILL.md +154 -0
  310. package/shared/skills/performance-patterns/references/detection.md +351 -0
  311. package/shared/skills/performance-patterns/references/patterns.md +503 -0
  312. package/shared/skills/performance-patterns/references/violations.md +354 -0
  313. package/shared/skills/react/SKILL.md +276 -0
  314. package/shared/skills/react/references/patterns.md +1331 -0
  315. package/shared/skills/react/references/violations.md +565 -0
  316. package/shared/skills/regression-patterns/SKILL.md +146 -0
  317. package/shared/skills/regression-patterns/references/detection.md +237 -0
  318. package/shared/skills/regression-patterns/references/patterns.md +226 -0
  319. package/shared/skills/regression-patterns/references/violations.md +225 -0
  320. package/shared/skills/review-methodology/SKILL.md +119 -0
  321. package/shared/skills/review-methodology/references/patterns.md +186 -0
  322. package/shared/skills/review-methodology/references/report-template.md +142 -0
  323. package/shared/skills/review-methodology/references/violations.md +125 -0
  324. package/shared/skills/security-patterns/SKILL.md +156 -0
  325. package/shared/skills/security-patterns/references/detection.md +287 -0
  326. package/shared/skills/security-patterns/references/patterns.md +507 -0
  327. package/shared/skills/security-patterns/references/violations.md +237 -0
  328. package/shared/skills/self-review/SKILL.md +149 -0
  329. package/shared/skills/self-review/references/patterns.md +405 -0
  330. package/shared/skills/self-review/references/report-template.md +253 -0
  331. package/shared/skills/self-review/references/violations.md +308 -0
  332. package/shared/skills/test-patterns/SKILL.md +183 -0
  333. package/shared/skills/test-patterns/references/detection.md +149 -0
  334. package/shared/skills/test-patterns/references/patterns.md +220 -0
  335. package/shared/skills/test-patterns/references/report-template.md +108 -0
  336. package/shared/skills/test-patterns/references/violations.md +221 -0
  337. package/shared/skills/typescript/SKILL.md +176 -0
  338. package/shared/skills/typescript/references/patterns.md +1105 -0
  339. package/shared/skills/typescript/references/violations.md +433 -0
  340. package/src/templates/claudeignore.template +188 -0
  341. package/src/templates/managed-settings.json +146 -0
  342. package/src/templates/settings.json +59 -0
  343. package/dist/cli.d.ts.map +0 -1
  344. package/dist/cli.js.map +0 -1
  345. package/dist/commands/init.d.ts.map +0 -1
  346. package/dist/commands/init.js.map +0 -1
  347. package/dist/commands/uninstall.d.ts.map +0 -1
  348. package/dist/commands/uninstall.js.map +0 -1
  349. package/dist/utils/git.d.ts.map +0 -1
  350. package/dist/utils/git.js.map +0 -1
  351. package/dist/utils/paths.d.ts.map +0 -1
  352. package/dist/utils/paths.js.map +0 -1
  353. package/src/claude/CLAUDE.md +0 -400
  354. package/src/claude/agents/devflow/audit-architecture.md +0 -132
  355. package/src/claude/agents/devflow/audit-complexity.md +0 -132
  356. package/src/claude/agents/devflow/audit-database.md +0 -132
  357. package/src/claude/agents/devflow/audit-dependencies.md +0 -132
  358. package/src/claude/agents/devflow/audit-documentation.md +0 -132
  359. package/src/claude/agents/devflow/audit-performance.md +0 -256
  360. package/src/claude/agents/devflow/audit-security.md +0 -259
  361. package/src/claude/agents/devflow/audit-tests.md +0 -132
  362. package/src/claude/agents/devflow/audit-typescript.md +0 -132
  363. package/src/claude/agents/devflow/brainstorm.md +0 -279
  364. package/src/claude/agents/devflow/catch-up.md +0 -345
  365. package/src/claude/agents/devflow/code-review.md +0 -307
  366. package/src/claude/agents/devflow/commit.md +0 -380
  367. package/src/claude/agents/devflow/debug.md +0 -476
  368. package/src/claude/agents/devflow/design.md +0 -491
  369. package/src/claude/agents/devflow/get-issue.md +0 -286
  370. package/src/claude/agents/devflow/pr-comments.md +0 -285
  371. package/src/claude/agents/devflow/project-state.md +0 -419
  372. package/src/claude/agents/devflow/pull-request.md +0 -493
  373. package/src/claude/agents/devflow/release.md +0 -1137
  374. package/src/claude/agents/devflow/tech-debt.md +0 -338
  375. package/src/claude/commands/devflow/brainstorm.md +0 -68
  376. package/src/claude/commands/devflow/breakdown.md +0 -125
  377. package/src/claude/commands/devflow/catch-up.md +0 -29
  378. package/src/claude/commands/devflow/code-review.md +0 -237
  379. package/src/claude/commands/devflow/commit.md +0 -17
  380. package/src/claude/commands/devflow/debug.md +0 -56
  381. package/src/claude/commands/devflow/design.md +0 -82
  382. package/src/claude/commands/devflow/devlog.md +0 -408
  383. package/src/claude/commands/devflow/get-issue.md +0 -16
  384. package/src/claude/commands/devflow/implement.md +0 -100
  385. package/src/claude/commands/devflow/plan.md +0 -223
  386. package/src/claude/commands/devflow/pull-request.md +0 -20
  387. package/src/claude/commands/devflow/release.md +0 -251
  388. package/src/claude/commands/devflow/resolve-comments.md +0 -583
  389. package/src/claude/scripts/statusline.sh +0 -47
  390. package/src/claude/settings.json +0 -6
  391. package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
  392. package/src/claude/skills/devflow/debug/SKILL.md +0 -119
  393. package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
  394. package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
  395. package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
  396. package/src/claude/skills/devflow/research/SKILL.md +0 -138
  397. package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
@@ -0,0 +1,405 @@
1
+ # Self-Review Patterns
2
+
3
+ Correct patterns for thorough self-review organized by the 9 pillars.
4
+
5
+ ---
6
+
7
+ ## 9-Pillar Evaluation
8
+
9
+ For each pillar, ask:
10
+
11
+ | Pillar | Key Questions |
12
+ |--------|---------------|
13
+ | Design | Does this follow existing patterns? Is it maintainable? |
14
+ | Functionality | Does it meet requirements? Handle edge cases? |
15
+ | Security | Is input validated? Auth checked? Data protected? |
16
+ | Complexity | Can someone understand this in 5 minutes? |
17
+ | Error Handling | Are errors handled with Result types? Logged? |
18
+ | Tests | Is behavior tested? Coverage adequate? |
19
+ | Naming | Are names clear, consistent, domain-aligned? |
20
+ | Consistency | Does this match existing patterns? |
21
+ | Documentation | Are complex parts explained? API documented? |
22
+
23
+ ---
24
+
25
+ ## Issue Classification
26
+
27
+ | Priority | Action | Examples |
28
+ |----------|--------|----------|
29
+ | P0 (CRITICAL) | Fix immediately | Security holes, data loss, broken functionality |
30
+ | P1 (HIGH) | Fix before returning | Bugs, missing validation, error handling gaps |
31
+ | P2 (MEDIUM) | Fix or document | Style, minor improvements, complexity |
32
+ | P3 (LOW) | Note for future | Nice-to-haves, minor naming |
33
+
34
+ ---
35
+
36
+ ## P0 Pillars (MUST Fix)
37
+
38
+ ### 1. Design - Correct Patterns
39
+
40
+ **Fix Pattern**: Refactor to match existing architecture. Extract responsibilities. Use dependency injection.
41
+
42
+ ```typescript
43
+ // GOOD: Repository pattern with proper layering
44
+ class UserController {
45
+ constructor(private userService: UserService) {}
46
+
47
+ async getUser(req, res) {
48
+ const result = await this.userService.findById(req.params.id);
49
+ if (!result.ok) return res.status(404).json({ error: result.error });
50
+ return res.json(result.value);
51
+ }
52
+ }
53
+
54
+ // GOOD: Single responsibility, focused class
55
+ class UserRepository {
56
+ constructor(private db: Database) {}
57
+
58
+ async findById(id: string): Promise<Result<User, Error>> {
59
+ // Only handles user data access
60
+ }
61
+ }
62
+
63
+ // GOOD: Dependency injection
64
+ class UserService {
65
+ constructor(
66
+ private repository: UserRepository,
67
+ private logger: Logger
68
+ ) {}
69
+ }
70
+ ```
71
+
72
+ ---
73
+
74
+ ### 2. Functionality - Correct Patterns
75
+
76
+ **Fix Pattern**: Add null checks, use transactions for atomic operations, verify loop bounds.
77
+
78
+ ```typescript
79
+ // GOOD: Proper null handling
80
+ function getDisplayName(user: User): string {
81
+ return user.profile?.displayName ?? user.email ?? 'Anonymous';
82
+ }
83
+
84
+ // GOOD: Atomic transaction
85
+ await db.transaction(async (tx) => {
86
+ const balance = await tx.getBalance(userId);
87
+ if (balance < amount) {
88
+ throw new InsufficientFundsError();
89
+ }
90
+ await tx.withdraw(userId, amount);
91
+ });
92
+
93
+ // GOOD: Correct loop bounds
94
+ for (let i = 0; i < array.length; i++) {
95
+ process(array[i]);
96
+ }
97
+ ```
98
+
99
+ ---
100
+
101
+ ### 3. Security - Correct Patterns
102
+
103
+ **Fix Pattern**: Use parameterized queries, escape user input, use environment variables, add auth middleware.
104
+
105
+ ```typescript
106
+ // GOOD: Parameterized query
107
+ const user = await db.query(
108
+ 'SELECT * FROM users WHERE email = ?',
109
+ [email]
110
+ );
111
+
112
+ // GOOD: Safe command execution
113
+ import { execFile } from 'child_process';
114
+ execFile('ls', [sanitizedPath], callback);
115
+
116
+ // GOOD: Environment variable for secrets
117
+ const API_KEY = process.env.API_KEY;
118
+ if (!API_KEY) throw new Error('API_KEY required');
119
+
120
+ // GOOD: Auth middleware
121
+ app.delete('/api/users/:id', authMiddleware, adminOnly, async (req, res) => {
122
+ await deleteUser(req.params.id);
123
+ });
124
+ ```
125
+
126
+ ---
127
+
128
+ ## P1 Pillars (SHOULD Fix)
129
+
130
+ ### 4. Complexity - Correct Patterns
131
+
132
+ **Fix Pattern**: Extract functions, use early returns, define named constants.
133
+
134
+ ```typescript
135
+ // GOOD: Early returns reduce nesting
136
+ function processItem(item: Item): Result<ProcessedItem, Error> {
137
+ if (!item) return Err('Item required');
138
+ if (!item.isValid) return Err('Invalid item');
139
+ if (!item.isActive) return Err('Item not active');
140
+
141
+ return Ok(transformItem(item));
142
+ }
143
+
144
+ // GOOD: Named constants
145
+ const ONE_DAY_MS = 24 * 60 * 60 * 1000;
146
+ const STATUS = { PENDING: 1, ACTIVE: 2, COMPLETED: 3 } as const;
147
+
148
+ setTimeout(callback, ONE_DAY_MS);
149
+ if (status === STATUS.COMPLETED) { }
150
+
151
+ // GOOD: Extracted function
152
+ function calculateTotal(items: Item[]): number {
153
+ return items
154
+ .filter(item => item.isActive)
155
+ .reduce((sum, item) => sum + item.price, 0);
156
+ }
157
+ ```
158
+
159
+ ---
160
+
161
+ ### 5. Error Handling - Correct Patterns
162
+
163
+ **Fix Pattern**: Always handle or rethrow errors, include context in messages, use try/finally for cleanup.
164
+
165
+ ```typescript
166
+ // GOOD: Handle or rethrow
167
+ try {
168
+ await riskyOperation();
169
+ } catch (e) {
170
+ logger.error('Operation failed', { error: e, context: operationContext });
171
+ throw new OperationError('Failed to complete operation', { cause: e });
172
+ }
173
+
174
+ // GOOD: Descriptive error message
175
+ throw new ValidationError(`Invalid email format: ${email}`, {
176
+ field: 'email',
177
+ value: email,
178
+ expected: 'valid email address'
179
+ });
180
+
181
+ // GOOD: Resource cleanup with try/finally
182
+ const file = await openFile(path);
183
+ try {
184
+ await processFile(file);
185
+ } finally {
186
+ await file.close();
187
+ }
188
+ ```
189
+
190
+ ---
191
+
192
+ ### 6. Tests - Correct Patterns
193
+
194
+ **Fix Pattern**: Add tests for all new functions, test behavior not mocks, cover edge cases.
195
+
196
+ ```typescript
197
+ // GOOD: Testing behavior
198
+ describe('createUser', () => {
199
+ it('returns created user with generated id', async () => {
200
+ const result = await createUser({ name: 'Test', email: 'test@example.com' });
201
+
202
+ expect(result.ok).toBe(true);
203
+ expect(result.value.id).toBeDefined();
204
+ expect(result.value.name).toBe('Test');
205
+ });
206
+
207
+ it('returns error for duplicate email', async () => {
208
+ await createUser({ name: 'First', email: 'test@example.com' });
209
+ const result = await createUser({ name: 'Second', email: 'test@example.com' });
210
+
211
+ expect(result.ok).toBe(false);
212
+ expect(result.error.type).toBe('DuplicateEmail');
213
+ });
214
+ });
215
+
216
+ // GOOD: Edge case coverage
217
+ describe('divide', () => {
218
+ it('divides positive numbers', () => {
219
+ expect(divide(10, 2)).toBe(5);
220
+ });
221
+
222
+ it('returns error for division by zero', () => {
223
+ const result = divide(10, 0);
224
+ expect(result.ok).toBe(false);
225
+ expect(result.error.type).toBe('DivisionByZero');
226
+ });
227
+
228
+ it('handles negative numbers', () => {
229
+ expect(divide(-10, 2)).toBe(-5);
230
+ });
231
+ });
232
+ ```
233
+
234
+ ---
235
+
236
+ ## P2 Pillars (FIX if Time Permits)
237
+
238
+ ### 7. Naming - Correct Patterns
239
+
240
+ **Fix Pattern**: Rename to be descriptive and accurate.
241
+
242
+ ```typescript
243
+ // GOOD: Descriptive names
244
+ const currentDate = new Date();
245
+ const recentItems = items.filter(item => item.timestamp > currentDate);
246
+ const totalPrice = recentItems.reduce((sum, item) => sum + item.price, 0);
247
+
248
+ // GOOD: Accurate function name
249
+ function getAllUsers(): User[] {
250
+ return db.users.findAll();
251
+ }
252
+
253
+ function getUserById(id: string): Result<User, NotFoundError> {
254
+ return db.users.findById(id);
255
+ }
256
+ ```
257
+
258
+ ---
259
+
260
+ ### 8. Consistency - Correct Patterns
261
+
262
+ **Fix Pattern**: Match existing patterns, follow established conventions.
263
+
264
+ ```typescript
265
+ // GOOD: Consistent with codebase pattern
266
+ // Existing code uses Result types
267
+ function existingFunction(): Result<User, Error> { }
268
+
269
+ // Your code also uses Result types
270
+ function yourFunction(): Result<Order, OrderError> {
271
+ const validation = validateOrder(data);
272
+ if (!validation.ok) return Err(validation.error);
273
+
274
+ return Ok(createOrder(validation.value));
275
+ }
276
+
277
+ // GOOD: Matching import organization
278
+ // Match existing file's import order
279
+ import { z } from 'zod';
280
+
281
+ import { Result, Ok, Err } from '@/lib/result';
282
+ import { User, Order } from '@/types';
283
+ import { userRepository } from '@/repositories';
284
+ ```
285
+
286
+ ---
287
+
288
+ ### 9. Documentation - Correct Patterns
289
+
290
+ **Fix Pattern**: Add JSDoc to public APIs, explain complex algorithms, remove outdated comments.
291
+
292
+ ```typescript
293
+ // GOOD: Documented complex function
294
+ /**
295
+ * Calculate prorated billing amount for plan changes.
296
+ *
297
+ * @param plan - The new plan to prorate to
298
+ * @param start - Start date of billing period
299
+ * @param end - End date of billing period
300
+ * @param previous - Previous plan (for upgrade/downgrade calculation)
301
+ * @returns Prorated amount in cents
302
+ *
303
+ * @example
304
+ * const amount = calculateProratedBilling(premiumPlan, startDate, endDate, basicPlan);
305
+ */
306
+ export function calculateProratedBilling(
307
+ plan: Plan,
308
+ start: Date,
309
+ end: Date,
310
+ previous: Plan
311
+ ): number {
312
+ // Calculate remaining days in billing period
313
+ const remainingDays = differenceInDays(end, new Date());
314
+ const totalDays = differenceInDays(end, start);
315
+
316
+ // Pro-rate the price difference
317
+ const priceDifference = plan.price - previous.price;
318
+ return Math.round((priceDifference * remainingDays) / totalDays);
319
+ }
320
+
321
+ // GOOD: Accurate comment
322
+ // Returns the user's preferred display name, falling back to username
323
+ function getDisplayName(user: User): string {
324
+ return user.displayName ?? user.username;
325
+ }
326
+ ```
327
+
328
+ ---
329
+
330
+ ## Decision Tree
331
+
332
+ ```
333
+ START
334
+ |
335
+ v
336
+ +------------------+
337
+ | Evaluate P0 |
338
+ | (Design, |
339
+ | Functionality, |
340
+ | Security) |
341
+ +--------+---------+
342
+ |
343
+ Issues found?
344
+ +----+----+
345
+ YES NO
346
+ | |
347
+ v |
348
+ +---------+ |
349
+ | Fixable?| |
350
+ +----+----+ |
351
+ +--+--+ |
352
+ YES NO |
353
+ | | |
354
+ v v |
355
+ FIX STOP |
356
+ | REPORT |
357
+ | BLOCKER |
358
+ | |
359
+ +-----+-----+
360
+ |
361
+ v
362
+ +------------------+
363
+ | Evaluate P1 |
364
+ | (Complexity, |
365
+ | Error Handling, |
366
+ | Tests) |
367
+ +--------+---------+
368
+ |
369
+ Issues found?
370
+ +----+----+
371
+ YES NO
372
+ | |
373
+ v |
374
+ FIX |
375
+ | |
376
+ +----+----+
377
+ |
378
+ v
379
+ +------------------+
380
+ | Evaluate P2 |
381
+ | (Naming, |
382
+ | Consistency, |
383
+ | Documentation) |
384
+ +--------+---------+
385
+ |
386
+ Issues found?
387
+ +----+----+
388
+ YES NO
389
+ | |
390
+ v |
391
+ FIX IF |
392
+ TIME |
393
+ | |
394
+ +----+----+
395
+ |
396
+ v
397
+ RETURN
398
+ WITH REPORT
399
+ ```
400
+
401
+ ---
402
+
403
+ ## Quick Reference
404
+
405
+ See [violations.md](violations.md) for anti-patterns and [report-template.md](report-template.md) for self-review format.
@@ -0,0 +1,253 @@
1
+ # Self-Review Report Template
2
+
3
+ Use this template when generating your self-review report.
4
+
5
+ ---
6
+
7
+ ## Report Format
8
+
9
+ ```markdown
10
+ ## Self-Review Report
11
+
12
+ ### Task
13
+ {Brief description of what was implemented}
14
+
15
+ ### Files Changed
16
+ - `path/to/file.ts` - {what changed}
17
+ - `path/to/test.ts` - {what changed}
18
+
19
+ ---
20
+
21
+ ### P0 Pillars (MUST Fix)
22
+
23
+ | Pillar | Status | Notes |
24
+ |--------|--------|-------|
25
+ | Design | PASS/FIXED | {details if fixed} |
26
+ | Functionality | PASS/FIXED | {details if fixed} |
27
+ | Security | PASS/FIXED | {details if fixed} |
28
+
29
+ **Fixes Applied**:
30
+ - {file:line} - {what was fixed}
31
+
32
+ ---
33
+
34
+ ### P1 Pillars (SHOULD Fix)
35
+
36
+ | Pillar | Status | Notes |
37
+ |--------|--------|-------|
38
+ | Complexity | PASS/FIXED | {details if fixed} |
39
+ | Error Handling | PASS/FIXED | {details if fixed} |
40
+ | Tests | PASS/FIXED | {details if fixed} |
41
+
42
+ **Fixes Applied**:
43
+ - {file:line} - {what was fixed}
44
+
45
+ ---
46
+
47
+ ### P2 Pillars (FIX if Time Permits)
48
+
49
+ | Pillar | Status | Notes |
50
+ |--------|--------|-------|
51
+ | Naming | PASS/FIXED/SKIP | {details} |
52
+ | Consistency | PASS/FIXED/SKIP | {details} |
53
+ | Documentation | PASS/FIXED/SKIP | {details} |
54
+
55
+ **Fixes Applied** (if any):
56
+ - {file:line} - {what was fixed}
57
+
58
+ ---
59
+
60
+ ### Summary
61
+
62
+ **Issues Found**: {total count}
63
+ **Issues Fixed**: {count}
64
+ **Status**: READY / BLOCKED
65
+
66
+ {If BLOCKED, explain what cannot be fixed and why}
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Example Reports
72
+
73
+ ### Example 1: Clean Pass
74
+
75
+ ```markdown
76
+ ## Self-Review Report
77
+
78
+ ### Task
79
+ Add user profile update endpoint
80
+
81
+ ### Files Changed
82
+ - `src/routes/users.ts` - added PUT /users/:id/profile endpoint
83
+ - `src/services/user-service.ts` - added updateProfile method
84
+ - `tests/services/user-service.test.ts` - added profile update tests
85
+
86
+ ---
87
+
88
+ ### P0 Pillars (MUST Fix)
89
+
90
+ | Pillar | Status | Notes |
91
+ |--------|--------|-------|
92
+ | Design | PASS | Follows existing route/service pattern |
93
+ | Functionality | PASS | All edge cases handled |
94
+ | Security | PASS | Auth middleware in place, input validated |
95
+
96
+ ---
97
+
98
+ ### P1 Pillars (SHOULD Fix)
99
+
100
+ | Pillar | Status | Notes |
101
+ |--------|--------|-------|
102
+ | Complexity | PASS | Functions under 30 lines |
103
+ | Error Handling | PASS | Uses Result types consistently |
104
+ | Tests | PASS | Happy path, errors, and edges covered |
105
+
106
+ ---
107
+
108
+ ### P2 Pillars (FIX if Time Permits)
109
+
110
+ | Pillar | Status | Notes |
111
+ |--------|--------|-------|
112
+ | Naming | PASS | Clear, descriptive names |
113
+ | Consistency | PASS | Matches existing patterns |
114
+ | Documentation | PASS | JSDoc on public methods |
115
+
116
+ ---
117
+
118
+ ### Summary
119
+
120
+ **Issues Found**: 0
121
+ **Issues Fixed**: 0
122
+ **Status**: READY
123
+ ```
124
+
125
+ ### Example 2: Issues Fixed
126
+
127
+ ```markdown
128
+ ## Self-Review Report
129
+
130
+ ### Task
131
+ Implement order cancellation flow
132
+
133
+ ### Files Changed
134
+ - `src/services/order-service.ts` - added cancelOrder method
135
+ - `src/routes/orders.ts` - added DELETE /orders/:id endpoint
136
+ - `tests/services/order-service.test.ts` - added cancellation tests
137
+
138
+ ---
139
+
140
+ ### P0 Pillars (MUST Fix)
141
+
142
+ | Pillar | Status | Notes |
143
+ |--------|--------|-------|
144
+ | Design | PASS | Follows existing patterns |
145
+ | Functionality | FIXED | Added missing status check before cancel |
146
+ | Security | FIXED | Added ownership verification |
147
+
148
+ **Fixes Applied**:
149
+ - `src/services/order-service.ts:45` - Added check: cannot cancel completed orders
150
+ - `src/routes/orders.ts:78` - Added auth check: user must own the order
151
+
152
+ ---
153
+
154
+ ### P1 Pillars (SHOULD Fix)
155
+
156
+ | Pillar | Status | Notes |
157
+ |--------|--------|-------|
158
+ | Complexity | PASS | Clean, simple logic |
159
+ | Error Handling | FIXED | Changed generic error to specific CancellationError |
160
+ | Tests | FIXED | Added test for already-completed order case |
161
+
162
+ **Fixes Applied**:
163
+ - `src/services/order-service.ts:52` - Specific error: `OrderCancellationError('Order already completed')`
164
+ - `tests/services/order-service.test.ts:120` - Added: `it('rejects cancellation of completed orders')`
165
+
166
+ ---
167
+
168
+ ### P2 Pillars (FIX if Time Permits)
169
+
170
+ | Pillar | Status | Notes |
171
+ |--------|--------|-------|
172
+ | Naming | PASS | Clear names |
173
+ | Consistency | PASS | Matches existing order methods |
174
+ | Documentation | FIXED | Added JSDoc explaining cancellation rules |
175
+
176
+ **Fixes Applied**:
177
+ - `src/services/order-service.ts:40` - Added JSDoc documenting cancellation states
178
+
179
+ ---
180
+
181
+ ### Summary
182
+
183
+ **Issues Found**: 5
184
+ **Issues Fixed**: 5
185
+ **Status**: READY
186
+ ```
187
+
188
+ ### Example 3: Blocked
189
+
190
+ ```markdown
191
+ ## Self-Review Report
192
+
193
+ ### Task
194
+ Add payment refund capability
195
+
196
+ ### Files Changed
197
+ - `src/services/payment-service.ts` - added refund method
198
+ - `src/routes/payments.ts` - added POST /payments/:id/refund
199
+
200
+ ---
201
+
202
+ ### P0 Pillars (MUST Fix)
203
+
204
+ | Pillar | Status | Notes |
205
+ |--------|--------|-------|
206
+ | Design | BLOCKED | Requires architectural change (see below) |
207
+ | Functionality | - | Cannot evaluate due to design blocker |
208
+ | Security | - | Cannot evaluate due to design blocker |
209
+
210
+ ---
211
+
212
+ ### Summary
213
+
214
+ **Issues Found**: 1 (architectural)
215
+ **Issues Fixed**: 0
216
+ **Status**: BLOCKED
217
+
218
+ **Blocker**: Payment refunds require access to transaction history, but current
219
+ PaymentService has no dependency on TransactionRepository. Adding this dependency
220
+ would require:
221
+ 1. Modifying PaymentService constructor (breaking change)
222
+ 2. Updating all 15 existing tests
223
+ 3. Modifying dependency injection container
224
+
225
+ This is beyond the scope of self-review fixes. Escalating to orchestrator for
226
+ architectural decision.
227
+
228
+ **Recommendation**: Refactor PaymentService to accept TransactionRepository
229
+ before implementing refund feature.
230
+ ```
231
+
232
+ ---
233
+
234
+ ## Status Definitions
235
+
236
+ | Status | Meaning |
237
+ |--------|---------|
238
+ | PASS | No issues found for this pillar |
239
+ | FIXED | Issue found and resolved |
240
+ | SKIP | P2 only - issue noted but not fixed due to time |
241
+ | BLOCKED | Cannot fix - requires escalation |
242
+
243
+ ---
244
+
245
+ ## Report Checklist
246
+
247
+ Before submitting report:
248
+ - [ ] All P0 pillars are PASS or FIXED
249
+ - [ ] All P1 pillars are PASS or FIXED
250
+ - [ ] P2 pillars evaluated (PASS/FIXED/SKIP)
251
+ - [ ] All fixes documented with file:line
252
+ - [ ] Summary accurately reflects status
253
+ - [ ] If BLOCKED, clear explanation provided