@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
@@ -1,545 +0,0 @@
1
- # 設定値リファレンス
2
-
3
- このドキュメントでは、`.michi/config.json`で設定可能なすべての設定値について説明します。
4
-
5
- ## 設定ファイルの場所
6
-
7
- プロジェクトルートの `.michi/config.json` に設定を記述します。
8
-
9
- **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。`.kiro/config.json` が存在する場合は警告が表示されます。
10
-
11
- ```json
12
- {
13
- "confluence": { ... },
14
- "jira": { ... },
15
- "workflow": { ... }
16
- }
17
- ```
18
-
19
- ## Confluence設定
20
-
21
- | 設定項目 | 型 | デフォルト | 必須 | 説明 | 値の説明 |
22
- |---------|-----|-----------|------|------|---------|
23
- | `confluence.pageCreationGranularity` | `'single' \| 'by-section' \| 'by-hierarchy' \| 'manual'` | `'single'` | いいえ | ページ作成の粒度を指定 | `'single'`: 1つのMarkdownファイルを1つのConfluenceページとして作成<br>`'by-section'`: Markdownのセクションごとにページを作成<br>`'by-hierarchy'`: 階層構造に基づいてページを作成(`hierarchy`設定が必要)<br>`'manual'`: 手動で定義した構造に基づいてページを作成(`hierarchy.structure`設定が必要) |
24
- | `confluence.pageTitleFormat` | `string` | `'[{projectName}] {featureName} {docTypeLabel}'` | いいえ | ページタイトルのフォーマットを指定 | プレースホルダー: `{projectName}`(プロジェクト名)、`{featureName}`(機能名)、`{docTypeLabel}`(ドキュメントタイプのラベル) |
25
- | `confluence.autoLabels` | `string[]` | `['{projectLabel}', '{docType}', '{featureName}', 'github-sync']` | いいえ | Confluenceページに自動的に付与するラベルのリスト | プレースホルダー: `{projectLabel}`(プロジェクトラベル)、`{docType}`(ドキュメントタイプ)、`{featureName}`(機能名) |
26
- | `confluence.spaces` | `{ requirements?: string, design?: string, tasks?: string }` | 環境変数`CONFLUENCE_PRD_SPACE`、または`'PRD'` | いいえ(推奨) | 各ドキュメントタイプをどのConfluenceスペースに作成するかを指定 | `requirements`: 要件定義用スペース<br>`design`: 設計用スペース<br>`tasks`: タスク用スペース |
27
- | `confluence.hierarchy` | `{ mode?: 'simple' \| 'nested', parentPageTitle?: string, createDocTypeParents?: boolean, structure?: object }` | なし | `pageCreationGranularity`が`'by-hierarchy'`または`'manual'`の場合 | 階層構造の設定 | 詳細は下記の子項目を参照 |
28
-
29
- ### `confluence.spaces` の設定例
30
-
31
- ```json
32
- {
33
- "confluence": {
34
- "spaces": {
35
- "requirements": "Michi",
36
- "design": "Michi",
37
- "tasks": "Michi"
38
- }
39
- }
40
- }
41
- ```
42
-
43
- **注意**: 設定されていない場合、環境変数`CONFLUENCE_PRD_SPACE`が使用されます。それもない場合は`'PRD'`がデフォルト値として使用されます。
44
-
45
- ### `confluence.hierarchy` の子項目
46
-
47
- | 設定項目 | 型 | デフォルト | 必須 | 説明 | 値の説明 |
48
- |---------|-----|-----------|------|------|---------|
49
- | `confluence.hierarchy.mode` | `'simple' \| 'nested'` | `'simple'` | いいえ | 階層構造のモードを指定 | `'simple'`: シンプルな親子構造<br>`'nested'`: ネストされた階層構造 |
50
- | `confluence.hierarchy.parentPageTitle` | `string` | なし | `pageCreationGranularity`が`'by-hierarchy'`の場合(推奨) | 親ページのタイトルフォーマットを指定 | プレースホルダー: `{projectName}`(プロジェクト名)、`{featureName}`(機能名)<br>例: `"[{projectName}] {featureName}"` |
51
- | `confluence.hierarchy.createDocTypeParents` | `boolean` | `false` | いいえ | ドキュメントタイプごとの親ページを作成するかどうかを指定 | `true`: 作成する<br>`false`: 作成しない |
52
- | `confluence.hierarchy.structure` | `object` | なし | `pageCreationGranularity`が`'manual'`の場合 | 手動で定義した階層構造 | 詳細は実装を参照してください |
53
-
54
- ## JIRA設定
55
-
56
- | 設定項目 | 型 | デフォルト | 必須 | 説明 | 値の説明 |
57
- |---------|-----|-----------|------|------|---------|
58
- | `jira.storyCreationGranularity` | `'all' \| 'by-phase' \| 'selected-phases'` | `'all'` | いいえ | ストーリー作成の粒度を指定 | `'all'`: すべてのフェーズのストーリーを作成<br>`'by-phase'`: フェーズごとにストーリーを作成<br>`'selected-phases'`: `selectedPhases`で指定したフェーズのみストーリーを作成 |
59
- | `jira.createEpic` | `boolean` | `true` | いいえ | Epicを作成するかどうかを指定 | `true`: Epicを作成<br>`false`: Epicを作成しない |
60
- | `jira.storyPoints` | `'auto' \| 'manual' \| 'disabled'` | `'auto'` | いいえ | ストーリーポイントの設定方法を指定 | `'auto'`: 自動計算<br>`'manual'`: 手動設定(tasks.mdから取得)<br>`'disabled'`: ストーリーポイントを設定しない |
61
- | `jira.autoLabels` | `string[]` | `['{projectLabel}', '{featureName}', '{phaseLabel}']` | いいえ | JIRAチケットに自動的に付与するラベルのリスト | プレースホルダー: `{projectLabel}`(プロジェクトラベル)、`{featureName}`(機能名)、`{phaseLabel}`(フェーズラベル) |
62
- | `jira.issueTypes` | `{ epic?: string, story?: string, subtask?: string }` | `{ epic: 'Epic', story: null, subtask: null }` | いいえ(`story`は推奨) | JIRAのIssue Type IDを指定 | `epic`: EpicのIssue Type ID<br>`story`: StoryのIssue Type ID(環境変数`JIRA_ISSUE_TYPE_STORY`でも設定可能)<br>`subtask`: SubtaskのIssue Type ID(環境変数`JIRA_ISSUE_TYPE_SUBTASK`でも設定可能) |
63
- | `jira.selectedPhases` | `string[]` | なし | `storyCreationGranularity`が`'selected-phases'`の場合 | ストーリーを作成するフェーズのリスト | 例: `['Requirements', 'Design', 'Implementation']` |
64
-
65
- ### `jira.issueTypes` の詳細
66
-
67
- **注意**: `story`が設定されていない場合、環境変数`JIRA_ISSUE_TYPE_STORY`が使用されます。それもない場合はエラーになります。
68
-
69
- **確認方法**:
70
- - JIRA管理画面: Settings > Issues > Issue types
71
- - REST API: `GET https://your-domain.atlassian.net/rest/api/3/issuetype`
72
-
73
- ## ワークフロー設定
74
-
75
- | 設定項目 | 型 | デフォルト | 必須 | 説明 | 値の説明 |
76
- |---------|-----|-----------|------|------|---------|
77
- | `workflow.enabledPhases` | `string[]` | `['requirements', 'design', 'tasks']` | いいえ | 有効化するフェーズのリスト | 有効な値: `'requirements'`, `'design'`, `'tasks'` |
78
- | `workflow.approvalGates` | `{ requirements?: string[], design?: string[], release?: string[] }` | なし | いいえ | 各フェーズの承認ゲートを指定 | 承認者のロール名のリストを指定<br>`requirements`: 要件定義フェーズの承認者<br>`design`: 設計フェーズの承認者<br>`release`: リリースフェーズの承認者 |
79
-
80
- ### `workflow.approvalGates` の設定例
81
-
82
- ```json
83
- {
84
- "workflow": {
85
- "approvalGates": {
86
- "requirements": ["leader", "director"],
87
- "design": ["leader", "director"],
88
- "release": ["service-manager", "director"]
89
- }
90
- }
91
- }
92
- ```
93
-
94
- ## 環境変数による設定
95
-
96
- 一部の設定値は環境変数でも設定可能です。環境変数の設定は`.env`ファイルに記述します。
97
-
98
- ### Atlassian共通設定
99
-
100
- | 環境変数名 | 対応する設定項目 | 説明 | デフォルト |
101
- |-----------|----------------|------|-----------|
102
- | `ATLASSIAN_REQUEST_DELAY` | - | Confluence/JIRA APIリクエスト間の遅延時間(ミリ秒) | `500` |
103
-
104
- ### Confluence関連
105
-
106
- | 環境変数名 | 対応する設定項目 | 説明 | デフォルト |
107
- |-----------|----------------|------|-----------|
108
- | `CONFLUENCE_PRD_SPACE` | `confluence.spaces` | Confluenceスペースキー(`confluence.spaces`のデフォルト値) | `'PRD'` |
109
- | `CONFLUENCE_BASE_URL` | - | ConfluenceのベースURL | なし |
110
- | `CONFLUENCE_USERNAME` | - | Confluenceのユーザー名 | なし |
111
- | `CONFLUENCE_API_TOKEN` | - | ConfluenceのAPIトークン | なし |
112
-
113
- ### JIRA関連
114
-
115
- | 環境変数名 | 対応する設定項目 | 説明 | デフォルト |
116
- |-----------|----------------|------|-----------|
117
- | `JIRA_BASE_URL` | - | JIRAのベースURL | なし |
118
- | `JIRA_USERNAME` | - | JIRAのユーザー名 | なし |
119
- | `JIRA_API_TOKEN` | - | JIRAのAPIトークン | なし |
120
- | `JIRA_PROJECT_KEY` | - | JIRAプロジェクトキー(`.kiro/project.json`からも取得可能) | なし |
121
- | `JIRA_ISSUE_TYPE_STORY` | `jira.issueTypes.story` | StoryのIssue Type ID | なし |
122
- | `JIRA_ISSUE_TYPE_SUBTASK` | `jira.issueTypes.subtask` | SubtaskのIssue Type ID | なし |
123
- | `JIRA_EPIC_LINK_FIELD` | - | Epic LinkカスタムフィールドID(例: `customfield_10014`) | なし |
124
-
125
- ## 設定の優先順位
126
-
127
- 設定値は以下の優先順位で決定されます:
128
-
129
- 1. **`spec.json`**: 機能固有の設定(最優先)
130
- 2. **`.michi/config.json`**: プロジェクト固有の設定
131
- 3. **環境変数**: システム環境変数または`.env`ファイル
132
- 4. **デフォルト値**: スキーマで定義されたデフォルト値
133
-
134
- ## 設定例
135
-
136
- ### パターン1: 最小構成(シンプル)
137
-
138
- 最小限の設定で動作させる場合:
139
-
140
- ```json
141
- {
142
- "confluence": {
143
- "spaces": {
144
- "requirements": "Michi",
145
- "design": "Michi",
146
- "tasks": "Michi"
147
- }
148
- },
149
- "jira": {
150
- "issueTypes": {
151
- "story": "10036",
152
- "subtask": "10037"
153
- }
154
- }
155
- }
156
- ```
157
-
158
- **特徴**:
159
- - Confluenceスペースのみ指定
160
- - JIRA Issue Type IDのみ指定
161
- - その他はデフォルト値を使用
162
-
163
- **使用場面**:
164
- - 小規模プロジェクト
165
- - デフォルト動作で十分な場合
166
-
167
- ### パターン2: 標準構成(推奨)
168
-
169
- 一般的なプロジェクトで推奨される設定:
170
-
171
- ```json
172
- {
173
- "confluence": {
174
- "pageCreationGranularity": "by-hierarchy",
175
- "spaces": {
176
- "requirements": "Michi",
177
- "design": "Michi",
178
- "tasks": "Michi"
179
- },
180
- "hierarchy": {
181
- "mode": "simple",
182
- "parentPageTitle": "[{projectName}] {featureName}"
183
- }
184
- },
185
- "jira": {
186
- "createEpic": true,
187
- "storyCreationGranularity": "all",
188
- "storyPoints": "auto",
189
- "issueTypes": {
190
- "story": "1",
191
- "subtask": "2"
192
- }
193
- },
194
- "workflow": {
195
- "enabledPhases": ["requirements", "design", "tasks"],
196
- "approvalGates": {
197
- "requirements": ["leader", "director"],
198
- "design": ["leader", "director"],
199
- "release": ["service-manager", "director"]
200
- }
201
- }
202
- }
203
- ```
204
-
205
- **特徴**:
206
- - Confluence階層構造を使用
207
- - JIRA Epicを自動作成
208
- - ワークフロー承認ゲートを設定
209
-
210
- **使用場面**:
211
- - 中規模以上のプロジェクト
212
- - 承認フローが必要な場合
213
- - チーム開発
214
-
215
- ### パターン3: 完全な構成(高度)
216
-
217
- すべての設定を明示的に指定する場合:
218
-
219
- ```json
220
- {
221
- "confluence": {
222
- "pageCreationGranularity": "by-hierarchy",
223
- "pageTitleFormat": "[{projectName}] {featureName} {docTypeLabel}",
224
- "autoLabels": ["{projectLabel}", "{docType}", "{featureName}", "github-sync"],
225
- "spaces": {
226
- "requirements": "Michi",
227
- "design": "Michi",
228
- "tasks": "Michi"
229
- },
230
- "hierarchy": {
231
- "mode": "simple",
232
- "parentPageTitle": "[{projectName}] {featureName}",
233
- "createDocTypeParents": false
234
- }
235
- },
236
- "jira": {
237
- "storyCreationGranularity": "all",
238
- "createEpic": true,
239
- "storyPoints": "auto",
240
- "autoLabels": ["{projectLabel}", "{featureName}", "{phaseLabel}"],
241
- "issueTypes": {
242
- "epic": "Epic",
243
- "story": "1",
244
- "subtask": "2"
245
- }
246
- },
247
- "workflow": {
248
- "enabledPhases": ["requirements", "design", "tasks"],
249
- "approvalGates": {
250
- "requirements": ["leader", "director"],
251
- "design": ["leader", "director"],
252
- "release": ["service-manager", "director"]
253
- }
254
- }
255
- }
256
- ```
257
-
258
- **特徴**:
259
- - すべての設定値を明示
260
- - カスタムラベルとタイトルフォーマット
261
- - 詳細なワークフロー設定
262
-
263
- **使用場面**:
264
- - 大規模プロジェクト
265
- - 複雑な承認フローが必要な場合
266
- - カスタマイズ要件が多い場合
267
-
268
- ### 実際のプロジェクト例: michi-practice1
269
-
270
- 実際のプロジェクト(`michi-practice1`)で使用されている設定:
271
-
272
- ```json
273
- {
274
- "confluence": {
275
- "pageCreationGranularity": "by-hierarchy",
276
- "hierarchy": {
277
- "mode": "simple",
278
- "parentPageTitle": "[{projectName}] {featureName}"
279
- },
280
- "spaces": {
281
- "requirements": "Michi",
282
- "design": "Michi",
283
- "tasks": "Michi"
284
- }
285
- },
286
- "jira": {
287
- "createEpic": true,
288
- "storyCreationGranularity": "all",
289
- "storyPoints": "auto",
290
- "issueTypes": {
291
- "story": "1",
292
- "subtask": "2"
293
- }
294
- },
295
- "workflow": {
296
- "enabledPhases": [
297
- "requirements",
298
- "design",
299
- "tasks"
300
- ],
301
- "approvalGates": {
302
- "requirements": [
303
- "leader",
304
- "director"
305
- ],
306
- "design": [
307
- "leader",
308
- "director"
309
- ],
310
- "release": [
311
- "service-manager",
312
- "director"
313
- ]
314
- }
315
- }
316
- }
317
- ```
318
-
319
- **説明**:
320
- - Confluence階層構造を使用して、機能ごとに親ページを作成
321
- - JIRA Epicを自動作成し、すべてのフェーズのストーリーを作成
322
- - ワークフロー承認ゲートを設定して、各フェーズで承認が必要
323
-
324
- **参考**: この設定は`michi-practice1`プロジェクトで実際に使用されています。
325
-
326
- ## バリデーション
327
-
328
- 設定ファイルは実行前に自動的にバリデーションされます。エラーがある場合は、実行前にエラーメッセージが表示されます。
329
-
330
- バリデーションを手動で実行する場合:
331
-
332
- ```bash
333
- # 推奨: npmスクリプト経由
334
- npm run config:validate
335
-
336
- # または、npx経由
337
- npx tsx scripts/utils/config-validator.ts
338
- ```
339
-
340
- ## トラブルシューティング
341
-
342
- ### 設定値が反映されない
343
-
344
- **症状**: 設定ファイルを変更したが、動作が変わらない
345
-
346
- **原因と解決方法**:
347
-
348
- 1. **JSON構文エラー**
349
- - `.michi/config.json`のJSON構文が正しいか確認
350
- - JSONバリデーターを使用: `npx tsx scripts/utils/config-validator.ts`
351
- - よくあるエラー: 末尾のカンマ、引用符の不一致
352
-
353
- 2. **設定ファイルのパスが間違っている**
354
- - 設定ファイルのパスが正しいか確認(プロジェクトルートの`.michi/config.json`)
355
- - 現在のディレクトリを確認: `pwd`
356
- - 設定ファイルの存在確認: `ls -la .michi/config.json`
357
-
358
- 3. **優先順位の問題**
359
- - 環境変数が設定されている場合、環境変数の優先順位を確認
360
- - `spec.json`に設定がある場合、`spec.json`が最優先であることを確認
361
- - 設定の優先順位: `spec.json` > `config.json` > 環境変数 > デフォルト値
362
-
363
- 4. **設定ファイルの読み込みエラー**
364
- - 設定ファイルの権限を確認: `chmod 644 .michi/config.json`
365
- - ファイルエンコーディングを確認(UTF-8推奨)
366
-
367
- ### 必須設定値エラー
368
-
369
- **症状**: 実行時に「設定値が不足しています」というエラーが表示される
370
-
371
- **よくあるエラーケース**:
372
-
373
- #### エラー1: `jira.issueTypes.story`が設定されていません
374
-
375
- **エラーメッセージ例**:
376
- ```
377
- ❌ Configuration errors:
378
- jira.issueTypes.storyが設定されていません。環境変数JIRA_ISSUE_TYPE_STORYも設定されていないため、JIRA同期を実行できません。
379
- ```
380
-
381
- **解決方法**:
382
- 1. `.michi/config.json`に以下を追加:
383
- ```json
384
- {
385
- "jira": {
386
- "issueTypes": {
387
- "story": "10036"
388
- }
389
- }
390
- }
391
- ```
392
-
393
- 2. または、環境変数を設定:
394
- ```bash
395
- export JIRA_ISSUE_TYPE_STORY=10036
396
- ```
397
-
398
- 3. Issue Type IDの確認方法:
399
- - JIRA管理画面: Settings > Issues > Issue types
400
- - REST API: `GET https://your-domain.atlassian.net/rest/api/3/issuetype`
401
-
402
- #### エラー2: `confluence.hierarchy`が設定されていません
403
-
404
- **エラーメッセージ例**:
405
- ```
406
- ❌ Configuration errors:
407
- confluence.hierarchyが設定されていません。pageCreationGranularityが"by-hierarchy"の場合、hierarchy設定が必須です。
408
- ```
409
-
410
- **解決方法**:
411
- `.michi/config.json`に以下を追加:
412
- ```json
413
- {
414
- "confluence": {
415
- "pageCreationGranularity": "by-hierarchy",
416
- "hierarchy": {
417
- "mode": "simple",
418
- "parentPageTitle": "[{projectName}] {featureName}"
419
- }
420
- }
421
- }
422
- ```
423
-
424
- または、`pageCreationGranularity`を`"single"`に変更:
425
- ```json
426
- {
427
- "confluence": {
428
- "pageCreationGranularity": "single"
429
- }
430
- }
431
- ```
432
-
433
- #### エラー3: `confluence.spaces.requirements`が設定されていません
434
-
435
- **エラーメッセージ例**:
436
- ```
437
- ⚠️ Warnings:
438
- confluence.spaces.requirementsが設定されていません。環境変数CONFLUENCE_PRD_SPACEも設定されていないため、デフォルト値(PRD)を使用します。
439
- ```
440
-
441
- **解決方法**:
442
- 1. `.michi/config.json`に以下を追加:
443
- ```json
444
- {
445
- "confluence": {
446
- "spaces": {
447
- "requirements": "Michi",
448
- "design": "Michi",
449
- "tasks": "Michi"
450
- }
451
- }
452
- }
453
- ```
454
-
455
- 2. または、環境変数を設定:
456
- ```bash
457
- export CONFLUENCE_PRD_SPACE=Michi
458
- ```
459
-
460
- ### バリデーションエラー
461
-
462
- **症状**: バリデーション実行時にエラーが表示される
463
-
464
- **よくあるエラーケース**:
465
-
466
- #### エラー1: JSON構文エラー
467
-
468
- **エラーメッセージ例**:
469
- ```
470
- ❌ Validation errors:
471
- Invalid JSON: Unexpected token } in JSON at position 123
472
- ```
473
-
474
- **解決方法**:
475
- - JSON構文を確認
476
- - 末尾のカンマを削除
477
- - 引用符を統一(ダブルクォートを使用)
478
-
479
- #### エラー2: スキーマバリデーションエラー
480
-
481
- **エラーメッセージ例**:
482
- ```
483
- ❌ Validation errors:
484
- confluence.pageCreationGranularity: Invalid enum value. Expected 'single' | 'by-section' | 'by-hierarchy' | 'manual', received 'invalid-value'
485
- ```
486
-
487
- **解決方法**:
488
- - 設定値が有効な値か確認
489
- - このドキュメントの各設定値の説明を参照
490
- - デフォルト値を使用する場合は設定を削除
491
-
492
- ### 設定値の優先順位が不明確
493
-
494
- **症状**: どの設定値が使用されているかわからない
495
-
496
- **確認方法**:
497
-
498
- 1. **バリデーション実行時のログを確認**
499
- - Confluence同期時: `📌 Using Confluence space: Michi (source: config.json)`
500
- - JIRA同期時: 設定値のソースが表示される
501
-
502
- 2. **設定ファイルの優先順位を理解**
503
- - `spec.json` > `.michi/config.json` > 環境変数 > デフォルト値
504
- - 同じ設定値が複数箇所にある場合、優先順位の高いものが使用される
505
-
506
- 3. **デバッグ方法**
507
- ```bash
508
- # 設定値を確認
509
- npx tsx scripts/utils/config-validator.ts
510
-
511
- # 実際の設定値を表示(開発用)
512
- # scripts/utils/config-loader.ts を参照
513
- ```
514
-
515
- ### デフォルト値の確認
516
-
517
- 各設定値のデフォルト値は、このドキュメントの各セクションに記載されています。また、`scripts/config/config-schema.ts`のスキーマ定義も参照してください。
518
-
519
- ### よくある質問
520
-
521
- **Q: 設定ファイルを変更したが、変更が反映されない**
522
-
523
- A: 以下の順序で確認してください:
524
- 1. JSON構文が正しいか確認
525
- 2. 設定ファイルのパスが正しいか確認
526
- 3. 優先順位を確認(`spec.json`が最優先)
527
- 4. バリデーションを実行してエラーがないか確認
528
-
529
- **Q: 環境変数と`config.json`のどちらを優先すべきか**
530
-
531
- A: プロジェクト固有の設定は`config.json`に、個人固有の設定は環境変数に設定することを推奨します。`config.json`の方が優先順位が高いため、プロジェクト全体で統一された設定を維持できます。
532
-
533
- **Q: `spec.json`と`config.json`の違いは何か**
534
-
535
- A:
536
- - `spec.json`: 機能固有の設定(`.kiro/specs/<feature>/spec.json`)
537
- - `config.json`: プロジェクト全体の設定(`.michi/config.json`)
538
- - `spec.json`が最優先で、機能ごとに異なる設定が可能
539
-
540
- **Q: 設定ファイルをGitで管理すべきか**
541
-
542
- A:
543
- - `.michi/config.json`: チーム固有設定のため、`.gitignore`に追加することを推奨
544
- - `spec.json`: 機能仕様の一部のため、Gitで管理することを推奨
545
-
@@ -1,52 +0,0 @@
1
- #!/bin/bash
2
-
3
- # 環境変数設定スクリプト
4
- # このスクリプトは.envファイルのテンプレートを作成します
5
-
6
- # 既存の.envファイルがある場合は確認
7
- if [ -f .env ]; then
8
- echo "⚠️ .env ファイルが既に存在します"
9
- read -p "上書きしますか? (y/N): " -n 1 -r
10
- echo
11
- if [[ ! $REPLY =~ ^[Yy]$ ]]; then
12
- echo "キャンセルしました"
13
- exit 0
14
- fi
15
- fi
16
-
17
- cat > .env << 'EOF'
18
- # Atlassian設定(MCP + REST API共通)
19
- ATLASSIAN_URL=https://your-domain.atlassian.net
20
- ATLASSIAN_EMAIL=your-email@company.com
21
- ATLASSIAN_API_TOKEN=your-token-here
22
-
23
- # GitHub設定
24
- GITHUB_ORG=your-org
25
- GITHUB_TOKEN=ghp_xxx
26
- GITHUB_REPO=sk8metalme/michi
27
-
28
- # Confluence共有スペース
29
- CONFLUENCE_PRD_SPACE=PRD
30
- CONFLUENCE_QA_SPACE=QA
31
- CONFLUENCE_RELEASE_SPACE=RELEASE
32
-
33
- # JIRAプロジェクトキー(カンマ区切り)
34
- JIRA_PROJECT_KEYS=MICHI,PRJA,PRJB
35
-
36
- # Slack通知用(オプション)
37
- SLACK_WEBHOOK_URL=https://hooks.slack.com/xxx
38
- EOF
39
-
40
- # セキュアなパーミッション設定(所有者のみ読み取り/書き込み可能)
41
- chmod 600 .env
42
-
43
- echo "✅ .env ファイルが作成されました"
44
- echo "✅ パーミッション 600 を設定しました(所有者のみ読み取り/書き込み可能)"
45
- echo ""
46
- echo "⚠️ 重要: .env ファイルをGitにコミットしないでください"
47
- echo " .gitignore で除外されていることを確認してください"
48
- echo ""
49
- echo "📝 次のステップ:"
50
- echo " 1. 実際の認証情報で .env の値を更新してください"
51
- echo " 2. セットアップ手順に従ってください"
52
-