@sk8metal/michi-cli 0.0.9 → 0.1.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 (371) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +235 -57
  3. package/dist/scripts/__tests__/create-project.test.js +24 -28
  4. package/dist/scripts/__tests__/create-project.test.js.map +1 -1
  5. package/dist/scripts/__tests__/jira-transitions.test.d.ts +5 -0
  6. package/dist/scripts/__tests__/jira-transitions.test.d.ts.map +1 -0
  7. package/dist/scripts/__tests__/jira-transitions.test.js +172 -0
  8. package/dist/scripts/__tests__/jira-transitions.test.js.map +1 -0
  9. package/dist/scripts/__tests__/multi-project-estimate.test.js +14 -15
  10. package/dist/scripts/__tests__/multi-project-estimate.test.js.map +1 -1
  11. package/dist/scripts/__tests__/setup-existing-project.test.js +79 -0
  12. package/dist/scripts/__tests__/setup-existing-project.test.js.map +1 -1
  13. package/dist/scripts/__tests__/setup-interactive.test.js +23 -17
  14. package/dist/scripts/__tests__/setup-interactive.test.js.map +1 -1
  15. package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts +5 -0
  16. package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts.map +1 -0
  17. package/dist/scripts/__tests__/spec-impl-workflow.test.js +321 -0
  18. package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +1 -0
  19. package/dist/scripts/__tests__/spec-loader.test.d.ts +5 -0
  20. package/dist/scripts/__tests__/spec-loader.test.d.ts.map +1 -0
  21. package/dist/scripts/__tests__/spec-loader.test.js +153 -0
  22. package/dist/scripts/__tests__/spec-loader.test.js.map +1 -0
  23. package/dist/scripts/__tests__/validate-phase.test.js +26 -22
  24. package/dist/scripts/__tests__/validate-phase.test.js.map +1 -1
  25. package/dist/scripts/config/config-schema.d.ts +17 -0
  26. package/dist/scripts/config/config-schema.d.ts.map +1 -1
  27. package/dist/scripts/config/config-schema.js +55 -26
  28. package/dist/scripts/config/config-schema.js.map +1 -1
  29. package/dist/scripts/config-interactive.d.ts.map +1 -1
  30. package/dist/scripts/config-interactive.js +53 -38
  31. package/dist/scripts/config-interactive.js.map +1 -1
  32. package/dist/scripts/confluence-sync.d.ts.map +1 -1
  33. package/dist/scripts/confluence-sync.js +0 -11
  34. package/dist/scripts/confluence-sync.js.map +1 -1
  35. package/dist/scripts/constants/__tests__/environments.test.js +39 -5
  36. package/dist/scripts/constants/__tests__/environments.test.js.map +1 -1
  37. package/dist/scripts/constants/environments.d.ts +1 -1
  38. package/dist/scripts/constants/environments.d.ts.map +1 -1
  39. package/dist/scripts/constants/environments.js +22 -7
  40. package/dist/scripts/constants/environments.js.map +1 -1
  41. package/dist/scripts/constants/test-commands.d.ts +36 -0
  42. package/dist/scripts/constants/test-commands.d.ts.map +1 -0
  43. package/dist/scripts/constants/test-commands.js +70 -0
  44. package/dist/scripts/constants/test-commands.js.map +1 -0
  45. package/dist/scripts/jira-sync.d.ts +89 -3
  46. package/dist/scripts/jira-sync.d.ts.map +1 -1
  47. package/dist/scripts/jira-sync.js +366 -96
  48. package/dist/scripts/jira-sync.js.map +1 -1
  49. package/dist/scripts/markdown-to-confluence.js +1 -1
  50. package/dist/scripts/markdown-to-confluence.js.map +1 -1
  51. package/dist/scripts/phase-runner.d.ts +1 -1
  52. package/dist/scripts/phase-runner.d.ts.map +1 -1
  53. package/dist/scripts/phase-runner.js +809 -13
  54. package/dist/scripts/phase-runner.js.map +1 -1
  55. package/dist/scripts/pr-automation.d.ts.map +1 -1
  56. package/dist/scripts/pr-automation.js.map +1 -1
  57. package/dist/scripts/pre-flight-check.js +1 -1
  58. package/dist/scripts/pre-flight-check.js.map +1 -1
  59. package/dist/scripts/setup-existing-project.js +61 -29
  60. package/dist/scripts/setup-existing-project.js.map +1 -1
  61. package/dist/scripts/setup-interactive.js +3 -3
  62. package/dist/scripts/setup-interactive.js.map +1 -1
  63. package/dist/scripts/spec-impl-workflow.d.ts +94 -0
  64. package/dist/scripts/spec-impl-workflow.d.ts.map +1 -0
  65. package/dist/scripts/spec-impl-workflow.js +354 -0
  66. package/dist/scripts/spec-impl-workflow.js.map +1 -0
  67. package/dist/scripts/template/__tests__/renderer.test.js.map +1 -1
  68. package/dist/scripts/test-execution-generator.d.ts +52 -0
  69. package/dist/scripts/test-execution-generator.d.ts.map +1 -0
  70. package/dist/scripts/test-execution-generator.js +576 -0
  71. package/dist/scripts/test-execution-generator.js.map +1 -0
  72. package/dist/scripts/test-interactive.d.ts +10 -0
  73. package/dist/scripts/test-interactive.d.ts.map +1 -0
  74. package/dist/scripts/test-interactive.js +627 -0
  75. package/dist/scripts/test-interactive.js.map +1 -0
  76. package/dist/scripts/test-new-features.d.ts +5 -0
  77. package/dist/scripts/test-new-features.d.ts.map +1 -0
  78. package/dist/scripts/test-new-features.js +145 -0
  79. package/dist/scripts/test-new-features.js.map +1 -0
  80. package/dist/scripts/test-spec-generator.d.ts +29 -0
  81. package/dist/scripts/test-spec-generator.d.ts.map +1 -0
  82. package/dist/scripts/test-spec-generator.js +494 -0
  83. package/dist/scripts/test-spec-generator.js.map +1 -0
  84. package/dist/scripts/test-workflow-stages.d.ts +6 -0
  85. package/dist/scripts/test-workflow-stages.d.ts.map +1 -0
  86. package/dist/scripts/test-workflow-stages.js +43 -0
  87. package/dist/scripts/test-workflow-stages.js.map +1 -0
  88. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts +5 -0
  89. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts.map +1 -0
  90. package/dist/scripts/utils/__tests__/aidlc-parser.test.js +315 -0
  91. package/dist/scripts/utils/__tests__/aidlc-parser.test.js.map +1 -0
  92. package/dist/scripts/utils/__tests__/business-days.test.d.ts +5 -0
  93. package/dist/scripts/utils/__tests__/business-days.test.d.ts.map +1 -0
  94. package/dist/scripts/utils/__tests__/business-days.test.js +171 -0
  95. package/dist/scripts/utils/__tests__/business-days.test.js.map +1 -0
  96. package/dist/scripts/utils/__tests__/config-loader.test.js +1 -1
  97. package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -1
  98. package/dist/scripts/utils/__tests__/config-validator.test.js +164 -35
  99. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  100. package/dist/scripts/utils/__tests__/env-config.test.d.ts +5 -0
  101. package/dist/scripts/utils/__tests__/env-config.test.d.ts.map +1 -0
  102. package/dist/scripts/utils/__tests__/env-config.test.js +218 -0
  103. package/dist/scripts/utils/__tests__/env-config.test.js.map +1 -0
  104. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts +5 -0
  105. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts.map +1 -0
  106. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js +202 -0
  107. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js.map +1 -0
  108. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts +5 -0
  109. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts.map +1 -0
  110. package/dist/scripts/utils/__tests__/tasks-converter.test.js +500 -0
  111. package/dist/scripts/utils/__tests__/tasks-converter.test.js.map +1 -0
  112. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts +5 -0
  113. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts.map +1 -0
  114. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js +314 -0
  115. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js.map +1 -0
  116. package/dist/scripts/utils/__tests__/test-runner.test.d.ts +5 -0
  117. package/dist/scripts/utils/__tests__/test-runner.test.d.ts.map +1 -0
  118. package/dist/scripts/utils/__tests__/test-runner.test.js +64 -0
  119. package/dist/scripts/utils/__tests__/test-runner.test.js.map +1 -0
  120. package/dist/scripts/utils/aidlc-parser.d.ts +86 -0
  121. package/dist/scripts/utils/aidlc-parser.d.ts.map +1 -0
  122. package/dist/scripts/utils/aidlc-parser.js +208 -0
  123. package/dist/scripts/utils/aidlc-parser.js.map +1 -0
  124. package/dist/scripts/utils/business-days.d.ts +52 -0
  125. package/dist/scripts/utils/business-days.d.ts.map +1 -0
  126. package/dist/scripts/utils/business-days.js +98 -0
  127. package/dist/scripts/utils/business-days.js.map +1 -0
  128. package/dist/scripts/utils/ci-generator.d.ts +14 -0
  129. package/dist/scripts/utils/ci-generator.d.ts.map +1 -0
  130. package/dist/scripts/utils/ci-generator.js +61 -0
  131. package/dist/scripts/utils/ci-generator.js.map +1 -0
  132. package/dist/scripts/utils/config-loader.js +2 -2
  133. package/dist/scripts/utils/config-loader.js.map +1 -1
  134. package/dist/scripts/utils/config-validator.d.ts +7 -1
  135. package/dist/scripts/utils/config-validator.d.ts.map +1 -1
  136. package/dist/scripts/utils/config-validator.js +136 -23
  137. package/dist/scripts/utils/config-validator.js.map +1 -1
  138. package/dist/scripts/utils/confluence-approval.d.ts +46 -0
  139. package/dist/scripts/utils/confluence-approval.d.ts.map +1 -0
  140. package/dist/scripts/utils/confluence-approval.js +118 -0
  141. package/dist/scripts/utils/confluence-approval.js.map +1 -0
  142. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
  143. package/dist/scripts/utils/confluence-hierarchy.js +1 -1
  144. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  145. package/dist/scripts/utils/docker-generator.d.ts +9 -0
  146. package/dist/scripts/utils/docker-generator.d.ts.map +1 -0
  147. package/dist/scripts/utils/docker-generator.js +132 -0
  148. package/dist/scripts/utils/docker-generator.js.map +1 -0
  149. package/dist/scripts/utils/docker-requirement-detector.d.ts +15 -0
  150. package/dist/scripts/utils/docker-requirement-detector.d.ts.map +1 -0
  151. package/dist/scripts/utils/docker-requirement-detector.js +124 -0
  152. package/dist/scripts/utils/docker-requirement-detector.js.map +1 -0
  153. package/dist/scripts/utils/env-config.d.ts +54 -0
  154. package/dist/scripts/utils/env-config.d.ts.map +1 -0
  155. package/dist/scripts/utils/env-config.js +414 -0
  156. package/dist/scripts/utils/env-config.js.map +1 -0
  157. package/dist/scripts/utils/jira-issue-type-fetcher.d.ts +70 -0
  158. package/dist/scripts/utils/jira-issue-type-fetcher.d.ts.map +1 -0
  159. package/dist/scripts/utils/jira-issue-type-fetcher.js +147 -0
  160. package/dist/scripts/utils/jira-issue-type-fetcher.js.map +1 -0
  161. package/dist/scripts/utils/language-detector.d.ts +14 -0
  162. package/dist/scripts/utils/language-detector.d.ts.map +1 -0
  163. package/dist/scripts/utils/language-detector.js +119 -0
  164. package/dist/scripts/utils/language-detector.js.map +1 -0
  165. package/dist/scripts/utils/markdown-parser.d.ts +55 -0
  166. package/dist/scripts/utils/markdown-parser.d.ts.map +1 -0
  167. package/dist/scripts/utils/markdown-parser.js +289 -0
  168. package/dist/scripts/utils/markdown-parser.js.map +1 -0
  169. package/dist/scripts/utils/project-detector.d.ts +17 -0
  170. package/dist/scripts/utils/project-detector.d.ts.map +1 -0
  171. package/dist/scripts/utils/project-detector.js +166 -0
  172. package/dist/scripts/utils/project-detector.js.map +1 -0
  173. package/dist/scripts/utils/project-finder.js +2 -2
  174. package/dist/scripts/utils/project-finder.js.map +1 -1
  175. package/dist/scripts/utils/release-notes-generator.d.ts +56 -0
  176. package/dist/scripts/utils/release-notes-generator.d.ts.map +1 -0
  177. package/dist/scripts/utils/release-notes-generator.js +162 -0
  178. package/dist/scripts/utils/release-notes-generator.js.map +1 -0
  179. package/dist/scripts/utils/spec-loader.d.ts +79 -0
  180. package/dist/scripts/utils/spec-loader.d.ts.map +1 -0
  181. package/dist/scripts/utils/spec-loader.js +80 -0
  182. package/dist/scripts/utils/spec-loader.js.map +1 -0
  183. package/dist/scripts/utils/spec-updater.d.ts +7 -0
  184. package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
  185. package/dist/scripts/utils/spec-updater.js.map +1 -1
  186. package/dist/scripts/utils/tasks-converter.d.ts +57 -0
  187. package/dist/scripts/utils/tasks-converter.d.ts.map +1 -0
  188. package/dist/scripts/utils/tasks-converter.js +322 -0
  189. package/dist/scripts/utils/tasks-converter.js.map +1 -0
  190. package/dist/scripts/utils/tasks-format-validator.d.ts +36 -0
  191. package/dist/scripts/utils/tasks-format-validator.d.ts.map +1 -0
  192. package/dist/scripts/utils/tasks-format-validator.js +158 -0
  193. package/dist/scripts/utils/tasks-format-validator.js.map +1 -0
  194. package/dist/scripts/utils/template-applier.d.ts +37 -0
  195. package/dist/scripts/utils/template-applier.d.ts.map +1 -0
  196. package/dist/scripts/utils/template-applier.js +129 -0
  197. package/dist/scripts/utils/template-applier.js.map +1 -0
  198. package/dist/scripts/utils/test-config-generator.d.ts +12 -0
  199. package/dist/scripts/utils/test-config-generator.d.ts.map +1 -0
  200. package/dist/scripts/utils/test-config-generator.js +185 -0
  201. package/dist/scripts/utils/test-config-generator.js.map +1 -0
  202. package/dist/scripts/utils/test-runner.d.ts +31 -0
  203. package/dist/scripts/utils/test-runner.d.ts.map +1 -0
  204. package/dist/scripts/utils/test-runner.js +103 -0
  205. package/dist/scripts/utils/test-runner.js.map +1 -0
  206. package/dist/scripts/validate-phase.d.ts +1 -1
  207. package/dist/scripts/validate-phase.d.ts.map +1 -1
  208. package/dist/scripts/validate-phase.js +153 -5
  209. package/dist/scripts/validate-phase.js.map +1 -1
  210. package/dist/scripts/workflow-orchestrator.d.ts +8 -0
  211. package/dist/scripts/workflow-orchestrator.d.ts.map +1 -1
  212. package/dist/scripts/workflow-orchestrator.js +108 -7
  213. package/dist/scripts/workflow-orchestrator.js.map +1 -1
  214. package/dist/src/__tests__/integration/internationalization.test.d.ts +8 -0
  215. package/dist/src/__tests__/integration/internationalization.test.d.ts.map +1 -0
  216. package/dist/src/__tests__/integration/internationalization.test.js +333 -0
  217. package/dist/src/__tests__/integration/internationalization.test.js.map +1 -0
  218. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +1 -1
  219. package/dist/src/__tests__/integration/setup/claude-agent.test.js +17 -20
  220. package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -1
  221. package/dist/src/__tests__/integration/setup/cursor.test.js +23 -19
  222. package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -1
  223. package/dist/src/__tests__/integration/setup/validation.test.js +41 -58
  224. package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -1
  225. package/dist/src/cli.d.ts.map +1 -1
  226. package/dist/src/cli.js +208 -18
  227. package/dist/src/cli.js.map +1 -1
  228. package/dist/src/commands/setup-existing.d.ts +3 -0
  229. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  230. package/dist/src/commands/setup-existing.js +334 -47
  231. package/dist/src/commands/setup-existing.js.map +1 -1
  232. package/docs/README.md +3 -1
  233. package/docs/context.md +59 -0
  234. package/docs/design-issue-55.md +240 -0
  235. package/docs/design-issue-56.md +181 -0
  236. package/docs/michi-development/testing/manual-verification-flow.md +2242 -0
  237. package/docs/michi-development/testing/pre-publish-checklist.md +560 -0
  238. package/docs/plan.md +275 -0
  239. package/docs/user-guide/getting-started/github-token-setup.md +509 -0
  240. package/docs/{getting-started → user-guide/getting-started}/quick-start.md +16 -0
  241. package/docs/{getting-started → user-guide/getting-started}/setup.md +28 -1
  242. package/docs/user-guide/guides/internationalization.md +540 -0
  243. package/docs/{guides → user-guide/guides}/multi-project.md +1 -1
  244. package/docs/{guides → user-guide/guides}/phase-automation.md +67 -9
  245. package/docs/user-guide/guides/workflow.md +582 -0
  246. package/docs/user-guide/hands-on/README.md +142 -0
  247. package/docs/user-guide/hands-on/claude-agent-setup.md +455 -0
  248. package/docs/user-guide/hands-on/claude-setup.md +398 -0
  249. package/docs/user-guide/hands-on/cursor-setup.md +352 -0
  250. package/docs/user-guide/hands-on/troubleshooting.md +964 -0
  251. package/docs/user-guide/hands-on/verification-checklist.md +438 -0
  252. package/docs/user-guide/hands-on/workflow-walkthrough.md +906 -0
  253. package/docs/user-guide/reference/config.md +564 -0
  254. package/docs/{reference → user-guide/reference}/quick-reference.md +53 -40
  255. package/docs/user-guide/release/ci-setup.md +541 -0
  256. package/docs/user-guide/release/release-flow.md +476 -0
  257. package/docs/user-guide/templates/test-specs/README.md +173 -0
  258. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +547 -0
  259. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +435 -0
  260. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +454 -0
  261. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +664 -0
  262. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +328 -0
  263. package/docs/{testing → user-guide/testing}/integration-tests.md +24 -9
  264. package/docs/user-guide/testing/tdd-cycle.md +349 -0
  265. package/docs/user-guide/testing/test-execution-flow.md +396 -0
  266. package/docs/user-guide/testing/test-failure-handling.md +521 -0
  267. package/docs/user-guide/testing/test-planning-flow.md +181 -0
  268. package/docs/user-guide/testing-strategy.md +185 -0
  269. package/docs/verification-guide.md +518 -0
  270. package/package.json +7 -2
  271. package/scripts/__tests__/create-project.test.ts +67 -49
  272. package/scripts/__tests__/jira-transitions.test.ts +225 -0
  273. package/scripts/__tests__/multi-project-estimate.test.ts +36 -30
  274. package/scripts/__tests__/setup-existing-project.test.ts +98 -1
  275. package/scripts/__tests__/setup-interactive.test.ts +52 -46
  276. package/scripts/__tests__/spec-impl-workflow.test.ts +429 -0
  277. package/scripts/__tests__/spec-loader.test.ts +199 -0
  278. package/scripts/__tests__/validate-phase.test.ts +78 -54
  279. package/scripts/config/config-schema.ts +89 -50
  280. package/scripts/config-interactive.ts +191 -136
  281. package/scripts/confluence-sync.ts +0 -12
  282. package/scripts/constants/__tests__/environments.test.ts +42 -6
  283. package/scripts/constants/environments.ts +33 -13
  284. package/scripts/constants/test-commands.ts +96 -0
  285. package/scripts/jira-sync.ts +767 -232
  286. package/scripts/markdown-to-confluence.ts +1 -1
  287. package/scripts/phase-runner.ts +1056 -63
  288. package/scripts/pr-automation.ts +0 -1
  289. package/scripts/pre-flight-check.ts +1 -1
  290. package/scripts/pre-publish-check.sh +311 -0
  291. package/scripts/quick-verify.sh +115 -0
  292. package/scripts/setup-existing-project.ts +201 -117
  293. package/scripts/setup-interactive.ts +4 -4
  294. package/scripts/spec-impl-workflow.ts +505 -0
  295. package/scripts/template/__tests__/renderer.test.ts +1 -2
  296. package/scripts/test-execution-generator.ts +695 -0
  297. package/scripts/test-interactive.ts +779 -0
  298. package/scripts/test-new-features.ts +168 -0
  299. package/scripts/test-npm-package.sh +345 -0
  300. package/scripts/test-spec-generator.ts +574 -0
  301. package/scripts/test-workflow-stages.ts +53 -0
  302. package/scripts/utils/__tests__/aidlc-parser.test.ts +349 -0
  303. package/scripts/utils/__tests__/business-days.test.ts +214 -0
  304. package/scripts/utils/__tests__/config-loader.test.ts +1 -1
  305. package/scripts/utils/__tests__/config-validator.test.ts +309 -88
  306. package/scripts/utils/__tests__/env-config.test.ts +259 -0
  307. package/scripts/utils/__tests__/jira-issue-type-fetcher.test.ts +272 -0
  308. package/scripts/utils/__tests__/tasks-converter.test.ts +582 -0
  309. package/scripts/utils/__tests__/tasks-format-validator.test.ts +338 -0
  310. package/scripts/utils/__tests__/test-runner.test.ts +77 -0
  311. package/scripts/utils/aidlc-parser.ts +289 -0
  312. package/scripts/utils/business-days.ts +115 -0
  313. package/scripts/utils/ci-generator.ts +84 -0
  314. package/scripts/utils/config-loader.ts +2 -2
  315. package/scripts/utils/config-validator.ts +304 -117
  316. package/scripts/utils/confluence-approval.ts +167 -0
  317. package/scripts/utils/confluence-hierarchy.ts +2 -4
  318. package/scripts/utils/docker-generator.ts +151 -0
  319. package/scripts/utils/docker-requirement-detector.ts +153 -0
  320. package/scripts/utils/env-config.ts +526 -0
  321. package/scripts/utils/jira-issue-type-fetcher.ts +199 -0
  322. package/scripts/utils/language-detector.ts +139 -0
  323. package/scripts/utils/markdown-parser.ts +376 -0
  324. package/scripts/utils/project-detector.ts +192 -0
  325. package/scripts/utils/project-finder.ts +2 -2
  326. package/scripts/utils/release-notes-generator.ts +210 -0
  327. package/scripts/utils/spec-loader.ts +125 -0
  328. package/scripts/utils/spec-updater.ts +8 -1
  329. package/scripts/utils/tasks-converter.ts +601 -0
  330. package/scripts/utils/tasks-format-validator.ts +193 -0
  331. package/scripts/utils/template-applier.ts +202 -0
  332. package/scripts/utils/test-config-generator.ts +210 -0
  333. package/scripts/utils/test-runner.ts +133 -0
  334. package/scripts/validate-phase.ts +186 -9
  335. package/scripts/workflow-orchestrator.ts +130 -12
  336. package/templates/ci/github-actions/java.yml +54 -0
  337. package/templates/ci/github-actions/nodejs.yml +46 -0
  338. package/templates/ci/github-actions/php.yml +52 -0
  339. package/templates/ci/screwdriver/java.yaml +17 -0
  340. package/templates/ci/screwdriver/nodejs.yaml +17 -0
  341. package/templates/ci/screwdriver/php.yaml +20 -0
  342. package/templates/claude/commands/kiro/kiro-spec-impl.md +244 -0
  343. package/templates/claude/commands/kiro/kiro-spec-tasks.md +354 -0
  344. package/templates/claude-agent/README.md +7 -1
  345. package/templates/claude-agent/agents/.gitkeep +0 -0
  346. package/templates/claude-agent/agents/designer.md +79 -0
  347. package/templates/claude-agent/agents/developer.md +68 -0
  348. package/templates/claude-agent/agents/manager-agent.md +59 -0
  349. package/templates/claude-agent/agents/tester.md +101 -0
  350. package/templates/claude-agent/commands/kiro/.gitkeep +0 -0
  351. package/templates/claude-agent/commands/kiro/kiro-spec-impl.md +244 -0
  352. package/templates/claude-agent/commands/kiro/kiro-spec-tasks.md +354 -0
  353. package/templates/cline/rules/atlassian-integration.md +36 -0
  354. package/templates/cline/rules/michi-core.md +56 -0
  355. package/templates/codex/AGENTS.override.md +277 -0
  356. package/templates/codex/prompts/confluence-sync.md +177 -0
  357. package/templates/codex/rules/README.md +210 -0
  358. package/templates/common/.kiro/project.json.template +21 -0
  359. package/templates/cursor/commands/kiro/kiro-spec-impl.md +244 -0
  360. package/templates/cursor/commands/kiro/kiro-spec-tasks.md +354 -0
  361. package/templates/gemini/commands/README.md +41 -0
  362. package/templates/gemini/rules/GEMINI.md +80 -0
  363. package/docs/guides/workflow.md +0 -342
  364. package/docs/reference/config.md +0 -545
  365. package/scripts/setup-existing.sh +0 -279
  366. /package/docs/{contributing → michi-development/contributing}/development.md +0 -0
  367. /package/docs/{contributing → michi-development/contributing}/release.md +0 -0
  368. /package/docs/{testing-strategy.md → michi-development/testing-strategy.md} +0 -0
  369. /package/docs/{getting-started → user-guide/getting-started}/new-repository-setup.md +0 -0
  370. /package/docs/{guides → user-guide/guides}/customization.md +0 -0
  371. /package/docs/{reference → user-guide/reference}/tasks-template.md +0 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: designer
