@sk8metal/michi-cli 0.5.0 → 0.7.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 (278) hide show
  1. package/CHANGELOG.md +122 -1
  2. package/README.md +2 -1
  3. package/dist/scripts/config/config-schema.d.ts +35 -0
  4. package/dist/scripts/config/config-schema.d.ts.map +1 -1
  5. package/dist/scripts/config/config-schema.js +56 -0
  6. package/dist/scripts/config/config-schema.js.map +1 -1
  7. package/dist/scripts/confluence-sync.d.ts.map +1 -1
  8. package/dist/scripts/confluence-sync.js +15 -2
  9. package/dist/scripts/confluence-sync.js.map +1 -1
  10. package/dist/scripts/github-actions-client.d.ts +79 -0
  11. package/dist/scripts/github-actions-client.d.ts.map +1 -0
  12. package/dist/scripts/github-actions-client.js +182 -0
  13. package/dist/scripts/github-actions-client.js.map +1 -0
  14. package/dist/scripts/health-check-service.d.ts +46 -0
  15. package/dist/scripts/health-check-service.d.ts.map +1 -0
  16. package/dist/scripts/health-check-service.js +114 -0
  17. package/dist/scripts/health-check-service.js.map +1 -0
  18. package/dist/scripts/markdown-to-confluence.d.ts.map +1 -1
  19. package/dist/scripts/markdown-to-confluence.js +25 -3
  20. package/dist/scripts/markdown-to-confluence.js.map +1 -1
  21. package/dist/scripts/mermaid-converter.d.ts +24 -0
  22. package/dist/scripts/mermaid-converter.d.ts.map +1 -0
  23. package/dist/scripts/mermaid-converter.js +49 -0
  24. package/dist/scripts/mermaid-converter.js.map +1 -0
  25. package/dist/scripts/template/multi-repo-renderer.d.ts +67 -0
  26. package/dist/scripts/template/multi-repo-renderer.d.ts.map +1 -0
  27. package/dist/scripts/template/multi-repo-renderer.js +123 -0
  28. package/dist/scripts/template/multi-repo-renderer.js.map +1 -0
  29. package/dist/scripts/template/renderer.d.ts +4 -0
  30. package/dist/scripts/template/renderer.d.ts.map +1 -1
  31. package/dist/scripts/template/renderer.js.map +1 -1
  32. package/dist/scripts/test-execution-generator.d.ts.map +1 -1
  33. package/dist/scripts/test-execution-generator.js +94 -11
  34. package/dist/scripts/test-execution-generator.js.map +1 -1
  35. package/dist/scripts/test-script-runner.d.ts +33 -0
  36. package/dist/scripts/test-script-runner.d.ts.map +1 -0
  37. package/dist/scripts/test-script-runner.js +77 -0
  38. package/dist/scripts/test-script-runner.js.map +1 -0
  39. package/dist/scripts/utils/config-loader.d.ts +21 -1
  40. package/dist/scripts/utils/config-loader.d.ts.map +1 -1
  41. package/dist/scripts/utils/config-loader.js +149 -3
  42. package/dist/scripts/utils/config-loader.js.map +1 -1
  43. package/dist/scripts/utils/multi-repo-validator.d.ts +30 -0
  44. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -0
  45. package/dist/scripts/utils/multi-repo-validator.js +105 -0
  46. package/dist/scripts/utils/multi-repo-validator.js.map +1 -0
  47. package/dist/scripts/utils/spec-archiver.d.ts +38 -0
  48. package/dist/scripts/utils/spec-archiver.d.ts.map +1 -0
  49. package/dist/scripts/utils/spec-archiver.js +210 -0
  50. package/dist/scripts/utils/spec-archiver.js.map +1 -0
  51. package/dist/scripts/utils/spec-updater.d.ts +4 -0
  52. package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
  53. package/dist/scripts/utils/spec-updater.js.map +1 -1
  54. package/dist/src/cli.d.ts.map +1 -1
  55. package/dist/src/cli.js +262 -14
  56. package/dist/src/cli.js.map +1 -1
  57. package/dist/src/commands/multi-repo-add-repo.d.ts +26 -0
  58. package/dist/src/commands/multi-repo-add-repo.d.ts.map +1 -0
  59. package/dist/src/commands/multi-repo-add-repo.js +56 -0
  60. package/dist/src/commands/multi-repo-add-repo.js.map +1 -0
  61. package/dist/src/commands/multi-repo-ci-status.d.ts +46 -0
  62. package/dist/src/commands/multi-repo-ci-status.d.ts.map +1 -0
  63. package/dist/src/commands/multi-repo-ci-status.js +285 -0
  64. package/dist/src/commands/multi-repo-ci-status.js.map +1 -0
  65. package/dist/src/commands/multi-repo-confluence-sync.d.ts +45 -0
  66. package/dist/src/commands/multi-repo-confluence-sync.d.ts.map +1 -0
  67. package/dist/src/commands/multi-repo-confluence-sync.js +135 -0
  68. package/dist/src/commands/multi-repo-confluence-sync.js.map +1 -0
  69. package/dist/src/commands/multi-repo-init.d.ts +26 -0
  70. package/dist/src/commands/multi-repo-init.d.ts.map +1 -0
  71. package/dist/src/commands/multi-repo-init.js +101 -0
  72. package/dist/src/commands/multi-repo-init.js.map +1 -0
  73. package/dist/src/commands/multi-repo-list.d.ts +28 -0
  74. package/dist/src/commands/multi-repo-list.d.ts.map +1 -0
  75. package/dist/src/commands/multi-repo-list.js +38 -0
  76. package/dist/src/commands/multi-repo-list.js.map +1 -0
  77. package/dist/src/commands/multi-repo-test.d.ts +56 -0
  78. package/dist/src/commands/multi-repo-test.d.ts.map +1 -0
  79. package/dist/src/commands/multi-repo-test.js +70 -0
  80. package/dist/src/commands/multi-repo-test.js.map +1 -0
  81. package/dist/src/commands/spec-archive.d.ts +17 -0
  82. package/dist/src/commands/spec-archive.d.ts.map +1 -0
  83. package/dist/src/commands/spec-archive.js +40 -0
  84. package/dist/src/commands/spec-archive.js.map +1 -0
  85. package/dist/src/commands/spec-list.d.ts +15 -0
  86. package/dist/src/commands/spec-list.d.ts.map +1 -0
  87. package/dist/src/commands/spec-list.js +55 -0
  88. package/dist/src/commands/spec-list.js.map +1 -0
  89. package/docs/user-guide/guides/multi-repo-guide.md +591 -0
  90. package/docs/user-guide/guides/multi-repo-migration-guide.md +516 -0
  91. package/docs/user-guide/reference/multi-repo-api.md +771 -0
  92. package/docs/user-guide/reference/quick-reference.md +22 -37
  93. package/package.json +1 -4
  94. package/scripts/__tests__/config-loader-multi-repo.test.ts +342 -0
  95. package/scripts/__tests__/github-actions-client.test.ts +543 -0
  96. package/scripts/__tests__/health-check-service.test.ts +142 -0
  97. package/scripts/__tests__/markdown-to-confluence.test.ts +262 -0
  98. package/scripts/__tests__/mermaid-converter.test.ts +236 -0
  99. package/scripts/__tests__/multi-repo-config-schema.test.ts +335 -0
  100. package/scripts/__tests__/multi-repo-validator.test.ts +524 -0
  101. package/scripts/__tests__/spec-archiver.test.ts +512 -0
  102. package/scripts/__tests__/test-script-runner.test.ts +217 -0
  103. package/scripts/config/config-schema.ts +64 -0
  104. package/scripts/confluence-sync.ts +16 -2
  105. package/scripts/github-actions-client.ts +258 -0
  106. package/scripts/health-check-service.ts +171 -0
  107. package/scripts/markdown-to-confluence.ts +37 -6
  108. package/scripts/mermaid-converter.ts +56 -0
  109. package/scripts/template/__tests__/multi-repo-renderer.test.ts +261 -0
  110. package/scripts/template/multi-repo-renderer.ts +172 -0
  111. package/scripts/template/renderer.ts +5 -0
  112. package/scripts/test-execution-generator.ts +104 -11
  113. package/scripts/test-script-runner.ts +130 -0
  114. package/scripts/utils/__tests__/config-validator.test.ts +104 -6
  115. package/scripts/utils/__tests__/multi-repo-validator.test.ts +335 -0
  116. package/scripts/utils/config-loader.ts +197 -3
  117. package/scripts/utils/multi-repo-validator.ts +141 -0
  118. package/scripts/utils/spec-archiver.ts +260 -0
  119. package/scripts/utils/spec-updater.ts +4 -0
  120. package/templates/claude/agents/pr-size-monitor/AGENT.md +330 -0
  121. package/templates/claude/commands/michi/spec-impl.md +208 -35
  122. package/templates/multi-repo/docs/ci-status.md +51 -0
  123. package/templates/multi-repo/docs/release-notes.md +99 -0
  124. package/templates/multi-repo/overview/architecture.md +102 -0
  125. package/templates/multi-repo/overview/requirements.md +68 -0
  126. package/templates/multi-repo/overview/sequence.md +79 -0
  127. package/templates/multi-repo/steering/multi-repo.md +74 -0
  128. package/templates/multi-repo/tests/strategy.md +89 -0
  129. package/dist/scripts/__tests__/create-project.test.d.ts +0 -2
  130. package/dist/scripts/__tests__/create-project.test.d.ts.map +0 -1
  131. package/dist/scripts/__tests__/create-project.test.js +0 -243
  132. package/dist/scripts/__tests__/create-project.test.js.map +0 -1
  133. package/dist/scripts/__tests__/jira-transitions.test.d.ts +0 -5
  134. package/dist/scripts/__tests__/jira-transitions.test.d.ts.map +0 -1
  135. package/dist/scripts/__tests__/jira-transitions.test.js +0 -172
  136. package/dist/scripts/__tests__/jira-transitions.test.js.map +0 -1
  137. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts +0 -2
  138. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts.map +0 -1
  139. package/dist/scripts/__tests__/multi-project-estimate.test.js +0 -118
  140. package/dist/scripts/__tests__/multi-project-estimate.test.js.map +0 -1
  141. package/dist/scripts/__tests__/setup-existing-project.test.d.ts +0 -2
  142. package/dist/scripts/__tests__/setup-existing-project.test.d.ts.map +0 -1
  143. package/dist/scripts/__tests__/setup-existing-project.test.js +0 -208
  144. package/dist/scripts/__tests__/setup-existing-project.test.js.map +0 -1
  145. package/dist/scripts/__tests__/setup-interactive.test.d.ts +0 -2
  146. package/dist/scripts/__tests__/setup-interactive.test.d.ts.map +0 -1
  147. package/dist/scripts/__tests__/setup-interactive.test.js +0 -166
  148. package/dist/scripts/__tests__/setup-interactive.test.js.map +0 -1
  149. package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts +0 -5
  150. package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts.map +0 -1
  151. package/dist/scripts/__tests__/spec-impl-workflow.test.js +0 -323
  152. package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +0 -1
  153. package/dist/scripts/__tests__/spec-loader.test.d.ts +0 -5
  154. package/dist/scripts/__tests__/spec-loader.test.d.ts.map +0 -1
  155. package/dist/scripts/__tests__/spec-loader.test.js +0 -153
  156. package/dist/scripts/__tests__/spec-loader.test.js.map +0 -1
  157. package/dist/scripts/__tests__/validate-phase.test.d.ts +0 -5
  158. package/dist/scripts/__tests__/validate-phase.test.d.ts.map +0 -1
  159. package/dist/scripts/__tests__/validate-phase.test.js +0 -249
  160. package/dist/scripts/__tests__/validate-phase.test.js.map +0 -1
  161. package/dist/scripts/constants/__tests__/environments.test.d.ts +0 -2
  162. package/dist/scripts/constants/__tests__/environments.test.d.ts.map +0 -1
  163. package/dist/scripts/constants/__tests__/environments.test.js +0 -125
  164. package/dist/scripts/constants/__tests__/environments.test.js.map +0 -1
  165. package/dist/scripts/constants/__tests__/languages.test.d.ts +0 -2
  166. package/dist/scripts/constants/__tests__/languages.test.d.ts.map +0 -1
  167. package/dist/scripts/constants/__tests__/languages.test.js +0 -82
  168. package/dist/scripts/constants/__tests__/languages.test.js.map +0 -1
  169. package/dist/scripts/create-project.d.ts +0 -16
  170. package/dist/scripts/create-project.d.ts.map +0 -1
  171. package/dist/scripts/create-project.js +0 -334
  172. package/dist/scripts/create-project.js.map +0 -1
  173. package/dist/scripts/list-projects.d.ts +0 -7
  174. package/dist/scripts/list-projects.d.ts.map +0 -1
  175. package/dist/scripts/list-projects.js +0 -88
  176. package/dist/scripts/list-projects.js.map +0 -1
  177. package/dist/scripts/template/__tests__/renderer.test.d.ts +0 -2
  178. package/dist/scripts/template/__tests__/renderer.test.d.ts.map +0 -1
  179. package/dist/scripts/template/__tests__/renderer.test.js +0 -165
  180. package/dist/scripts/template/__tests__/renderer.test.js.map +0 -1
  181. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts +0 -5
  182. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts.map +0 -1
  183. package/dist/scripts/utils/__tests__/aidlc-parser.test.js +0 -315
  184. package/dist/scripts/utils/__tests__/aidlc-parser.test.js.map +0 -1
  185. package/dist/scripts/utils/__tests__/business-days.test.d.ts +0 -5
  186. package/dist/scripts/utils/__tests__/business-days.test.d.ts.map +0 -1
  187. package/dist/scripts/utils/__tests__/business-days.test.js +0 -171
  188. package/dist/scripts/utils/__tests__/business-days.test.js.map +0 -1
  189. package/dist/scripts/utils/__tests__/config-loader.test.d.ts +0 -5
  190. package/dist/scripts/utils/__tests__/config-loader.test.d.ts.map +0 -1
  191. package/dist/scripts/utils/__tests__/config-loader.test.js +0 -314
  192. package/dist/scripts/utils/__tests__/config-loader.test.js.map +0 -1
  193. package/dist/scripts/utils/__tests__/config-validator.test.d.ts +0 -5
  194. package/dist/scripts/utils/__tests__/config-validator.test.d.ts.map +0 -1
  195. package/dist/scripts/utils/__tests__/config-validator.test.js +0 -396
  196. package/dist/scripts/utils/__tests__/config-validator.test.js.map +0 -1
  197. package/dist/scripts/utils/__tests__/env-config.test.d.ts +0 -5
  198. package/dist/scripts/utils/__tests__/env-config.test.d.ts.map +0 -1
  199. package/dist/scripts/utils/__tests__/env-config.test.js +0 -216
  200. package/dist/scripts/utils/__tests__/env-config.test.js.map +0 -1
  201. package/dist/scripts/utils/__tests__/feature-name-validator.test.d.ts +0 -5
  202. package/dist/scripts/utils/__tests__/feature-name-validator.test.d.ts.map +0 -1
  203. package/dist/scripts/utils/__tests__/feature-name-validator.test.js +0 -106
  204. package/dist/scripts/utils/__tests__/feature-name-validator.test.js.map +0 -1
  205. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts +0 -5
  206. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts.map +0 -1
  207. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js +0 -202
  208. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js.map +0 -1
  209. package/dist/scripts/utils/__tests__/project-meta.test.d.ts +0 -6
  210. package/dist/scripts/utils/__tests__/project-meta.test.d.ts.map +0 -1
  211. package/dist/scripts/utils/__tests__/project-meta.test.js +0 -154
  212. package/dist/scripts/utils/__tests__/project-meta.test.js.map +0 -1
  213. package/dist/scripts/utils/__tests__/security-validator.test.d.ts +0 -6
  214. package/dist/scripts/utils/__tests__/security-validator.test.d.ts.map +0 -1
  215. package/dist/scripts/utils/__tests__/security-validator.test.js +0 -219
  216. package/dist/scripts/utils/__tests__/security-validator.test.js.map +0 -1
  217. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts +0 -5
  218. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts.map +0 -1
  219. package/dist/scripts/utils/__tests__/spec-updater.test.js +0 -158
  220. package/dist/scripts/utils/__tests__/spec-updater.test.js.map +0 -1
  221. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts +0 -5
  222. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts.map +0 -1
  223. package/dist/scripts/utils/__tests__/tasks-converter.test.js +0 -500
  224. package/dist/scripts/utils/__tests__/tasks-converter.test.js.map +0 -1
  225. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts +0 -5
  226. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts.map +0 -1
  227. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js +0 -314
  228. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js.map +0 -1
  229. package/dist/scripts/utils/__tests__/test-runner.test.d.ts +0 -5
  230. package/dist/scripts/utils/__tests__/test-runner.test.d.ts.map +0 -1
  231. package/dist/scripts/utils/__tests__/test-runner.test.js +0 -64
  232. package/dist/scripts/utils/__tests__/test-runner.test.js.map +0 -1
  233. package/dist/src/__tests__/cli.test.d.ts +0 -5
  234. package/dist/src/__tests__/cli.test.d.ts.map +0 -1
  235. package/dist/src/__tests__/cli.test.js +0 -58
  236. package/dist/src/__tests__/cli.test.js.map +0 -1
  237. package/dist/src/__tests__/integration/internationalization.test.d.ts +0 -8
  238. package/dist/src/__tests__/integration/internationalization.test.d.ts.map +0 -1
  239. package/dist/src/__tests__/integration/internationalization.test.js +0 -333
  240. package/dist/src/__tests__/integration/internationalization.test.js.map +0 -1
  241. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +0 -5
  242. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +0 -1
  243. package/dist/src/__tests__/integration/setup/claude-agent.test.js +0 -122
  244. package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +0 -1
  245. package/dist/src/__tests__/integration/setup/claude.test.d.ts +0 -5
  246. package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +0 -1
  247. package/dist/src/__tests__/integration/setup/claude.test.js +0 -193
  248. package/dist/src/__tests__/integration/setup/claude.test.js.map +0 -1
  249. package/dist/src/__tests__/integration/setup/cursor.test.d.ts +0 -5
  250. package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +0 -1
  251. package/dist/src/__tests__/integration/setup/cursor.test.js +0 -166
  252. package/dist/src/__tests__/integration/setup/cursor.test.js.map +0 -1
  253. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +0 -32
  254. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +0 -1
  255. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +0 -72
  256. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +0 -1
  257. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +0 -38
  258. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +0 -1
  259. package/dist/src/__tests__/integration/setup/helpers/test-project.js +0 -83
  260. package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +0 -1
  261. package/dist/src/__tests__/integration/setup/init.test.d.ts +0 -5
  262. package/dist/src/__tests__/integration/setup/init.test.d.ts.map +0 -1
  263. package/dist/src/__tests__/integration/setup/init.test.js +0 -352
  264. package/dist/src/__tests__/integration/setup/init.test.js.map +0 -1
  265. package/dist/src/__tests__/integration/setup/validation.test.d.ts +0 -5
  266. package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +0 -1
  267. package/dist/src/__tests__/integration/setup/validation.test.js +0 -301
  268. package/dist/src/__tests__/integration/setup/validation.test.js.map +0 -1
  269. package/dist/src/commands/__tests__/init.test.d.ts +0 -5
  270. package/dist/src/commands/__tests__/init.test.d.ts.map +0 -1
  271. package/dist/src/commands/__tests__/init.test.js +0 -255
  272. package/dist/src/commands/__tests__/init.test.js.map +0 -1
  273. package/dist/src/commands/__tests__/migrate.test.d.ts +0 -5
  274. package/dist/src/commands/__tests__/migrate.test.d.ts.map +0 -1
  275. package/dist/src/commands/__tests__/migrate.test.js +0 -216
  276. package/dist/src/commands/__tests__/migrate.test.js.map +0 -1
  277. package/scripts/create-project.ts +0 -386
  278. package/scripts/list-projects.ts +0 -112
