@sk8metal/michi-cli 0.0.8 → 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 (433) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +420 -49
  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 +146 -5
  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.d.ts +2 -0
  36. package/dist/scripts/constants/__tests__/environments.test.d.ts.map +1 -0
  37. package/dist/scripts/constants/__tests__/environments.test.js +125 -0
  38. package/dist/scripts/constants/__tests__/environments.test.js.map +1 -0
  39. package/dist/scripts/constants/__tests__/languages.test.d.ts +2 -0
  40. package/dist/scripts/constants/__tests__/languages.test.d.ts.map +1 -0
  41. package/dist/scripts/constants/__tests__/languages.test.js +82 -0
  42. package/dist/scripts/constants/__tests__/languages.test.js.map +1 -0
  43. package/dist/scripts/constants/environments.d.ts +33 -0
  44. package/dist/scripts/constants/environments.d.ts.map +1 -0
  45. package/dist/scripts/constants/environments.js +64 -0
  46. package/dist/scripts/constants/environments.js.map +1 -0
  47. package/dist/scripts/constants/languages.d.ts +23 -0
  48. package/dist/scripts/constants/languages.d.ts.map +1 -0
  49. package/dist/scripts/constants/languages.js +53 -0
  50. package/dist/scripts/constants/languages.js.map +1 -0
  51. package/dist/scripts/constants/test-commands.d.ts +36 -0
  52. package/dist/scripts/constants/test-commands.d.ts.map +1 -0
  53. package/dist/scripts/constants/test-commands.js +70 -0
  54. package/dist/scripts/constants/test-commands.js.map +1 -0
  55. package/dist/scripts/create-project.d.ts +4 -0
  56. package/dist/scripts/create-project.d.ts.map +1 -1
  57. package/dist/scripts/create-project.js +51 -22
  58. package/dist/scripts/create-project.js.map +1 -1
  59. package/dist/scripts/jira-sync.d.ts +89 -3
  60. package/dist/scripts/jira-sync.d.ts.map +1 -1
  61. package/dist/scripts/jira-sync.js +366 -96
  62. package/dist/scripts/jira-sync.js.map +1 -1
  63. package/dist/scripts/markdown-to-confluence.js +1 -1
  64. package/dist/scripts/markdown-to-confluence.js.map +1 -1
  65. package/dist/scripts/phase-runner.d.ts +1 -1
  66. package/dist/scripts/phase-runner.d.ts.map +1 -1
  67. package/dist/scripts/phase-runner.js +809 -13
  68. package/dist/scripts/phase-runner.js.map +1 -1
  69. package/dist/scripts/pr-automation.d.ts.map +1 -1
  70. package/dist/scripts/pr-automation.js.map +1 -1
  71. package/dist/scripts/pre-flight-check.js +1 -1
  72. package/dist/scripts/pre-flight-check.js.map +1 -1
  73. package/dist/scripts/setup-existing-project.d.ts +3 -1
  74. package/dist/scripts/setup-existing-project.d.ts.map +1 -1
  75. package/dist/scripts/setup-existing-project.js +165 -78
  76. package/dist/scripts/setup-existing-project.js.map +1 -1
  77. package/dist/scripts/setup-interactive.js +3 -3
  78. package/dist/scripts/setup-interactive.js.map +1 -1
  79. package/dist/scripts/spec-impl-workflow.d.ts +94 -0
  80. package/dist/scripts/spec-impl-workflow.d.ts.map +1 -0
  81. package/dist/scripts/spec-impl-workflow.js +354 -0
  82. package/dist/scripts/spec-impl-workflow.js.map +1 -0
  83. package/dist/scripts/template/__tests__/renderer.test.d.ts +2 -0
  84. package/dist/scripts/template/__tests__/renderer.test.d.ts.map +1 -0
  85. package/dist/scripts/template/__tests__/renderer.test.js +165 -0
  86. package/dist/scripts/template/__tests__/renderer.test.js.map +1 -0
  87. package/dist/scripts/template/renderer.d.ts +70 -0
  88. package/dist/scripts/template/renderer.d.ts.map +1 -0
  89. package/dist/scripts/template/renderer.js +99 -0
  90. package/dist/scripts/template/renderer.js.map +1 -0
  91. package/dist/scripts/test-execution-generator.d.ts +52 -0
  92. package/dist/scripts/test-execution-generator.d.ts.map +1 -0
  93. package/dist/scripts/test-execution-generator.js +576 -0
  94. package/dist/scripts/test-execution-generator.js.map +1 -0
  95. package/dist/scripts/test-interactive.d.ts +10 -0
  96. package/dist/scripts/test-interactive.d.ts.map +1 -0
  97. package/dist/scripts/test-interactive.js +627 -0
  98. package/dist/scripts/test-interactive.js.map +1 -0
  99. package/dist/scripts/test-new-features.d.ts +5 -0
  100. package/dist/scripts/test-new-features.d.ts.map +1 -0
  101. package/dist/scripts/test-new-features.js +145 -0
  102. package/dist/scripts/test-new-features.js.map +1 -0
  103. package/dist/scripts/test-spec-generator.d.ts +29 -0
  104. package/dist/scripts/test-spec-generator.d.ts.map +1 -0
  105. package/dist/scripts/test-spec-generator.js +494 -0
  106. package/dist/scripts/test-spec-generator.js.map +1 -0
  107. package/dist/scripts/test-workflow-stages.d.ts +6 -0
  108. package/dist/scripts/test-workflow-stages.d.ts.map +1 -0
  109. package/dist/scripts/test-workflow-stages.js +43 -0
  110. package/dist/scripts/test-workflow-stages.js.map +1 -0
  111. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts +5 -0
  112. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts.map +1 -0
  113. package/dist/scripts/utils/__tests__/aidlc-parser.test.js +315 -0
  114. package/dist/scripts/utils/__tests__/aidlc-parser.test.js.map +1 -0
  115. package/dist/scripts/utils/__tests__/business-days.test.d.ts +5 -0
  116. package/dist/scripts/utils/__tests__/business-days.test.d.ts.map +1 -0
  117. package/dist/scripts/utils/__tests__/business-days.test.js +171 -0
  118. package/dist/scripts/utils/__tests__/business-days.test.js.map +1 -0
  119. package/dist/scripts/utils/__tests__/config-loader.test.js +1 -1
  120. package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -1
  121. package/dist/scripts/utils/__tests__/config-validator.test.js +164 -35
  122. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  123. package/dist/scripts/utils/__tests__/env-config.test.d.ts +5 -0
  124. package/dist/scripts/utils/__tests__/env-config.test.d.ts.map +1 -0
  125. package/dist/scripts/utils/__tests__/env-config.test.js +218 -0
  126. package/dist/scripts/utils/__tests__/env-config.test.js.map +1 -0
  127. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts +5 -0
  128. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts.map +1 -0
  129. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js +202 -0
  130. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js.map +1 -0
  131. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts +5 -0
  132. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts.map +1 -0
  133. package/dist/scripts/utils/__tests__/tasks-converter.test.js +500 -0
  134. package/dist/scripts/utils/__tests__/tasks-converter.test.js.map +1 -0
  135. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts +5 -0
  136. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts.map +1 -0
  137. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js +314 -0
  138. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js.map +1 -0
  139. package/dist/scripts/utils/__tests__/test-runner.test.d.ts +5 -0
  140. package/dist/scripts/utils/__tests__/test-runner.test.d.ts.map +1 -0
  141. package/dist/scripts/utils/__tests__/test-runner.test.js +64 -0
  142. package/dist/scripts/utils/__tests__/test-runner.test.js.map +1 -0
  143. package/dist/scripts/utils/aidlc-parser.d.ts +86 -0
  144. package/dist/scripts/utils/aidlc-parser.d.ts.map +1 -0
  145. package/dist/scripts/utils/aidlc-parser.js +208 -0
  146. package/dist/scripts/utils/aidlc-parser.js.map +1 -0
  147. package/dist/scripts/utils/business-days.d.ts +52 -0
  148. package/dist/scripts/utils/business-days.d.ts.map +1 -0
  149. package/dist/scripts/utils/business-days.js +98 -0
  150. package/dist/scripts/utils/business-days.js.map +1 -0
  151. package/dist/scripts/utils/ci-generator.d.ts +14 -0
  152. package/dist/scripts/utils/ci-generator.d.ts.map +1 -0
  153. package/dist/scripts/utils/ci-generator.js +61 -0
  154. package/dist/scripts/utils/ci-generator.js.map +1 -0
  155. package/dist/scripts/utils/config-loader.js +2 -2
  156. package/dist/scripts/utils/config-loader.js.map +1 -1
  157. package/dist/scripts/utils/config-validator.d.ts +7 -1
  158. package/dist/scripts/utils/config-validator.d.ts.map +1 -1
  159. package/dist/scripts/utils/config-validator.js +136 -23
  160. package/dist/scripts/utils/config-validator.js.map +1 -1
  161. package/dist/scripts/utils/confluence-approval.d.ts +46 -0
  162. package/dist/scripts/utils/confluence-approval.d.ts.map +1 -0
  163. package/dist/scripts/utils/confluence-approval.js +118 -0
  164. package/dist/scripts/utils/confluence-approval.js.map +1 -0
  165. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
  166. package/dist/scripts/utils/confluence-hierarchy.js +1 -1
  167. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  168. package/dist/scripts/utils/docker-generator.d.ts +9 -0
  169. package/dist/scripts/utils/docker-generator.d.ts.map +1 -0
  170. package/dist/scripts/utils/docker-generator.js +132 -0
  171. package/dist/scripts/utils/docker-generator.js.map +1 -0
  172. package/dist/scripts/utils/docker-requirement-detector.d.ts +15 -0
  173. package/dist/scripts/utils/docker-requirement-detector.d.ts.map +1 -0
  174. package/dist/scripts/utils/docker-requirement-detector.js +124 -0
  175. package/dist/scripts/utils/docker-requirement-detector.js.map +1 -0
  176. package/dist/scripts/utils/env-config.d.ts +54 -0
  177. package/dist/scripts/utils/env-config.d.ts.map +1 -0
  178. package/dist/scripts/utils/env-config.js +414 -0
  179. package/dist/scripts/utils/env-config.js.map +1 -0
  180. package/dist/scripts/utils/jira-issue-type-fetcher.d.ts +70 -0
  181. package/dist/scripts/utils/jira-issue-type-fetcher.d.ts.map +1 -0
  182. package/dist/scripts/utils/jira-issue-type-fetcher.js +147 -0
  183. package/dist/scripts/utils/jira-issue-type-fetcher.js.map +1 -0
  184. package/dist/scripts/utils/language-detector.d.ts +14 -0
  185. package/dist/scripts/utils/language-detector.d.ts.map +1 -0
  186. package/dist/scripts/utils/language-detector.js +119 -0
  187. package/dist/scripts/utils/language-detector.js.map +1 -0
  188. package/dist/scripts/utils/markdown-parser.d.ts +55 -0
  189. package/dist/scripts/utils/markdown-parser.d.ts.map +1 -0
  190. package/dist/scripts/utils/markdown-parser.js +289 -0
  191. package/dist/scripts/utils/markdown-parser.js.map +1 -0
  192. package/dist/scripts/utils/project-detector.d.ts +17 -0
  193. package/dist/scripts/utils/project-detector.d.ts.map +1 -0
  194. package/dist/scripts/utils/project-detector.js +166 -0
  195. package/dist/scripts/utils/project-detector.js.map +1 -0
  196. package/dist/scripts/utils/project-finder.js +2 -2
  197. package/dist/scripts/utils/project-finder.js.map +1 -1
  198. package/dist/scripts/utils/release-notes-generator.d.ts +56 -0
  199. package/dist/scripts/utils/release-notes-generator.d.ts.map +1 -0
  200. package/dist/scripts/utils/release-notes-generator.js +162 -0
  201. package/dist/scripts/utils/release-notes-generator.js.map +1 -0
  202. package/dist/scripts/utils/spec-loader.d.ts +79 -0
  203. package/dist/scripts/utils/spec-loader.d.ts.map +1 -0
  204. package/dist/scripts/utils/spec-loader.js +80 -0
  205. package/dist/scripts/utils/spec-loader.js.map +1 -0
  206. package/dist/scripts/utils/spec-updater.d.ts +7 -0
  207. package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
  208. package/dist/scripts/utils/spec-updater.js.map +1 -1
  209. package/dist/scripts/utils/tasks-converter.d.ts +57 -0
  210. package/dist/scripts/utils/tasks-converter.d.ts.map +1 -0
  211. package/dist/scripts/utils/tasks-converter.js +322 -0
  212. package/dist/scripts/utils/tasks-converter.js.map +1 -0
  213. package/dist/scripts/utils/tasks-format-validator.d.ts +36 -0
  214. package/dist/scripts/utils/tasks-format-validator.d.ts.map +1 -0
  215. package/dist/scripts/utils/tasks-format-validator.js +158 -0
  216. package/dist/scripts/utils/tasks-format-validator.js.map +1 -0
  217. package/dist/scripts/utils/template-applier.d.ts +37 -0
  218. package/dist/scripts/utils/template-applier.d.ts.map +1 -0
  219. package/dist/scripts/utils/template-applier.js +129 -0
  220. package/dist/scripts/utils/template-applier.js.map +1 -0
  221. package/dist/scripts/utils/template-finder.d.ts +37 -0
  222. package/dist/scripts/utils/template-finder.d.ts.map +1 -0
  223. package/dist/scripts/utils/template-finder.js +63 -0
  224. package/dist/scripts/utils/template-finder.js.map +1 -0
  225. package/dist/scripts/utils/test-config-generator.d.ts +12 -0
  226. package/dist/scripts/utils/test-config-generator.d.ts.map +1 -0
  227. package/dist/scripts/utils/test-config-generator.js +185 -0
  228. package/dist/scripts/utils/test-config-generator.js.map +1 -0
  229. package/dist/scripts/utils/test-runner.d.ts +31 -0
  230. package/dist/scripts/utils/test-runner.d.ts.map +1 -0
  231. package/dist/scripts/utils/test-runner.js +103 -0
  232. package/dist/scripts/utils/test-runner.js.map +1 -0
  233. package/dist/scripts/validate-phase.d.ts +1 -1
  234. package/dist/scripts/validate-phase.d.ts.map +1 -1
  235. package/dist/scripts/validate-phase.js +153 -5
  236. package/dist/scripts/validate-phase.js.map +1 -1
  237. package/dist/scripts/workflow-orchestrator.d.ts +8 -0
  238. package/dist/scripts/workflow-orchestrator.d.ts.map +1 -1
  239. package/dist/scripts/workflow-orchestrator.js +108 -7
  240. package/dist/scripts/workflow-orchestrator.js.map +1 -1
  241. package/dist/src/__tests__/integration/internationalization.test.d.ts +8 -0
  242. package/dist/src/__tests__/integration/internationalization.test.d.ts.map +1 -0
  243. package/dist/src/__tests__/integration/internationalization.test.js +333 -0
  244. package/dist/src/__tests__/integration/internationalization.test.js.map +1 -0
  245. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +5 -0
  246. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +1 -0
  247. package/dist/src/__tests__/integration/setup/claude-agent.test.js +122 -0
  248. package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -0
  249. package/dist/src/__tests__/integration/setup/claude.test.d.ts +5 -0
  250. package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +1 -0
  251. package/dist/src/__tests__/integration/setup/claude.test.js +111 -0
  252. package/dist/src/__tests__/integration/setup/claude.test.js.map +1 -0
  253. package/dist/src/__tests__/integration/setup/cursor.test.d.ts +5 -0
  254. package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +1 -0
  255. package/dist/src/__tests__/integration/setup/cursor.test.js +166 -0
  256. package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -0
  257. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +32 -0
  258. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +1 -0
  259. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +72 -0
  260. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +1 -0
  261. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +38 -0
  262. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +1 -0
  263. package/dist/src/__tests__/integration/setup/helpers/test-project.js +83 -0
  264. package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +1 -0
  265. package/dist/src/__tests__/integration/setup/validation.test.d.ts +5 -0
  266. package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +1 -0
  267. package/dist/src/__tests__/integration/setup/validation.test.js +301 -0
  268. package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -0
  269. package/dist/src/cli.d.ts.map +1 -1
  270. package/dist/src/cli.js +228 -18
  271. package/dist/src/cli.js.map +1 -1
  272. package/dist/src/commands/setup-existing.d.ts +25 -0
  273. package/dist/src/commands/setup-existing.d.ts.map +1 -0
  274. package/dist/src/commands/setup-existing.js +695 -0
  275. package/dist/src/commands/setup-existing.js.map +1 -0
  276. package/dist/vitest.config.d.ts.map +1 -1
  277. package/dist/vitest.config.js +4 -3
  278. package/dist/vitest.config.js.map +1 -1
  279. package/docs/README.md +3 -1
  280. package/docs/context.md +59 -0
  281. package/docs/design-issue-55.md +240 -0
  282. package/docs/design-issue-56.md +181 -0
  283. package/docs/michi-development/testing/manual-verification-flow.md +2242 -0
  284. package/docs/michi-development/testing/pre-publish-checklist.md +560 -0
  285. package/docs/plan.md +275 -0
  286. package/docs/user-guide/getting-started/github-token-setup.md +509 -0
  287. package/docs/{getting-started → user-guide/getting-started}/new-repository-setup.md +108 -28
  288. package/docs/{getting-started → user-guide/getting-started}/quick-start.md +73 -6
  289. package/docs/{getting-started → user-guide/getting-started}/setup.md +278 -3
  290. package/docs/{guides → user-guide/guides}/customization.md +3 -3
  291. package/docs/user-guide/guides/internationalization.md +540 -0
  292. package/docs/{guides → user-guide/guides}/multi-project.md +2 -2
  293. package/docs/{guides → user-guide/guides}/phase-automation.md +67 -9
  294. package/docs/user-guide/guides/workflow.md +582 -0
  295. package/docs/user-guide/hands-on/README.md +142 -0
  296. package/docs/user-guide/hands-on/claude-agent-setup.md +455 -0
  297. package/docs/user-guide/hands-on/claude-setup.md +398 -0
  298. package/docs/user-guide/hands-on/cursor-setup.md +352 -0
  299. package/docs/user-guide/hands-on/troubleshooting.md +964 -0
  300. package/docs/user-guide/hands-on/verification-checklist.md +438 -0
  301. package/docs/user-guide/hands-on/workflow-walkthrough.md +906 -0
  302. package/docs/user-guide/reference/config.md +564 -0
  303. package/docs/{reference → user-guide/reference}/quick-reference.md +75 -53
  304. package/docs/user-guide/release/ci-setup.md +541 -0
  305. package/docs/user-guide/release/release-flow.md +476 -0
  306. package/docs/user-guide/templates/test-specs/README.md +173 -0
  307. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +547 -0
  308. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +435 -0
  309. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +454 -0
  310. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +664 -0
  311. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +328 -0
  312. package/docs/user-guide/testing/integration-tests.md +312 -0
  313. package/docs/user-guide/testing/tdd-cycle.md +349 -0
  314. package/docs/user-guide/testing/test-execution-flow.md +396 -0
  315. package/docs/user-guide/testing/test-failure-handling.md +521 -0
  316. package/docs/user-guide/testing/test-planning-flow.md +181 -0
  317. package/docs/user-guide/testing-strategy.md +185 -0
  318. package/docs/verification-guide.md +518 -0
  319. package/package.json +13 -3
  320. package/scripts/__tests__/create-project.test.ts +67 -49
  321. package/scripts/__tests__/jira-transitions.test.ts +225 -0
  322. package/scripts/__tests__/multi-project-estimate.test.ts +36 -30
  323. package/scripts/__tests__/setup-existing-project.test.ts +171 -6
  324. package/scripts/__tests__/setup-interactive.test.ts +52 -46
  325. package/scripts/__tests__/spec-impl-workflow.test.ts +429 -0
  326. package/scripts/__tests__/spec-loader.test.ts +199 -0
  327. package/scripts/__tests__/validate-phase.test.ts +78 -54
  328. package/scripts/config/config-schema.ts +89 -50
  329. package/scripts/config-interactive.ts +191 -136
  330. package/scripts/confluence-sync.ts +0 -12
  331. package/scripts/constants/__tests__/environments.test.ts +146 -0
  332. package/scripts/constants/__tests__/languages.test.ts +100 -0
  333. package/scripts/constants/environments.ts +81 -0
  334. package/scripts/constants/languages.ts +70 -0
  335. package/scripts/constants/test-commands.ts +96 -0
  336. package/scripts/create-project.ts +52 -22
  337. package/scripts/jira-sync.ts +767 -232
  338. package/scripts/markdown-to-confluence.ts +1 -1
  339. package/scripts/phase-runner.ts +1056 -63
  340. package/scripts/pr-automation.ts +0 -1
  341. package/scripts/pre-flight-check.ts +1 -1
  342. package/scripts/pre-publish-check.sh +311 -0
  343. package/scripts/quick-verify.sh +115 -0
  344. package/scripts/setup-existing-project.ts +306 -143
  345. package/scripts/setup-interactive.ts +4 -4
  346. package/scripts/spec-impl-workflow.ts +505 -0
  347. package/scripts/template/__tests__/renderer.test.ts +206 -0
  348. package/scripts/template/renderer.ts +133 -0
  349. package/scripts/test-execution-generator.ts +695 -0
  350. package/scripts/test-interactive.ts +779 -0
  351. package/scripts/test-new-features.ts +168 -0
  352. package/scripts/test-npm-package.sh +345 -0
  353. package/scripts/test-spec-generator.ts +574 -0
  354. package/scripts/test-workflow-stages.ts +53 -0
  355. package/scripts/utils/__tests__/aidlc-parser.test.ts +349 -0
  356. package/scripts/utils/__tests__/business-days.test.ts +214 -0
  357. package/scripts/utils/__tests__/config-loader.test.ts +1 -1
  358. package/scripts/utils/__tests__/config-validator.test.ts +309 -88
  359. package/scripts/utils/__tests__/env-config.test.ts +259 -0
  360. package/scripts/utils/__tests__/jira-issue-type-fetcher.test.ts +272 -0
  361. package/scripts/utils/__tests__/tasks-converter.test.ts +582 -0
  362. package/scripts/utils/__tests__/tasks-format-validator.test.ts +338 -0
  363. package/scripts/utils/__tests__/test-runner.test.ts +77 -0
  364. package/scripts/utils/aidlc-parser.ts +289 -0
  365. package/scripts/utils/business-days.ts +115 -0
  366. package/scripts/utils/ci-generator.ts +84 -0
  367. package/scripts/utils/config-loader.ts +2 -2
  368. package/scripts/utils/config-validator.ts +304 -117
  369. package/scripts/utils/confluence-approval.ts +167 -0
  370. package/scripts/utils/confluence-hierarchy.ts +2 -4
  371. package/scripts/utils/docker-generator.ts +151 -0
  372. package/scripts/utils/docker-requirement-detector.ts +153 -0
  373. package/scripts/utils/env-config.ts +526 -0
  374. package/scripts/utils/jira-issue-type-fetcher.ts +199 -0
  375. package/scripts/utils/language-detector.ts +139 -0
  376. package/scripts/utils/markdown-parser.ts +376 -0
  377. package/scripts/utils/project-detector.ts +192 -0
  378. package/scripts/utils/project-finder.ts +2 -2
  379. package/scripts/utils/release-notes-generator.ts +210 -0
  380. package/scripts/utils/spec-loader.ts +125 -0
  381. package/scripts/utils/spec-updater.ts +8 -1
  382. package/scripts/utils/tasks-converter.ts +601 -0
  383. package/scripts/utils/tasks-format-validator.ts +193 -0
  384. package/scripts/utils/template-applier.ts +202 -0
  385. package/scripts/utils/template-finder.ts +75 -0
  386. package/scripts/utils/test-config-generator.ts +210 -0
  387. package/scripts/utils/test-runner.ts +133 -0
  388. package/scripts/validate-phase.ts +186 -9
  389. package/scripts/workflow-orchestrator.ts +130 -12
  390. package/templates/ci/github-actions/java.yml +54 -0
  391. package/templates/ci/github-actions/nodejs.yml +46 -0
  392. package/templates/ci/github-actions/php.yml +52 -0
  393. package/templates/ci/screwdriver/java.yaml +17 -0
  394. package/templates/ci/screwdriver/nodejs.yaml +17 -0
  395. package/templates/ci/screwdriver/php.yaml +20 -0
  396. package/templates/claude/commands/kiro/kiro-spec-impl.md +244 -0
  397. package/templates/claude/commands/kiro/kiro-spec-tasks.md +354 -0
  398. package/templates/claude/commands/michi/confluence-sync.md +38 -0
  399. package/templates/claude/commands/michi/project-switch.md +36 -0
  400. package/templates/claude/rules/atlassian-integration.md +35 -0
  401. package/templates/claude/rules/michi-core.md +54 -0
  402. package/templates/claude-agent/README.md +31 -0
  403. package/templates/claude-agent/agents/.gitkeep +0 -0
  404. package/templates/claude-agent/agents/designer.md +79 -0
  405. package/templates/claude-agent/agents/developer.md +68 -0
  406. package/templates/claude-agent/agents/manager-agent.md +59 -0
  407. package/templates/claude-agent/agents/tester.md +101 -0
  408. package/templates/claude-agent/commands/kiro/.gitkeep +0 -0
  409. package/templates/claude-agent/commands/kiro/kiro-spec-impl.md +244 -0
  410. package/templates/claude-agent/commands/kiro/kiro-spec-tasks.md +354 -0
  411. package/templates/cline/rules/atlassian-integration.md +36 -0
  412. package/templates/cline/rules/michi-core.md +56 -0
  413. package/templates/codex/AGENTS.override.md +277 -0
  414. package/templates/codex/prompts/confluence-sync.md +177 -0
  415. package/templates/codex/rules/README.md +210 -0
  416. package/templates/common/.kiro/project.json.template +21 -0
  417. package/templates/cursor/commands/kiro/kiro-spec-impl.md +244 -0
  418. package/templates/cursor/commands/kiro/kiro-spec-tasks.md +354 -0
  419. package/templates/cursor/commands/michi/confluence-sync.md +76 -0
  420. package/templates/cursor/commands/michi/project-switch.md +69 -0
  421. package/templates/cursor/rules/atlassian-mcp.mdc +188 -0
  422. package/templates/cursor/rules/github-ssot.mdc +151 -0
  423. package/templates/cursor/rules/multi-project.mdc +81 -0
  424. package/templates/gemini/commands/README.md +41 -0
  425. package/templates/gemini/rules/GEMINI.md +80 -0
  426. package/docs/guides/workflow.md +0 -342
  427. package/docs/reference/config.md +0 -545
  428. package/scripts/setup-env.sh +0 -52
  429. package/scripts/setup-existing.sh +0 -152
  430. /package/docs/{contributing → michi-development/contributing}/development.md +0 -0
  431. /package/docs/{contributing → michi-development/contributing}/release.md +0 -0
  432. /package/docs/{testing-strategy.md → michi-development/testing-strategy.md} +0 -0
  433. /package/docs/{reference → user-guide/reference}/tasks-template.md +0 -0