3
+ description: When creating design documents, architecture decisions, or API specifications
4
+ tools: Read, Write, Glob, Grep
5
+ model: sonnet
6
+ ---
7
+
8
+ # Designer Agent
9
+
10
+ ## Language
11
+
12
+ All output should be in: **{{LANG_CODE}}**
13
+
14
+ ## Role
15
+
16
+ System design and architecture documentation.
17
+
18
+ ## Responsibilities
19
+
20
+ - Requirements document creation
21
+ - Design document creation
22
+ - Architecture decisions
23
+ - API specification (OpenAPI)
24
+ - Data model design
25
+ - Sequence diagrams and flowcharts
26
+
27
+ ## Design Artifacts
28
+
29
+ ### Requirements Document
30
+
31
+ - Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/requirements.md
32
+ - Content: Functional and non-functional requirements
33
+ - Format: Structured markdown with acceptance criteria
34
+
35
+ ### Design Document
36
+
37
+ - Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/design.md
38
+ - Content: Architecture, interfaces, data models
39
+ - Include: Error handling strategy, security considerations
40
+
41
+ ## Design Principles
42
+
43
+ - Keep it simple (KISS)
44
+ - Design for testability
45
+ - Consider security from the start
46
+ - Document trade-offs and decisions
47
+
48
+ ## Workflow
49
+
50
+ ### 1. Requirements Analysis
51
+
52
+ - Gather requirements from manager-agent
53
+ - Clarify ambiguities with stakeholders
54
+ - Define acceptance criteria
55
+
56
+ ### 2. Architecture Design
57
+
58
+ - Define system components
59
+ - Design interfaces between components
60
+ - Create data models
61
+
62
+ ### 3. Documentation
63
+
64
+ - Write requirements.md
65
+ - Write design.md
66
+ - Create API specifications if applicable
67
+
68
+ ## Project Context
69
+
70
+ - Project ID: {{PROJECT_ID}}
71
+ - Kiro directory: {{KIRO_DIR}}
72
+ - Agent directory: {{AGENT_DIR}}
73
+ - Feature name: {{FEATURE_NAME}}
74
+
75
+ ## Constraints
76
+
77
+ - Do not implement code (delegate to developer)
78
+ - All designs must be documented in {{KIRO_DIR}}/specs/
79
+ - Consider existing architecture patterns in the codebase
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: developer
3
+ description: When implementing code, running tests, or creating pull requests
4
+ tools: Read, Write, Edit, Bash, Glob, Grep
5
+ model: sonnet
6
+ ---
7
+
8
+ # Developer Agent
9
+
10
+ ## Language
11
+
12
+ All output should be in: **{{LANG_CODE}}**
13
+
14
+ ## Development Guidelines
15
+
16
+ {{DEV_GUIDELINES}}
17
+
18
+ ## Role
19
+
20
+ Code implementation following TDD principles.
21
+
22
+ ## Responsibilities
23
+
24
+ - Feature implementation based on design documents
25
+ - Test-Driven Development (TDD) cycle execution
26
+ - Code quality maintenance
27
+ - Pull request creation and self-review
28
+
29
+ ## TDD Workflow
30
+
31
+ ### 1. Red Phase
32
+
33
+ - Read design document at {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/design.md
34
+ - Write failing tests first
35
+ - Define expected behavior through tests
36
+
37
+ ### 2. Green Phase
38
+
39
+ - Implement minimum code to pass tests
40
+ - Focus on functionality, not perfection
41
+ - Run tests frequently
42
+
43
+ ### 3. Refactor Phase
44
+
45
+ - Clean up code while keeping tests green
46
+ - Apply DRY principle
47
+ - Improve code readability
48
+
49
+ ## Development Principles
50
+
51
+ - DRY (Don't Repeat Yourself)
52
+ - Single Responsibility Principle
53
+ - Target 95%+ test coverage
54
+ - Follow secure coding best practices
55
+
56
+ ## Project Context
57
+
58
+ - Project ID: {{PROJECT_ID}}
59
+ - Kiro directory: {{KIRO_DIR}}
60
+ - Agent directory: {{AGENT_DIR}}
61
+ - Feature name: {{FEATURE_NAME}}
62
+
63
+ ## Constraints
64
+
65
+ - Never skip writing tests
66
+ - Always run tests before committing
67
+ - Follow the design document specifications
68
+ - Do not modify design decisions without approval
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: manager-agent
3
+ description: When managing project workflow, task assignment, or progress tracking
4
+ tools: Read, Grep, Glob, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ # Manager Agent
9
+
10
+ ## Language
11
+
12
+ All output should be in: **{{LANG_CODE}}**
13
+
14
+ ## Role
15
+
16
+ Project orchestration and workflow management.
17
+
18
+ ## Responsibilities
19
+
20
+ - Requirements gathering and task breakdown
21
+ - Task prioritization and assignment to other agents
22
+ - Progress tracking and status reporting
23
+ - Coordination between agents (developer, designer, tester)
24
+ - Spec initialization and management
25
+
26
+ ## Workflow
27
+
28
+ ### 1. Project Initialization
29
+
30
+ - Initialize spec structure at {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/
31
+ - Create spec.json with project metadata
32
+ - Reference {{KIRO_DIR}}/project.json for project context
33
+
34
+ ### 2. Task Management
35
+
36
+ - Break down requirements into actionable tasks
37
+ - Assign tasks to appropriate agents:
38
+ - Design tasks -> designer agent
39
+ - Implementation tasks -> developer agent
40
+ - Testing tasks -> tester agent
41
+ - Track completion status
42
+
43
+ ### 3. Integration
44
+
45
+ - Coordinate with JIRA for ticket creation
46
+ - Sync specifications with Confluence
47
+ - Ensure consistency across all artifacts
48
+
49
+ ## Project Context
50
+
51
+ - Project ID: {{PROJECT_ID}}
52
+ - Kiro directory: {{KIRO_DIR}}
53
+ - Agent directory: {{AGENT_DIR}}
54
+
55
+ ## Constraints
56
+
57
+ - Do not implement code directly (delegate to developer)
58
+ - Do not create design documents directly (delegate to designer)
59
+ - Focus on coordination and tracking
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: tester
3
+ description: When designing tests, running test suites, or performing quality assurance
4
+ tools: Read, Write, Edit, Bash, Glob, Grep
5
+ model: sonnet
6
+ ---
7
+
8
+ # Tester Agent
9
+
10
+ ## Language
11
+
12
+ All output should be in: **{{LANG_CODE}}**
13
+
14
+ ## Role
15
+
16
+ Test design, execution, and quality assurance.
17
+
18
+ ## Responsibilities
19
+
20
+ - Test strategy definition
21
+ - Test case design
22
+ - Test execution and result analysis
23
+ - Coverage report generation
24
+ - Quality gate enforcement
25
+
26
+ ## Testing Phases
27
+
28
+ ### Phase A (Pre-PR)
29
+
30
+ Automated tests run before pull request:
31
+
32
+ - Unit tests
33
+ - Lint checks
34
+ - Build verification
35
+
36
+ ### Phase B (Pre-Release)
37
+
38
+ Manual/automated tests before release:
39
+
40
+ - Integration tests
41
+ - End-to-end tests
42
+ - Performance tests
43
+ - Security tests
44
+
45
+ ## Test Artifacts
46
+
47
+ ### Test Specifications
48
+
49
+ - Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/test-specs/
50
+ - Content: Test cases, scenarios, expected results
51
+
52
+ ### Test Execution
53
+
54
+ - Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/test-execution/
55
+ - Content: Test scripts, configuration files
56
+
57
+ ## Quality Standards
58
+
59
+ - Code coverage target: 95%+
60
+ - All critical paths must have tests
61
+ - Security vulnerabilities must be addressed
62
+ - Performance benchmarks must be met
63
+
64
+ ## Workflow
65
+
66
+ ### 1. Test Planning
67
+
68
+ - Review requirements and design documents
69
+ - Identify test scenarios
70
+ - Define acceptance criteria
71
+
72
+ ### 2. Test Design
73
+
74
+ - Create test cases
75
+ - Design test data
76
+ - Set up test environment
77
+
78
+ ### 3. Test Execution
79
+
80
+ - Run automated tests
81
+ - Execute manual tests if required
82
+ - Document results
83
+
84
+ ### 4. Quality Reporting
85
+
86
+ - Generate coverage reports
87
+ - Report defects found
88
+ - Provide quality metrics
89
+
90
+ ## Project Context
91
+
92
+ - Project ID: {{PROJECT_ID}}
93
+ - Kiro directory: {{KIRO_DIR}}
94
+ - Agent directory: {{AGENT_DIR}}
95
+ - Feature name: {{FEATURE_NAME}}
96
+
97
+ ## Constraints
98
+
99
+ - Do not approve code that fails tests
100
+ - All tests must be reproducible
101
+ - Test documentation must be maintained
File without changes
@@ -0,0 +1,244 @@
1
+ # kiro:spec-impl - Spec Implementation Command
2
+
3
+ ## Overview
4
+
5
+ This command implements the specifications defined in `tasks.md` following TDD (Test-Driven Development) practices with automatic JIRA integration.
6
+
7
+ **Key Features:**
8
+
9
+ - Automatic JIRA info detection from `spec.json`
10
+ - Updates both Epic AND first Story status
11
+ - Creates PR and adds JIRA comments automatically
12
+
13
+ ## Arguments
14
+
15
+ - `$ARGUMENTS`: Feature name (e.g., "user-auth")
16
+
17
+ **Note:** JIRA ticket keys are automatically detected from `.kiro/specs/{feature}/spec.json`. No need to specify them manually.
18
+
19
+ ## Pre-requisites
20
+
21
+ 1. `.kiro/specs/{feature}/tasks.md` must exist
22
+ 2. `.kiro/specs/{feature}/spec.json` must contain JIRA info (run `michi jira:sync` first)
23
+ 3. Environment variables must be configured:
24
+ - `ATLASSIAN_URL`: JIRA instance URL
25
+ - `ATLASSIAN_EMAIL`: JIRA user email
26
+ - `ATLASSIAN_API_TOKEN`: JIRA API token
27
+ - `GITHUB_TOKEN`: GitHub API token
28
+ - `GITHUB_REPO`: GitHub repository (owner/repo format)
29
+
30
+ ## Execution Flow
31
+
32
+ ### 1. Parse Arguments
33
+
34
+ ```
35
+ Input: $ARGUMENTS
36
+ Expected format: "<feature-name>"
37
+ Example: "user-auth"
38
+ ```
39
+
40
+ Extract:
41
+
42
+ - `FEATURE_NAME`: Feature name from arguments
43
+
44
+ ### 2. JIRA Info Detection (Automatic)
45
+
46
+ Read JIRA information from `.kiro/specs/$FEATURE_NAME/spec.json`:
47
+
48
+ ```json
49
+ {
50
+ "jira": {
51
+ "epicKey": "PROJ-123",
52
+ "storyKeys": ["PROJ-124", "PROJ-125"],
53
+ "epicUrl": "https://..."
54
+ }
55
+ }
56
+ ```
57
+
58
+ **If JIRA info is missing:**
59
+
60
+ - Ask user: "JIRA info not found. Skip JIRA integration? (y/n)"
61
+ - If yes: Continue without JIRA integration
62
+ - If no: Stop and suggest running `michi jira:sync $FEATURE_NAME` first
63
+
64
+ ### 3. Start Processing (JIRA Status Update)
65
+
66
+ **Automatically move Epic AND first Story to "In Progress":**
67
+
68
+ This is handled internally. The workflow will:
69
+
70
+ 1. Transition Epic to "In Progress"
71
+ 2. Transition first Story to "In Progress"
72
+
73
+ ### 4. Implementation Phase (TDD)
74
+
75
+ Read the tasks from `.kiro/specs/$FEATURE_NAME/tasks.md` and implement each Story following TDD:
76
+
77
+ For each Story in tasks.md:
78
+
79
+ 1. **Read Story Requirements**
80
+ - Parse the Story section from tasks.md
81
+ - Identify acceptance criteria and subtasks
82
+
83
+ 2. **Write Tests First (Red)**
84
+ - Create test files based on acceptance criteria
85
+ - Run tests to verify they fail
86
+
87
+ 3. **Implement Code (Green)**
88
+ - Write minimal code to pass tests
89
+ - Follow the existing code patterns in the project
90
+
91
+ 4. **Refactor (Blue)**
92
+ - Clean up code while keeping tests green
93
+ - Apply project coding standards
94
+
95
+ 5. **Commit Changes**
96
+ - Create atomic commits for each Story
97
+ - Use conventional commit format: `feat($FEATURE_NAME): Story title`
98
+
99
+ ### 5. Code Review Phase (Automatic)
100
+
101
+ **Automatically review the implemented code:**
102
+
103
+ For each Story implementation:
104
+
105
+ 1. **Code Review (/review)**
106
+ - Execute `/review` command automatically
107
+ - Analyze the implementation for code quality issues
108
+ - Check for best practices and potential bugs
109
+
110
+ 2. **Fix Issues if Found**
111
+ - If review identifies issues, automatically fix them
112
+ - Commit the fixes
113
+ - Re-run `/review` to verify fixes
114
+ - Repeat until `/review` passes without critical issues
115
+
116
+ 3. **Security Review (/security-review)**
117
+ - Execute `/security-review` command automatically
118
+ - Scan for security vulnerabilities
119
+ - Check for common security issues (SQL injection, XSS, etc.)
120
+
121
+ 4. **Fix Security Issues if Found**
122
+ - If security issues are identified, automatically fix them
123
+ - Commit the security fixes
124
+ - Re-run `/security-review` to verify fixes
125
+ - Repeat until `/security-review` passes without critical issues
126
+
127
+ **Review Loop:**
128
+ - Maximum iterations: 3 per review type
129
+ - If issues persist after 3 iterations, report to user and ask for manual intervention
130
+
131
+ ### 6. PR Creation Confirmation
132
+
133
+ **Ask user before creating PR:**
134
+
135
+ After all reviews pass successfully, ask the user:
136
+
137
+ ```
138
+ ✅ All reviews completed successfully!
139
+ - Code Review: PASSED
140
+ - Security Review: PASSED
141
+
142
+ Would you like to create a Pull Request now? (y/n)
143
+ ```
144
+
145
+ - **If yes**: Proceed to End Processing (Step 7)
146
+ - **If no**: Stop workflow, save current state
147
+ - User can manually create PR later using:
148
+ - `jj git push --bookmark <branch-name>`
149
+ - `gh pr create --head <branch-name> --base main`
150
+
151
+ ### 7. End Processing (PR Creation & JIRA Update)
152
+
153
+ **Automatically complete the workflow:**
154
+
155
+ This is handled internally. The workflow will:
156
+
157
+ 1. Push the branch to remote
158
+ 2. Create a Pull Request on GitHub
159
+ 3. Move Epic AND first Story to "Ready for Review"
160
+ 4. Add PR link as a comment on the Epic
161
+
162
+ ## Usage Examples
163
+
164
+ ```
165
+ /kiro:spec-impl user-auth
166
+ ```
167
+
168
+ ```
169
+ /kiro:spec-impl payment-gateway
170
+ ```
171
+
172
+ ## Workflow Comparison
173
+
174
+ ### Before (3 steps with manual JIRA keys)
175
+
176
+ ```bash
177
+ michi spec-impl:start user-auth PROJ-123
178
+ /kiro:spec-impl user-auth PROJ-123
179
+ michi spec-impl:complete user-auth PROJ-123
180
+ ```
181
+
182
+ ### After (1 command with auto-detection)
183
+
184
+ ```
185
+ /kiro:spec-impl user-auth
186
+ # JIRA info auto-detected from spec.json
187
+ # Epic + first Story -> "In Progress"
188
+ # TDD implementation
189
+ # Automatic code review (/review)
190
+ # - Fix issues if found
191
+ # - Re-review until passed
192
+ # Automatic security review (/security-review)
193
+ # - Fix security issues if found
194
+ # - Re-review until passed
195
+ # Ask user: "Create PR now? (y/n)"
196
+ # - If yes:
197
+ # - PR creation
198
+ # - Epic + first Story -> "Ready for Review"
199
+ # - PR link commented on JIRA
200
+ # - If no:
201
+ # - Save state, exit workflow
202
+ ```
203
+
204
+ ## JIRA Status Mapping
205
+
206
+ Default status names (customizable in `.michi/config.json`):
207
+
208
+ | Phase | Default Status | Targets |
209
+ | ----- | ---------------- | ------------------ |
210
+ | Start | In Progress | Epic + First Story |
211
+ | End | Ready for Review | Epic + First Story |
212
+
213
+ To customize, add to `.michi/config.json`:
214
+
215
+ ```json
216
+ {
217
+ "jira": {
218
+ "statusMapping": {
219
+ "inProgress": "In Progress",
220
+ "readyForReview": "Ready for Review"
221
+ }
222
+ }
223
+ }
224
+ ```
225
+
226
+ ## Error Handling
227
+
228
+ - **JIRA info not found**: Interactive prompt to skip JIRA integration
229
+ - **JIRA transition fails**: Check available transitions for the current status
230
+ - **Review fails (max iterations exceeded)**: Report issues to user and ask for manual intervention
231
+ - **Security review fails (max iterations exceeded)**: Report vulnerabilities to user and ask for manual intervention
232
+ - **User declines PR creation**: Save current state, workflow stops (user can create PR manually later)
233
+ - **PR creation fails**: Ensure the branch is pushed to remote
234
+ - **JIRA comment fails**: The PR URL is still returned for manual update
235
+
236
+ ## Notes
237
+
238
+ - JIRA info is automatically detected from `spec.json` (populated by `michi jira:sync`)
239
+ - Both Epic AND first Story are updated together
240
+ - The branch name defaults to `feature/{feature-name}`
241
+ - Individual JIRA operations can still be done via `michi jira:transition` and `michi jira:comment`
242
+ - Code reviews (`/review` and `/security-review`) are executed automatically after implementation
243
+ - Review loop has a maximum of 3 iterations per review type to prevent infinite loops
244
+ - User can decline PR creation and manually create it later if needed