@@ -0,0 +1,79 @@
1
+ # {{PROJECT_NAME}} - シーケンス図
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## 主要フローのシーケンス図
11
+
12
+ ### ユーザー登録フロー
13
+
14
+ ```mermaid
15
+ sequenceDiagram
16
+ participant U as ユーザー
17
+ participant F as フロントエンド
18
+ participant B as バックエンド
19
+ participant DB as データベース
20
+
21
+ U->>F: 登録情報を入力
22
+ F->>B: POST /api/users
23
+ B->>DB: ユーザー情報を保存
24
+ DB-->>B: 保存成功
25
+ B-->>F: ユーザーID返却
26
+ F-->>U: 登録完了メッセージ表示
27
+ ```
28
+
29
+ <!-- ユーザー登録フローを更新してください -->
30
+
31
+ ### データ取得フロー
32
+
33
+ ```mermaid
34
+ sequenceDiagram
35
+ participant U as ユーザー
36
+ participant F as フロントエンド
37
+ participant B as バックエンド
38
+ participant DB as データベース
39
+ participant C as キャッシュ
40
+
41
+ U->>F: データリクエスト
42
+ F->>B: GET /api/data
43
+ B->>C: キャッシュ確認
44
+ alt キャッシュヒット
45
+ C-->>B: キャッシュデータ返却
46
+ else キャッシュミス
47
+ B->>DB: データクエリ
48
+ DB-->>B: データ返却
49
+ B->>C: キャッシュ保存
50
+ end
51
+ B-->>F: データ返却
52
+ F-->>U: データ表示
53
+ ```
54
+
55
+ <!-- データ取得フローを更新してください -->
56
+
57
+ ### エラーハンドリングフロー
58
+
59
+ ```mermaid
60
+ sequenceDiagram
61
+ participant U as ユーザー
62
+ participant F as フロントエンド
63
+ participant B as バックエンド
64
+ participant L as ログサービス
65
+
66
+ U->>F: リクエスト送信
67
+ F->>B: API呼び出し
68
+ B-->>F: エラーレスポンス(500)
69
+ F->>L: エラーログ記録
70
+ F-->>U: エラーメッセージ表示
71
+ ```
72
+
73
+ <!-- エラーハンドリングフローを更新してください -->
74
+
75
+ ## 変更履歴
76
+
77
+ | 日付 | バージョン | 変更内容 | 担当者 |
78
+ |------|-----------|---------|--------|
79
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -0,0 +1,74 @@
1
+ # {{PROJECT_NAME}} - Multi-Repo プロジェクトステアリング
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## Multi-Repo 開発ガイドライン
11
+
12
+ ### リポジトリ管理方針
13
+
14
+ <!-- リポジトリ管理方針を記述してください -->
15
+
16
+ #### ブランチ戦略
17
+
18
+ - **main/master**: 本番環境相当(常にデプロイ可能な状態)
19
+ - **develop**: 開発環境(次回リリース予定の機能を統合)
20
+ - **feature/**: 機能開発用
21
+ - **bugfix/**: バグ修正用
22
+ - **hotfix/**: 緊急修正用
23
+
24
+ #### コミットメッセージ規約
25
+
26
+ - `feat:` 新機能
27
+ - `fix:` バグ修正
28
+ - `docs:` ドキュメント
29
+ - `style:` フォーマット
30
+ - `refactor:` リファクタリング
31
+ - `test:` テスト
32
+ - `chore:` その他
33
+
34
+ ### CI/CD パイプライン
35
+
36
+ #### Phase A: PR作成前の自動テスト
37
+
38
+ - 単体テスト実行
39
+ - Lint実行
40
+ - ビルド実行
41
+
42
+ #### Phase B: リリース準備テスト
43
+
44
+ - 統合テスト実行
45
+ - E2Eテスト実行
46
+ - パフォーマンステスト実行
47
+ - セキュリティテスト実行
48
+
49
+ ### コードレビュー基準
50
+
51
+ <!-- コードレビュー基準を記述してください -->
52
+
53
+ ### テスト戦略
54
+
55
+ <!-- テスト戦略を記述してください -->
56
+
57
+ ### セキュリティポリシー
58
+
59
+ <!-- セキュリティポリシーを記述してください -->
60
+
61
+ ### パフォーマンス要件
62
+
63
+ <!-- パフォーマンス要件を記述してください -->
64
+
65
+ ## リポジトリ一覧
66
+
67
+ <!-- このプロジェクトに属するリポジトリを記述してください -->
68
+ <!-- multi-repo:add-repo コマンドでリポジトリを追加できます -->
69
+
70
+ ## 変更履歴
71
+
72
+ | 日付 | バージョン | 変更内容 | 担当者 |
73
+ |------|-----------|---------|--------|
74
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -0,0 +1,89 @@
1
+ # {{PROJECT_NAME}} - テスト戦略
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## テスト戦略概要
11
+
12
+ このドキュメントは、{{PROJECT_NAME}}プロジェクトのテスト戦略を定義します。
13
+
14
+ ## テストタイプ
15
+
16
+ ### 単体テスト (Unit Test)
17
+
18
+ - **実行タイミング**: PR作成前(Phase A)
19
+ - **カバレッジ目標**: 95%以上
20
+ - **実行コマンド**: `npm test`
21
+ - **テストフレームワーク**: <!-- テストフレームワークを記述 -->
22
+
23
+ ### 統合テスト (Integration Test)
24
+
25
+ - **実行タイミング**: リリース準備時(Phase B)
26
+ - **カバレッジ目標**: 主要フローのカバー
27
+ - **実行コマンド**: `npm run test:integration`
28
+ - **テスト対象**: <!-- テスト対象を記述 -->
29
+
30
+ ### E2Eテスト (End-to-End Test)
31
+
32
+ - **実行タイミング**: リリース準備時(Phase B)
33
+ - **カバレッジ目標**: クリティカルユーザーフロー
34
+ - **実行コマンド**: `npm run test:e2e`
35
+ - **テストツール**: <!-- テストツールを記述 -->
36
+
37
+ ### パフォーマンステスト (Performance Test)
38
+
39
+ - **実行タイミング**: リリース準備時(Phase B)
40
+ - **目標**: <!-- パフォーマンス目標を記述 -->
41
+ - **実行コマンド**: `npm run test:performance`
42
+ - **測定項目**: レスポンスタイム、スループット、リソース使用量
43
+
44
+ ### セキュリティテスト (Security Test)
45
+
46
+ - **実行タイミング**: リリース準備時(Phase B)
47
+ - **テスト項目**:
48
+ - パストラバーサル攻撃
49
+ - 制御文字インジェクション
50
+ - コマンドインジェクション
51
+ - SQLインジェクション
52
+ - XSS攻撃
53
+ - **実行コマンド**: `npm run test:security`
54
+
55
+ ## Phase A: PR前自動テスト
56
+
57
+ PR作成前に自動実行されるテスト:
58
+
59
+ - [ ] 単体テスト
60
+ - [ ] Lint
61
+ - [ ] 型チェック
62
+ - [ ] ビルド
63
+
64
+ ## Phase B: リリース準備テスト
65
+
66
+ リリース前に手動実行するテスト:
67
+
68
+ - [ ] 統合テスト
69
+ - [ ] E2Eテスト
70
+ - [ ] パフォーマンステスト
71
+ - [ ] セキュリティテスト
72
+
73
+ ## テストデータ管理
74
+
75
+ <!-- テストデータ管理方針を記述してください -->
76
+
77
+ ## テスト環境
78
+
79
+ <!-- テスト環境を記述してください -->
80
+
81
+ ## 継続的改善
82
+
83
+ <!-- 継続的改善方針を記述してください -->
84
+
85
+ ## 変更履歴
86
+
87
+ | 日付 | バージョン | 変更内容 | 担当者 |
88
+ |------|-----------|---------|--------|
89
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=create-project.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-project.test.d.ts","sourceRoot":"","sources":["../../../scripts/__tests__/create-project.test.ts"],"names":[],"mappings":""}
@@ -1,243 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
- import { execSync } from 'child_process';
3
- import { join } from 'path';
4
- // モジュールのモック
5
- vi.mock('child_process');
6
- vi.mock('fs', () => ({
7
- existsSync: vi.fn(() => true),
8
- mkdirSync: vi.fn(),
9
- cpSync: vi.fn(),
10
- writeFileSync: vi.fn(),
11
- }));
12
- vi.mock('dotenv', () => ({ config: vi.fn() }));
13
- describe('create-project.ts パス問題', () => {
14
- beforeEach(() => {
15
- vi.clearAllMocks();
16
- });
17
- it('.cursor, .kiro, scripts が actualProjectDir にコピーされる', () => {
18
- const projectDir = '/test/repo';
19
- const actualProjectDir = '/test/repo/projects/test-project';
20
- // .cursor/rules のコピー先パスを検証
21
- const cursorRulesPath = join(actualProjectDir, '.cursor/rules', 'test.mdc');
22
- expect(cursorRulesPath).toContain('projects/test-project/.cursor/rules');
23
- expect(cursorRulesPath).not.toContain(join(projectDir, '.cursor'));
24
- // .cursor/commands のコピー先パスを検証
25
- const cursorCommandsPath = join(actualProjectDir, '.cursor/commands/kiro', 'test.md');
26
- expect(cursorCommandsPath).toContain('projects/test-project/.cursor/commands');
27
- // .kiro/steering のコピー先パスを検証
28
- const kiroSteeringPath = join(actualProjectDir, '.kiro/steering');
29
- expect(kiroSteeringPath).toContain('projects/test-project/.kiro/steering');
30
- // scripts のコピー先パスを検証
31
- const scriptsPath = join(actualProjectDir, 'scripts', 'test.ts');
32
- expect(scriptsPath).toContain('projects/test-project/scripts');
33
- });
34
- it('package.json と tsconfig.json は projectDir (リポジトリルート) にコピーされる', () => {
35
- const projectDir = '/test/repo';
36
- // package.json はリポジトリルート
37
- const packageJsonPath = join(projectDir, 'package.json');
38
- expect(packageJsonPath).toBe('/test/repo/package.json');
39
- expect(packageJsonPath).not.toContain('projects/test-project');
40
- // tsconfig.json もリポジトリルート
41
- const tsconfigPath = join(projectDir, 'tsconfig.json');
42
- expect(tsconfigPath).toBe('/test/repo/tsconfig.json');
43
- expect(tsconfigPath).not.toContain('projects/test-project');
44
- });
45
- it('ディレクトリ作成が actualProjectDir 配下で行われる', () => {
46
- const actualProjectDir = '/test/repo/projects/test-project';
47
- const directories = [
48
- join(actualProjectDir, '.cursor/rules'),
49
- join(actualProjectDir, '.cursor/commands/kiro'),
50
- join(actualProjectDir, '.kiro/steering'),
51
- join(actualProjectDir, '.kiro/settings/templates'),
52
- join(actualProjectDir, 'scripts/utils'),
53
- ];
54
- // すべてのディレクトリが actualProjectDir 配下にあることを確認
55
- directories.forEach((dir) => {
56
- expect(dir).toContain('projects/test-project');
57
- expect(dir.startsWith(actualProjectDir)).toBe(true);
58
- });
59
- });
60
- });
61
- describe('create-project.ts jj/git 依存性', () => {
62
- let mockExecSync;
63
- beforeEach(() => {
64
- vi.clearAllMocks();
65
- mockExecSync = vi.mocked(execSync);
66
- });
67
- afterEach(() => {
68
- vi.restoreAllMocks();
69
- });
70
- it('jj が利用可能な場合は jj を使用する', () => {
71
- // jj --version が成功(文字列を返す)
72
- mockExecSync.mockImplementationOnce((command) => {
73
- if (command === 'jj --version') {
74
- return 'jj 0.15.0';
75
- }
76
- throw new Error('Unexpected command');
77
- });
78
- // checkDependencies のロジックを再現
79
- const checkDeps = () => {
80
- try {
81
- const jjVersion = execSync('jj --version', {
82
- encoding: 'utf-8',
83
- stdio: ['pipe', 'pipe', 'pipe'],
84
- }).trim();
85
- return { vcs: 'jj', version: jjVersion };
86
- }
87
- catch {
88
- return { vcs: 'git', version: 'fallback' };
89
- }
90
- };
91
- const result = checkDeps();
92
- expect(result.vcs).toBe('jj');
93
- expect(mockExecSync).toHaveBeenCalledWith('jj --version', expect.objectContaining({ encoding: 'utf-8' }));
94
- });
95
- it('jj 未インストール時は git にフォールバックする', () => {
96
- // jj --version が失敗、git --version が成功
97
- mockExecSync.mockImplementation((command) => {
98
- if (command === 'jj --version') {
99
- throw new Error('jj not found');
100
- }
101
- if (command === 'git --version') {
102
- return 'git version 2.40.0';
103
- }
104
- throw new Error('Unexpected command');
105
- });
106
- // checkDependencies のロジックを再現
107
- const checkDeps = () => {
108
- try {
109
- const jjVersion = execSync('jj --version', {
110
- encoding: 'utf-8',
111
- stdio: ['pipe', 'pipe', 'pipe'],
112
- }).trim();
113
- return { vcs: 'jj', version: jjVersion };
114
- }
115
- catch {
116
- try {
117
- const gitVersion = execSync('git --version', {
118
- encoding: 'utf-8',
119
- stdio: ['pipe', 'pipe', 'pipe'],
120
- }).trim();
121
- return { vcs: 'git', version: gitVersion };
122
- }
123
- catch {
124
- throw new Error('Neither jj nor git is installed');
125
- }
126
- }
127
- };
128
- const result = checkDeps();
129
- expect(result.vcs).toBe('git');
130
- expect(mockExecSync).toHaveBeenCalledTimes(2);
131
- expect(mockExecSync).toHaveBeenNthCalledWith(1, 'jj --version', expect.anything());
132
- expect(mockExecSync).toHaveBeenNthCalledWith(2, 'git --version', expect.anything());
133
- });
134
- it('jj も git も未インストール時はエラーを投げる', () => {
135
- // 両方とも失敗
136
- mockExecSync.mockImplementation(() => {
137
- throw new Error('command not found');
138
- });
139
- // checkDependencies のロジックを再現
140
- const checkDeps = () => {
141
- try {
142
- const jjVersion = execSync('jj --version', {
143
- encoding: 'utf-8',
144
- stdio: ['pipe', 'pipe', 'pipe'],
145
- }).trim();
146
- return { vcs: 'jj', version: jjVersion };
147
- }
148
- catch {
149
- try {
150
- const gitVersion = execSync('git --version', {
151
- encoding: 'utf-8',
152
- stdio: ['pipe', 'pipe', 'pipe'],
153
- }).trim();
154
- return { vcs: 'git', version: gitVersion };
155
- }
156
- catch {
157
- throw new Error('Neither jj nor git is installed');
158
- }
159
- }
160
- };
161
- expect(() => checkDeps()).toThrow('Neither jj nor git is installed');
162
- });
163
- it('clone コマンドが VCS に応じて切り替わる', () => {
164
- const repoUrl = 'https://github.com/org/repo';
165
- const projectDir = '/test/repo';
166
- // jj の場合
167
- const jjDeps = {
168
- vcs: 'jj',
169
- version: 'jj 0.15.0',
170
- };
171
- const jjCommand = jjDeps.vcs === 'jj'
172
- ? `jj git clone ${repoUrl} ${projectDir}`
173
- : `git clone ${repoUrl} ${projectDir}`;
174
- expect(jjCommand).toBe(`jj git clone ${repoUrl} ${projectDir}`);
175
- // git の場合
176
- const gitDeps = {
177
- vcs: 'git',
178
- version: 'git version 2.40',
179
- };
180
- const gitCommand = gitDeps.vcs === 'jj'
181
- ? `jj git clone ${repoUrl} ${projectDir}`
182
- : `git clone ${repoUrl} ${projectDir}`;
183
- expect(gitCommand).toBe(`git clone ${repoUrl} ${projectDir}`);
184
- });
185
- it('commit コマンドが VCS に応じて切り替わる', () => {
186
- const message = 'chore: initial commit';
187
- // jj の場合のコマンド群
188
- const jjDeps = { vcs: 'jj' };
189
- const jjCommands = jjDeps.vcs === 'jj'
190
- ? [`jj commit -m "${message}"`, 'jj bookmark create main -r "@-"']
191
- : ['git add .', `git commit -m "${message}"`, 'git branch -M main'];
192
- expect(jjCommands).toContain('jj commit -m "chore: initial commit"');
193
- expect(jjCommands).toContain('jj bookmark create main -r "@-"');
194
- // git の場合のコマンド群
195
- const gitDeps = { vcs: 'git' };
196
- const gitCommands = gitDeps.vcs === 'jj'
197
- ? [`jj commit -m "${message}"`, 'jj bookmark create main -r "@-"']
198
- : ['git add .', `git commit -m "${message}"`, 'git branch -M main'];
199
- expect(gitCommands).toContain('git add .');
200
- expect(gitCommands).toContain('git commit -m "chore: initial commit"');
201
- expect(gitCommands).toContain('git branch -M main');
202
- });
203
- });
204
- describe('create-project.ts .env作成時のcwd修正', () => {
205
- let mockExecSync;
206
- beforeEach(() => {
207
- vi.clearAllMocks();
208
- mockExecSync = vi.mocked(execSync);
209
- });
210
- afterEach(() => {
211
- vi.restoreAllMocks();
212
- });
213
- it('.env作成時に actualProjectDir を cwd として使用する', () => {
214
- const projectDir = '/test/repo';
215
- const actualProjectDir = '/test/repo/projects/test-project';
216
- // execSync の呼び出しをモック
217
- mockExecSync.mockImplementation((command, options) => {
218
- if (command === 'npm run setup:env') {
219
- // cwd が actualProjectDir であることを確認
220
- expect(options?.cwd).toBe(actualProjectDir);
221
- expect(options?.cwd).not.toBe(projectDir);
222
- return Buffer.from('');
223
- }
224
- return Buffer.from('');
225
- });
226
- // .env作成のロジックを再現
227
- execSync('npm run setup:env', { cwd: actualProjectDir, stdio: 'inherit' });
228
- expect(mockExecSync).toHaveBeenCalledWith('npm run setup:env', expect.objectContaining({ cwd: actualProjectDir }));
229
- });
230
- it('.env が actualProjectDir に作成される(projectDir ではない)', () => {
231
- const projectDir = '/test/repo';
232
- const actualProjectDir = '/test/repo/projects/test-project';
233
- // .env のパスを検証
234
- const envPathInProjectDir = join(projectDir, '.env');
235
- const envPathInActualProjectDir = join(actualProjectDir, '.env');
236
- // .env は actualProjectDir に作成されるべき
237
- expect(envPathInActualProjectDir).toContain('projects/test-project/.env');
238
- expect(envPathInActualProjectDir).not.toBe(envPathInProjectDir);
239
- expect(envPathInProjectDir).toBe('/test/repo/.env');
240
- expect(envPathInActualProjectDir).toBe('/test/repo/projects/test-project/.env');
241
- });
242
- });
243
- //# sourceMappingURL=create-project.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-project.test.js","sourceRoot":"","sources":["../../../scripts/__tests__/create-project.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * JIRAClient transitionIssue() と addComment() のテスト
3
- */
4
- export {};
5
- //# sourceMappingURL=jira-transitions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jira-transitions.test.d.ts","sourceRoot":"","sources":["../../../scripts/__tests__/jira-transitions.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}