@@ -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
@@ -0,0 +1,354 @@
1
+ ---
2
+ name: /kiro:spec-tasks
3
+ description: Generate tasks.md from design specification in Michi workflow format
4
+ ---
5
+
6
+ # Generate Tasks from Design Specification
7
+
8
+ **Important**: Generate output in the language specified in `{{KIRO_DIR}}/project.json`.
9
+
10
+ ## Overview
11
+
12
+ This command generates a detailed task breakdown (`tasks.md`) from the design specification (`design.md`) following the **Michi Workflow Format**.
13
+
14
+ **Critical**: The generated tasks.md MUST follow the Michi Phase structure (Phase 0.1-5, A, B) with Story headers. DO NOT generate AI-DLC checkbox format (`- [ ] 1.`, `- [ ] 1.1`).
15
+
16
+ ## Usage
17
+
18
+ ```
19
+ /kiro:spec-tasks
20
+ ```
21
+
22
+ ## Input Files
23
+
24
+ 1. `{{KIRO_DIR}}/specs/{{FEATURE_NAME}}/design.md` - Design specification
25
+ 2. `{{KIRO_DIR}}/specs/{{FEATURE_NAME}}/requirements.md` - Requirements specification
26
+ 3. `{{KIRO_DIR}}/project.json` - Project metadata
27
+
28
+ ## Output File
29
+
30
+ `{{KIRO_DIR}}/specs/{{FEATURE_NAME}}/tasks.md`
31
+
32
+ ## Required Format: Michi Workflow Structure
33
+
34
+ ### Header Section
35
+
36
+ ```markdown
37
+ # Task Breakdown: {{FEATURE_NAME}}
38
+
39
+ ## Project Information
40
+
41
+ - **Feature Name**: {{FEATURE_NAME}}
42
+ - **Start Date**: YYYY-MM-DD (Day of week) Day 1
43
+ - **End Date**: YYYY-MM-DD (Day of week)
44
+ - **Total Business Days**: X business days (excluding weekends)
45
+ - **Total Effort Estimate**: X person-days
46
+ - **Holidays**: Excludes Saturdays and Sundays
47
+ - **Note**: This task breakdown is calculated in business days (excluding weekends and holidays)
48
+ ```
49
+
50
+ ### Phase Structure (Required)
51
+
52
+ The tasks.md MUST include these phases in order:
53
+
54
+ 1. **Phase 0.1: Requirements**
55
+ 2. **Phase 0.2: Design**
56
+ 3. **Phase 0.3: Test Type Selection** (optional)
57
+ 4. **Phase 0.4: Test Specification** (optional)
58
+ 5. **Phase 1: Environment Setup** (optional)
59
+ 6. **Phase 2: TDD Implementation** (required - main development phase)
60
+ 7. **Phase A: PR Pre-merge Tests** (optional - CI/CD automated)
61
+ 8. **Phase 3: Additional QA** (optional)
62
+ 9. **Phase B: Release Preparation Tests** (optional)
63
+ 10. **Phase 4: Release Preparation**
64
+ 11. **Phase 5: Release**
65
+
66
+ ### Phase Header Format
67
+
68
+ Each phase MUST use this header format:
69
+
70
+ ```markdown
71
+ ## Phase X.Y: Phase Name (Label)
72
+
73
+ **Period**: Day X-Y
74
+ **Effort**: X person-days
75
+ **Status**: Not Started
76
+ ```
77
+
78
+ ### Story Header Format
79
+
80
+ Each story within a phase MUST use this format:
81
+
82
+ ```markdown
83
+ ### Story X.Y.Z: Story Title
84
+
85
+ - **Assignee**: @Role
86
+ - **Effort**: X person-days
87
+ - **Description**: What this story accomplishes
88
+ - **Deliverables**:
89
+ - Deliverable 1
90
+ - Deliverable 2
91
+ - **Acceptance Criteria**:
92
+ - [ ] Criterion 1
93
+ - [ ] Criterion 2
94
+ - **Tasks**:
95
+ - [ ] Task X.Y.Z.1: Task description
96
+ - [ ] Task X.Y.Z.2: Task description
97
+ - **Dependencies**: Story X.Y.W (if applicable)
98
+ ```
99
+
100
+ ## Detailed Phase Guidelines
101
+
102
+ ### Phase 0.1: Requirements
103
+
104
+ ```markdown
105
+ ## Phase 0.1: Requirements (Requirements)
106
+
107
+ **Period**: Day 1
108
+ **Effort**: 0.5 person-days
109
+ **Status**: Not Started
110
+
111
+ ### Story 0.1.1: Requirements Document Creation
112
+
113
+ - **Assignee**: @PM
114
+ - **Effort**: 0.5 person-days
115
+ - **Description**: Create feature requirements document
116
+ - **Deliverables**:
117
+ - `.kiro/specs/{{FEATURE_NAME}}/requirements.md`
118
+ - Confluence page (Requirements)
119
+ - **Acceptance Criteria**:
120
+ - [ ] Functional requirements defined
121
+ - [ ] Non-functional requirements defined
122
+ - [ ] Use cases documented
123
+ - [ ] PM approved
124
+ ```
125
+
126
+ ### Phase 0.2: Design
127
+
128
+ ```markdown
129
+ ## Phase 0.2: Design (Design)
130
+
131
+ **Period**: Day 1-2
132
+ **Effort**: 0.5-1.0 person-days
133
+ **Status**: Not Started
134
+
135
+ ### Story 0.2.1: Basic Design
136
+
137
+ - **Assignee**: @Architect
138
+ - **Effort**: 0.5-1.0 person-days
139
+ - **Description**: Architecture design, API design, class design
140
+ - **Deliverables**:
141
+ - `.kiro/specs/{{FEATURE_NAME}}/design.md`
142
+ - Confluence page (Design Document)
143
+ - **Acceptance Criteria**:
144
+ - [ ] System architecture diagram created
145
+ - [ ] Layer structure defined
146
+ - [ ] API specifications detailed
147
+ - [ ] Class design completed
148
+ - [ ] Architect approved
149
+ ```
150
+
151
+ ### Phase 2: TDD Implementation (Main Development)
152
+
153
+ This is the most detailed phase. Break down into multiple stories based on the design.md:
154
+
155
+ ```markdown
156
+ ## Phase 2: TDD Implementation (Implementation)
157
+
158
+ **Period**: Day X-Y
159
+ **Effort**: X person-days
160
+ **Status**: Not Started
161
+
162
+ ### Story 2.1: Project Setup
163
+
164
+ - **Assignee**: @Developer
165
+ - **Effort**: 0.5 person-days
166
+ - **Description**: Project setup and dependency configuration
167
+ - **Tasks**:
168
+ - [ ] Task 2.1.1: Create project
169
+ - [ ] Task 2.1.2: Add dependencies
170
+ - [ ] Task 2.1.3: Create configuration files
171
+ - [ ] Task 2.1.4: Create package structure
172
+ - [ ] Task 2.1.5: Verify build
173
+ - **Deliverables**:
174
+ - Project configuration files
175
+ - Package structure
176
+ - **Acceptance Criteria**:
177
+ - [ ] Project builds successfully
178
+ - [ ] Application starts
179
+ - [ ] Package structure matches design
180
+
181
+ ### Story 2.2: [Feature Component] Implementation
182
+
183
+ - **Assignee**: @Developer
184
+ - **Effort**: X person-days
185
+ - **Description**: Implement [component] with TDD approach
186
+ - **Tasks**:
187
+ - [ ] Task 2.2.1: Write failing tests (RED)
188
+ - [ ] Task 2.2.2: Implement minimum code (GREEN)
189
+ - [ ] Task 2.2.3: Refactor (REFACTOR)
190
+ - [ ] Task 2.2.4: Integration tests
191
+ - **Acceptance Criteria**:
192
+ - [ ] All unit tests pass
193
+ - [ ] Code coverage >= 95%
194
+ - [ ] Design patterns followed
195
+
196
+ (Continue with Story 2.3, 2.4, etc. based on design.md components)
197
+ ```
198
+
199
+ ### Phase 4: Release Preparation
200
+
201
+ ```markdown
202
+ ## Phase 4: Release Preparation (Release Preparation)
203
+
204
+ **Period**: Day Y-Z
205
+ **Effort**: X person-days
206
+ **Status**: Not Started
207
+
208
+ ### Story 4.1: Production Environment Setup
209
+
210
+ - **Assignee**: @InfraEngineer
211
+ - **Effort**: X person-days
212
+ - **Description**: Production infrastructure setup and configuration
213
+ - **Acceptance Criteria**:
214
+ - [ ] Server provisioned
215
+ - [ ] Database configured
216
+ - [ ] SSL certificate configured
217
+ - [ ] Monitoring configured
218
+
219
+ ### Story 4.2: Release Documentation
220
+
221
+ - **Assignee**: @PM
222
+ - **Effort**: X person-days
223
+ - **Description**: Release notes, manual, operation procedures
224
+ - **Acceptance Criteria**:
225
+ - [ ] Release notes created
226
+ - [ ] User manual created
227
+ - [ ] Operation procedures created
228
+ ```
229
+
230
+ ### Phase 5: Release
231
+
232
+ ```markdown
233
+ ## Phase 5: Release (Release)
234
+
235
+ **Period**: Day Z
236
+ **Effort**: X person-days
237
+ **Status**: Not Started
238
+
239
+ ### Story 5.1: Staging Deployment
240
+
241
+ - **Assignee**: @InfraEngineer
242
+ - **Effort**: X person-days
243
+ - **Description**: Deploy to staging and final verification
244
+ - **Acceptance Criteria**:
245
+ - [ ] Staging deployment successful
246
+ - [ ] Smoke tests pass
247
+ - [ ] Final verification completed
248
+
249
+ ### Story 5.2: Production Release
250
+
251
+ - **Assignee**: @InfraEngineer, @PM
252
+ - **Effort**: X person-days
253
+ - **Description**: Production release execution
254
+ - **Acceptance Criteria**:
255
+ - [ ] Production deployment successful
256
+ - [ ] Smoke tests pass
257
+ - [ ] Monitoring verified
258
+ - [ ] Stakeholders notified
259
+ ```
260
+
261
+ ## Timeline Section
262
+
263
+ Include a timeline at the end:
264
+
265
+ ```markdown
266
+ ## Timeline (Business Days)
267
+
268
+ **Assumption**: Calculated in business days (excluding weekends)
269
+
270
+ ### Week 1: Specification Phase
271
+
272
+ Day 1 (Mon):
273
+
274
+ - Story 0.1.1: Requirements Document Creation
275
+ - Story 0.2.1: Basic Design (start)
276
+
277
+ Day 2-3 (Tue-Wed):
278
+
279
+ - Story 0.2.1: Basic Design (complete)
280
+ - Technical review and PM approval
281
+
282
+ ### Week 2-N: Implementation Phase
283
+
284
+ (Continue based on project scope)
285
+ ```
286
+
287
+ ## Estimate Summary Section
288
+
289
+ ```markdown
290
+ ## Estimate Summary
291
+
292
+ | Phase | Story Points | Effort (days) | Stories |
293
+ | ---------------------------- | ------------ | ------------- | ------- |
294
+ | Phase 0.1: Requirements | X SP | X days | X |
295
+ | Phase 0.2: Design | X SP | X days | X |
296
+ | Phase 2: TDD Implementation | X SP | X days | X |
297
+ | Phase 4: Release Preparation | X SP | X days | X |
298
+ | Phase 5: Release | X SP | X days | X |
299
+ | **Total** | **X SP** | **X days** | **X** |
300
+
301
+ **Conversion Rate**: 1 SP ≈ 0.5 person-days
302
+ ```
303
+
304
+ ## JIRA Labels Section
305
+
306
+ ```markdown
307
+ ## JIRA Labels
308
+
309
+ Each story is automatically assigned the following labels:
310
+
311
+ - `requirements` - Phase 0.1: Requirements
312
+ - `design` - Phase 0.2: Design
313
+ - `test-type-selection` - Phase 0.3: Test Type Selection
314
+ - `test-spec` - Phase 0.4: Test Specification
315
+ - `environment-setup` - Phase 1: Environment Setup
316
+ - `implementation` / `tdd-implementation` - Phase 2: TDD Implementation
317
+ - `phase-a` / `pr-tests` - Phase A: PR Pre-merge Tests
318
+ - `additional-qa` / `testing` - Phase 3: Additional QA
319
+ - `phase-b` / `release-tests` - Phase B: Release Preparation Tests
320
+ - `release-prep` / `release-preparation` - Phase 4: Release Preparation
321
+ - `release` - Phase 5: Release
322
+ ```
323
+
324
+ ## Important Notes
325
+
326
+ 1. **DO NOT** use AI-DLC checkbox format (`- [ ] 1.`, `- [ ] 1.1`)
327
+ 2. **MUST** use Phase headers (`## Phase X.Y:`)
328
+ 3. **MUST** use Story headers (`### Story X.Y.Z:`)
329
+ 4. **MUST** include day numbering (Day 1, Day 2, etc.)
330
+ 5. **MUST** include effort estimates in person-days
331
+ 6. **MUST** include acceptance criteria with checkboxes
332
+ 7. Break down Phase 2 stories based on the components in design.md
333
+ 8. Ensure each Story has clear dependencies documented
334
+
335
+ ## Execution Steps
336
+
337
+ 1. Read `{{KIRO_DIR}}/specs/{{FEATURE_NAME}}/design.md`
338
+ 2. Read `{{KIRO_DIR}}/specs/{{FEATURE_NAME}}/requirements.md`
339
+ 3. Analyze design components and create Story breakdown
340
+ 4. Generate `tasks.md` following the Michi Workflow Format above
341
+ 5. Save to `{{KIRO_DIR}}/specs/{{FEATURE_NAME}}/tasks.md`
342
+
343
+ ## Validation Checklist
344
+
345
+ Before finalizing, verify:
346
+
347
+ - [ ] Phase headers exist (Phase 0.1, 0.2, 2, 4, 5 at minimum)
348
+ - [ ] Story headers follow format (`### Story X.Y.Z:`)
349
+ - [ ] Day numbering is present
350
+ - [ ] Effort estimates are included
351
+ - [ ] Acceptance criteria use checkboxes `- [ ]`
352
+ - [ ] No AI-DLC format (`- [ ] 1.`, `- [ ] 1.1`) is used
353
+ - [ ] Timeline section is included
354
+ - [ ] Estimate summary table is included
@@ -0,0 +1,36 @@
1
+ # Atlassian Integration Rules
2
+
3
+ ## Confluence Integration
4
+
5
+ ### Page Creation Format
6
+ - Title: `[{{PROJECT_ID}}] {document_type}`
7
+ - Labels: Use {{KIRO_DIR}}/project.json `confluenceLabels`
8
+ - Space: Reference environment variables (CONFLUENCE_PRD_SPACE, etc.)
9
+
10
+ ### Content Sync
11
+ - Source: GitHub {{KIRO_DIR}}/specs/
12
+ - Destination: Confluence pages
13
+ - Sync tool: `npm run confluence:sync`
14
+
15
+ ## JIRA Integration
16
+
17
+ ### Issue Creation Format
18
+ - Summary: `[{{JIRA_KEY}}] {title}`
19
+ - Project Key: Use {{KIRO_DIR}}/project.json `jiraProjectKey`
20
+ - Labels: Derived from Confluence labels
21
+
22
+ ### Workflow
23
+ 1. Generate specs in GitHub
24
+ 2. Create JIRA epics/stories
25
+ 3. Link Confluence pages to JIRA issues
26
+
27
+ ## Environment Variables
28
+
29
+ Required variables (from .env):
30
+ - `ATLASSIAN_URL`
31
+ - `ATLASSIAN_EMAIL`
32
+ - `ATLASSIAN_API_TOKEN`
33
+ - `JIRA_PROJECT_KEYS`
34
+ - `CONFLUENCE_PRD_SPACE`
35
+ - `CONFLUENCE_QA_SPACE`
36
+ - `CONFLUENCE_RELEASE_SPACE`
@@ -0,0 +1,56 @@
1
+ # Michi Core Principles
2
+
3
+ ## Development Guidelines
4
+ {{DEV_GUIDELINES}}
5
+
6
+ ## Language
7
+ All generated documents should be in: **{{LANG_CODE}}**
8
+
9
+ Reference the language field in {{KIRO_DIR}}/project.json.
10
+
11
+ ## Single Source of Truth (SSoT)
12
+
13
+ ### GitHub as SSoT
14
+ - **All specifications are managed in GitHub** ({{KIRO_DIR}}/specs/)
15
+ - Confluence is **reference and approval only** (editing is GitHub only)
16
+ - Avoid duplicate management
17
+
18
+ ### Data Flow
19
+ ```
20
+ GitHub ({{KIRO_DIR}}/specs/) ← Source of truth (editable)
21
+ ↓ sync
22
+ Confluence ← Display and approval (read-only)
23
+ ```
24
+
25
+ ## Multi-Project Management
26
+
27
+ ### Project Identification
28
+ - All operations reference {{KIRO_DIR}}/project.json
29
+ - Dynamically use project ID, JIRA key, Confluence labels
30
+ - Project ID: {{PROJECT_ID}}
31
+
32
+ ### Naming Conventions
33
+
34
+ #### Confluence Pages
35
+ - Format: `[{projectName}] {document_type}`
36
+ - Example: `[{{PROJECT_ID}}] Requirements`
37
+
38
+ #### JIRA Epic/Story
39
+ - Format: `[{JIRA_KEY}] {title}`
40
+ - Use project metadata from {{KIRO_DIR}}/project.json
41
+
42
+ ## Project Structure
43
+
44
+ - Project metadata: {{KIRO_DIR}}/project.json
45
+ - Specifications: {{KIRO_DIR}}/specs/
46
+ - Templates: {{KIRO_DIR}}/settings/templates/
47
+ - Steering: {{KIRO_DIR}}/steering/
48
+ - Rules: {{AGENT_DIR}}/rules/
49
+
50
+ ## Best Practices
51
+
52
+ 1. **Always reference project.json** for project-specific metadata
53
+ 2. **Use SSoT principle** - Edit in GitHub, reference in Confluence
54
+ 3. **Follow naming conventions** for consistency
55
+ 4. **Generate specs incrementally** - Requirements → Design → Tasks
56
+ 5. **Commit frequently** to GitHub