@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,509 @@
1
+ # GitHubトークン作成ガイド
2
+
3
+ このガイドでは、MichiでGitHub連携を行うために必要なPersonal Access Token (PAT)の作成方法を説明します。
4
+
5
+ ## 目次
6
+
7
+ 1. [トークンの種類](#1-トークンの種類)
8
+ 2. [作成手順](#2-作成手順)
9
+ 3. [必要な権限](#3-必要な権限)
10
+ 4. [トークンの保存](#4-トークンの保存)
11
+ 5. [セキュリティベストプラクティス](#5-セキュリティベストプラクティス)
12
+ 6. [トラブルシューティング](#6-トラブルシューティング)
13
+ 7. [参考リンク](#7-参考リンク)
14
+
15
+ ## 1. トークンの種類
16
+
17
+ GitHubでは2種類のPersonal Access Tokenが利用可能です。
18
+
19
+ ### Fine-grained tokens(推奨)
20
+
21
+ **特徴**:
22
+ - ✅ リポジトリ単位で権限を制御可能
23
+ - ✅ より細かいアクセス制御
24
+ - ✅ 有効期限を細かく設定可能
25
+ - ✅ セキュリティが高い
26
+
27
+ **デメリット**:
28
+ - 設定項目が多い
29
+ - リポジトリごとに設定が必要
30
+
31
+ ### Tokens (classic)
32
+
33
+ **特徴**:
34
+ - ✅ シンプルな設定
35
+ - ✅ 全リポジトリに対する権限
36
+ - ✅ 既存ツールとの互換性が高い
37
+
38
+ **デメリット**:
39
+ - 権限の粒度が粗い
40
+ - リポジトリ単位の制御ができない
41
+
42
+ **推奨**: セキュリティ重視の場合は **Fine-grained tokens**、シンプルさ重視の場合は **Tokens (classic)** を選択してください。
43
+
44
+ ## 2. 作成手順
45
+
46
+ ### 2.1 Fine-grained tokensの作成
47
+
48
+ #### Step 1: GitHubにアクセス
49
+
50
+ 1. [GitHub](https://github.com) にログイン
51
+ 2. 右上のプロフィール写真をクリック
52
+ 3. **Settings** を選択
53
+
54
+ #### Step 2: Developer settingsに移動
55
+
56
+ 1. 左サイドバーの一番下にある **Developer settings** をクリック
57
+ 2. 左サイドバーで **Personal access tokens** を展開
58
+ 3. **Fine-grained tokens** を選択
59
+
60
+ #### Step 3: トークンを生成
61
+
62
+ 1. **Generate new token** をクリック
63
+ 2. 以下の項目を入力:
64
+
65
+ | 項目 | 設定値 | 説明 |
66
+ |------|--------|------|
67
+ | **Token name** | `michi-cli-automation` | トークンの識別名 |
68
+ | **Expiration** | `90 days` | 有効期限(推奨) |
69
+ | **Description** | (任意) | トークンの用途説明 |
70
+ | **Resource owner** | あなたのアカウント | トークンの所有者 |
71
+
72
+ 3. **Repository access** を選択:
73
+ - **Only select repositories** を選択
74
+ - Michiを使用するリポジトリを選択
75
+
76
+ #### Step 4: 権限を設定
77
+
78
+ **Repository permissions** セクションで以下を設定:
79
+
80
+ | 権限 | アクセスレベル | 用途 |
81
+ |------|----------------|------|
82
+ | **Contents** | **Read and write** | ファイルの読み書き、ブランチ作成 |
83
+ | **Pull requests** | **Read and write** | PRの作成、更新、マージ |
84
+ | **Metadata** | **Read-only** | リポジトリ情報取得(自動選択) |
85
+ | **Issues** | Read and write(オプション) | Issue作成(JIRA連携時) |
86
+ | **Workflows** | Read and write(オプション) | GitHub Actions実行 |
87
+
88
+ #### Step 5: トークンを生成
89
+
90
+ 1. ページ下部の **Generate token** をクリック
91
+ 2. **トークンをコピー**
92
+
93
+ ⚠️ **重要**: この画面を離れると二度と表示されません!必ずコピーして安全な場所に保存してください。
94
+
95
+ ### 2.2 Tokens (classic)の作成
96
+
97
+ #### Step 1: GitHubにアクセス
98
+
99
+ 1. [GitHub](https://github.com) にログイン
100
+ 2. 右上のプロフィール写真をクリック
101
+ 3. **Settings** を選択
102
+
103
+ #### Step 2: Developer settingsに移動
104
+
105
+ 1. 左サイドバーの一番下にある **Developer settings** をクリック
106
+ 2. 左サイドバーで **Personal access tokens** を展開
107
+ 3. **Tokens (classic)** を選択
108
+
109
+ #### Step 3: トークンを生成
110
+
111
+ 1. **Generate new token** → **Generate new token (classic)** をクリック
112
+ 2. 以下の項目を入力:
113
+
114
+ | 項目 | 設定値 | 説明 |
115
+ |------|--------|------|
116
+ | **Note** | `michi-cli-automation` | トークンの識別名 |
117
+ | **Expiration** | `90 days` | 有効期限(推奨) |
118
+
119
+ #### Step 4: スコープを選択
120
+
121
+ **必須スコープ**:
122
+
123
+ ```
124
+ ✅ repo (Full control of private repositories)
125
+ ├─ ✅ repo:status (Access commit status)
126
+ ├─ ✅ repo_deployment (Access deployment status)
127
+ ├─ ✅ public_repo (Access public repositories)
128
+ └─ ✅ repo:invite (Access repository invitations)
129
+
130
+ ✅ workflow (Update GitHub Action workflows)
131
+ ```
132
+
133
+ **オプショナルスコープ**:
134
+
135
+ ```
136
+ ⬜ admin:org (組織管理者のみ)
137
+ ⬜ notifications (通知管理が必要な場合)
138
+ ```
139
+
140
+ #### Step 5: トークンを生成
141
+
142
+ 1. ページ下部の **Generate token** をクリック
143
+ 2. **トークンをコピー**
144
+
145
+ ⚠️ **重要**: この画面を離れると二度と表示されません!
146
+
147
+ ## 3. 必要な権限
148
+
149
+ ### 3.1 Michiで必要な最小権限
150
+
151
+ | 権限 | Fine-grained | Classic | 説明 | 用途 |
152
+ |------|--------------|---------|------|------|
153
+ | Contents | Read and write | `repo` | ファイルの読み書き | ブランチ作成、コミット |
154
+ | Pull requests | Read and write | `repo` | PRの管理 | PR作成、更新、マージ |
155
+ | Metadata | Read-only | `repo` | リポジトリ情報 | 基本情報取得 |
156
+
157
+ ### 3.2 推奨権限セット(フル機能利用)
158
+
159
+ | 権限 | Fine-grained | Classic | 説明 | 用途 |
160
+ |------|--------------|---------|------|------|
161
+ | Contents | Read and write | `repo` | ファイルの読み書き | ブランチ作成、コミット、ファイル変更 |
162
+ | Pull requests | Read and write | `repo` | PRの管理 | PR作成、更新、マージ、レビュー |
163
+ | Workflows | Read and write | `workflow` | GitHub Actions | CI/CD連携、ワークフロー実行 |
164
+ | Issues | Read and write | `repo` | Issueの管理 | Issue作成、ラベル管理(JIRA連携時) |
165
+ | Metadata | Read-only | `repo` | リポジトリ情報 | 基本情報取得(自動) |
166
+
167
+ ### 3.3 権限の詳細説明
168
+
169
+ #### Contents: Read and write
170
+
171
+ **用途**:
172
+ - ブランチの作成
173
+ - ファイルのコミット
174
+ - ファイルの読み取り
175
+
176
+ **Michiでの使用例**:
177
+ ```bash
178
+ # 機能ブランチの作成
179
+ git checkout -b feature/new-feature
180
+
181
+ # ファイルのコミット
182
+ git add .
183
+ git commit -m "feat: 新機能追加"
184
+ git push origin feature/new-feature
185
+ ```
186
+
187
+ #### Pull requests: Read and write
188
+
189
+ **用途**:
190
+ - PRの作成
191
+ - PRの更新
192
+ - PRのマージ
193
+ - レビューの管理
194
+
195
+ **Michiでの使用例**:
196
+ ```bash
197
+ # PR作成(GitHub CLI経由)
198
+ gh pr create --head feature/new-feature --base main \
199
+ --title "新機能追加" \
200
+ --body "詳細説明"
201
+ ```
202
+
203
+ #### Workflows: Read and write
204
+
205
+ **用途**:
206
+ - GitHub Actionsの実行
207
+ - ワークフローファイルの更新
208
+ - CI/CD連携
209
+
210
+ **Michiでの使用例**:
211
+ - PR作成時に自動テスト実行
212
+ - CI/CDパイプラインの管理
213
+
214
+ ## 4. トークンの保存
215
+
216
+ ### 4.1 .envファイルに保存(推奨)
217
+
218
+ Michiプロジェクトの `.env` ファイルに保存します。
219
+
220
+ ```bash
221
+ cd /path/to/your-project
222
+
223
+ # .env ファイルを編集
224
+ nano .env
225
+ ```
226
+
227
+ 以下の内容を追加:
228
+
229
+ ```bash
230
+ # GitHub設定
231
+ GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
232
+ GITHUB_ORG=your-organization # または your-username
233
+ GITHUB_REPO=your-org/your-repo
234
+ ```
235
+
236
+ **セキュリティ**:
237
+ ```bash
238
+ # .env ファイルのパーミッションを600に設定
239
+ chmod 600 .env
240
+
241
+ # .gitignore に .env が含まれているか確認
242
+ cat .gitignore | grep .env
243
+ ```
244
+
245
+ ### 4.2 環境変数として設定
246
+
247
+ #### macOS / Linux(一時的)
248
+
249
+ ```bash
250
+ export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
251
+ ```
252
+
253
+ #### macOS / Linux(永続的)
254
+
255
+ `~/.zshrc` または `~/.bash_profile` に追加:
256
+
257
+ ```bash
258
+ echo 'export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"' >> ~/.zshrc
259
+ source ~/.zshrc
260
+ ```
261
+
262
+ #### Windows(PowerShell)
263
+
264
+ ```powershell
265
+ # 一時的
266
+ $env:GITHUB_TOKEN = "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
267
+
268
+ # 永続的
269
+ [System.Environment]::SetEnvironmentVariable('GITHUB_TOKEN', 'ghp_xxx...', 'User')
270
+ ```
271
+
272
+ ### 4.3 トークンの検証
273
+
274
+ 設定したトークンが正しく動作するか確認:
275
+
276
+ ```bash
277
+ # 環境変数の確認
278
+ echo $GITHUB_TOKEN
279
+
280
+ # GitHub APIで検証
281
+ curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/user
282
+
283
+ # 成功時のレスポンス例
284
+ # {
285
+ # "login": "your-username",
286
+ # "id": 12345,
287
+ # ...
288
+ # }
289
+ ```
290
+
291
+ ## 5. セキュリティベストプラクティス
292
+
293
+ ### 5.1 トークンの取り扱い
294
+
295
+ #### ✅ やるべきこと
296
+
297
+ - **`.env` ファイルに保存し、`.gitignore` に追加**
298
+ ```bash
299
+ # .gitignore
300
+ .env
301
+ .env.local
302
+ .env.*.local
303
+ ```
304
+
305
+ - **ファイルパーミッションを600に設定**
306
+ ```bash
307
+ chmod 600 .env
308
+ ```
309
+
310
+ - **定期的にトークンをローテーション**
311
+ - 推奨: 90日ごと
312
+ - 最大: 1年
313
+
314
+ - **権限の最小化**
315
+ - 必要な権限のみを付与
316
+ - Fine-grained tokensでリポジトリを限定
317
+
318
+ #### ❌ やってはいけないこと
319
+
320
+ - **コードにハードコード**
321
+ ```javascript
322
+ // ❌ 絶対にダメ!
323
+ const token = "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
324
+ ```
325
+
326
+ - **Gitにコミット**
327
+ ```bash
328
+ # ❌ ダメ!
329
+ git add .env
330
+ git commit -m "環境変数追加"
331
+ ```
332
+
333
+ - **公開リポジトリで使用**
334
+ - Secretsやenvファイルの扱いに十分注意
335
+
336
+ ### 5.2 トークンの無効化
337
+
338
+ トークンが漏洩した疑いがある場合:
339
+
340
+ 1. GitHub Settings → Developer settings → Personal access tokens
341
+ 2. 該当トークンを選択
342
+ 3. **Delete** または **Regenerate** をクリック
343
+ 4. 新しいトークンを生成し、`.env` を更新
344
+
345
+ ### 5.3 有効期限の設定
346
+
347
+ | 期間 | 推奨 | 用途 |
348
+ |------|------|------|
349
+ | 7日 | ⭐⭐⭐ | テスト・検証用 |
350
+ | 30日 | ⭐⭐⭐ | 短期プロジェクト |
351
+ | 90日 | ⭐⭐ | 通常の開発(推奨) |
352
+ | 1年 | ⭐ | 長期プロジェクト |
353
+ | 無期限 | ❌ | 避けるべき |
354
+
355
+ ## 6. トラブルシューティング
356
+
357
+ ### 6.1 `Bad credentials`
358
+
359
+ **エラーメッセージ**:
360
+ ```
361
+ Error: Bad credentials
362
+ ```
363
+
364
+ **原因**:
365
+ - トークンが無効または期限切れ
366
+ - トークンの形式が間違っている
367
+ - 環境変数が正しく設定されていない
368
+
369
+ **解決方法**:
370
+
371
+ 1. トークンの有効期限を確認:
372
+ - GitHub Settings → Developer settings → Personal access tokens
373
+ - 該当トークンの "Expires" を確認
374
+
375
+ 2. トークンを再生成:
376
+ - 期限切れの場合は新しいトークンを作成
377
+ - `.env` ファイルを更新
378
+
379
+ 3. 環境変数を確認:
380
+ ```bash
381
+ echo $GITHUB_TOKEN
382
+ # 正しいトークンが表示されるか確認
383
+ ```
384
+
385
+ ### 6.2 `Resource not accessible by integration`
386
+
387
+ **エラーメッセージ**:
388
+ ```
389
+ Error: Resource not accessible by integration
390
+ ```
391
+
392
+ **原因**:
393
+ - 権限が不足している
394
+ - リポジトリへのアクセス権がない
395
+
396
+ **解決方法**:
397
+
398
+ 1. トークンの権限を確認:
399
+ - Fine-grained tokens: Repository permissions を確認
400
+ - Classic tokens: `repo` スコープが有効か確認
401
+
402
+ 2. リポジトリアクセスを確認:
403
+ - Fine-grained tokens: Repository access で対象リポジトリが選択されているか確認
404
+
405
+ 3. 必要に応じてトークンを再作成:
406
+ - 不足している権限を追加
407
+ - `.env` ファイルを更新
408
+
409
+ ### 6.3 `API rate limit exceeded`
410
+
411
+ **エラーメッセージ**:
412
+ ```
413
+ Error: API rate limit exceeded for user ID xxxxx
414
+ ```
415
+
416
+ **原因**:
417
+ - API呼び出し制限に到達
418
+ - 認証済み: 5000 requests/hour
419
+ - 未認証: 60 requests/hour
420
+
421
+ **解決方法**:
422
+
423
+ 1. レート制限を確認:
424
+ ```bash
425
+ curl -H "Authorization: token $GITHUB_TOKEN" \
426
+ https://api.github.com/rate_limit
427
+ ```
428
+
429
+ 2. リセット時刻を確認:
430
+ ```json
431
+ {
432
+ "rate": {
433
+ "limit": 5000,
434
+ "remaining": 0,
435
+ "reset": 1234567890 // Unix timestamp
436
+ }
437
+ }
438
+ ```
439
+
440
+ 3. 対処法:
441
+ - リセット時刻まで待つ
442
+ - API呼び出しを減らす
443
+ - キャッシュを活用する
444
+
445
+ ### 6.4 トークンが表示されない
446
+
447
+ **症状**:
448
+ - トークン生成後、画面を離れてトークンが見えなくなった
449
+
450
+ **解決方法**:
451
+
452
+ 1. **トークンは再表示できません**
453
+ 2. 新しいトークンを生成:
454
+ - Generate new token で新規作成
455
+ - 古いトークンは削除
456
+
457
+ ### 6.5 Michiで認識されない
458
+
459
+ **症状**:
460
+ ```bash
461
+ npx @sk8metal/michi-cli setup-existing --cursor
462
+ # GitHub設定でエラー
463
+ ```
464
+
465
+ **解決方法**:
466
+
467
+ 1. `.env` ファイルの場所を確認:
468
+ ```bash
469
+ pwd
470
+ ls -la .env
471
+ ```
472
+
473
+ 2. `.env` の内容を確認:
474
+ ```bash
475
+ cat .env | grep GITHUB_TOKEN
476
+ ```
477
+
478
+ 3. パーミッションを確認:
479
+ ```bash
480
+ ls -l .env
481
+ # -rw------- 1 user group ... .env (600)
482
+ ```
483
+
484
+ 4. Michiを再実行:
485
+ ```bash
486
+ npx @sk8metal/michi-cli setup-existing --cursor --lang ja
487
+ ```
488
+
489
+ ## 7. 参考リンク
490
+
491
+ ### GitHub公式ドキュメント
492
+
493
+ - [Personal Access Tokens (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic)
494
+ - [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)
495
+ - [GitHub API Rate Limiting](https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-api)
496
+ - [GitHub Token Permissions](https://docs.github.com/en/rest/overview/permissions-required-for-fine-grained-personal-access-tokens)
497
+
498
+ ### Michi関連ドキュメント
499
+
500
+ - [セットアップガイド](./setup.md)
501
+ - [クイックスタート](./quick-start.md)
502
+ - [トラブルシューティング](../hands-on/troubleshooting.md)
503
+ - [Michiメインドキュメント](../../README.md)
504
+
505
+ ---
506
+
507
+ **次のステップ**: トークンを作成したら、[セットアップガイド](./setup.md)に戻って環境変数の設定を完了してください。
508
+
509
+
@@ -153,6 +153,22 @@ npx @sk8metal/michi-cli phase:run user-authentication design
153
153
 
154
154
  TDD(テスト駆動開発)で実装が進められます。
155
155
 
156
+ ## 8. テストを作成(オプション)
157
+
158
+ Phase Bテスト(手動回帰、負荷、セキュリティ)を対話的に作成できます:
159
+
160
+ ```bash
161
+ npm run test:interactive
162
+ ```
163
+
164
+ 対話的に以下の情報を入力すると、テストファイルが自動生成されます:
165
+ - テストタイプ(手動回帰/負荷/セキュリティ)
166
+ - 対象エンドポイント
167
+ - 期待するレスポンス
168
+ - テスト条件
169
+
170
+ 詳細は [テスト計画フロー](../testing/test-planning-flow.md) を参照してください。
171
+
156
172
  ## 次のステップ
157
173
 
158
174
  ### より詳しく学ぶ
@@ -325,12 +325,39 @@ SLACK_WEBHOOK_URL=<SlackWebhook URL>
325
325
  4. 生成されたトークンをコピーして `.env` に貼り付け
326
326
 
327
327
  #### GitHub Token
328
+
329
+ **重要**: GitHubトークンをまだ作成していない場合は、以下の詳細ガイドを参照してください:
330
+
331
+ 📖 **[GitHubトークン作成ガイド](./github-token-setup.md)**
332
+
333
+ トークン作成ガイドでは以下を解説しています:
334
+ - Fine-grained tokens と Tokens (classic) の違い
335
+ - 必要な権限の詳細説明
336
+ - トークンの作成手順(ステップバイステップ)
337
+ - セキュリティベストプラクティス
338
+ - トラブルシューティング
339
+
340
+ **クイックガイド**(既にトークンを持っている場合):
341
+
328
342
  ```bash
343
+ # GitHub CLIを使用する場合
329
344
  gh auth login
330
345
  gh auth token
346
+
347
+ # 生成されたトークンを .env に設定
331
348
  ```
332
349
 
333
- 生成されたトークンを `.env` の `GITHUB_TOKEN` に設定
350
+ トークン作成後、`.env` の `GITHUB_TOKEN` に設定:
351
+
352
+ ```bash
353
+ GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
354
+ ```
355
+
356
+ **必要な権限**:
357
+ - `repo` (Full control of private repositories)
358
+ - `workflow` (Update GitHub Action workflows)
359
+
360
+ 詳細は [GitHubトークン作成ガイド](./github-token-setup.md) を参照してください。
334
361
 
335
362
  #### Slack Webhook URL(オプション)
336
363
  1. https://api.slack.com/apps にアクセス