@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,123 @@
1
+ /**
2
+ * Multi-Repo template renderer
3
+ *
4
+ * Provides template rendering functionality for Multi-Repo projects
5
+ */
6
+ import { readFileSync } from 'fs';
7
+ import { resolve, relative, isAbsolute } from 'path';
8
+ import { renderTemplate } from './renderer.js';
9
+ /**
10
+ * Create Multi-Repo template context
11
+ *
12
+ * @param projectName - Project name
13
+ * @param jiraKey - JIRA project key
14
+ * @param confluenceSpace - Confluence space key
15
+ * @param createdAt - Created timestamp (ISO 8601 format)
16
+ * @returns Multi-Repo template context
17
+ */
18
+ export const createMultiRepoTemplateContext = (projectName, jiraKey, confluenceSpace, createdAt) => ({
19
+ PROJECT_NAME: projectName,
20
+ JIRA_KEY: jiraKey,
21
+ CONFLUENCE_SPACE: confluenceSpace,
22
+ CREATED_AT: createdAt || new Date().toISOString(),
23
+ });
24
+ /**
25
+ * Load Multi-Repo template file
26
+ *
27
+ * Security: Path traversal prevention with three-layer validation:
28
+ * 1. Validate template name (no path separators)
29
+ * 2. Resolve absolute paths
30
+ * 3. Verify path containment
31
+ *
32
+ * @param templateName - Template name (e.g., "overview/requirements", "steering/multi-repo")
33
+ * @param projectRoot - Project root directory
34
+ * @returns Template content
35
+ * @throws {Error} If template file not found or path traversal detected
36
+ */
37
+ export const loadMultiRepoTemplate = (templateName, projectRoot = process.cwd()) => {
38
+ // Security Layer 1: Validate template name
39
+ // Reject path traversal characters (../, ..\, absolute paths)
40
+ if (templateName.includes('..') || templateName.includes('\\')) {
41
+ throw new Error(`Invalid template name: ${templateName}\n` +
42
+ 'Template name must not contain path traversal characters (\\, ..)');
43
+ }
44
+ // Security Layer 2: Resolve absolute paths
45
+ const templateDir = resolve(projectRoot, 'templates', 'multi-repo');
46
+ const templatePath = resolve(templateDir, `${templateName}.md`);
47
+ // Security Layer 3: Verify path containment
48
+ const relativePath = relative(templateDir, templatePath);
49
+ if (relativePath.startsWith('..') || isAbsolute(relativePath)) {
50
+ throw new Error(`Invalid template path: ${templateName}\n` +
51
+ `Template path is outside template directory: ${templateDir}`);
52
+ }
53
+ try {
54
+ return readFileSync(templatePath, 'utf-8');
55
+ }
56
+ catch (error) {
57
+ const errorMessage = error instanceof Error ? error.message : String(error);
58
+ throw new Error(`Multi-Repo template not found: ${templateName}.md\n` +
59
+ `Path: ${templatePath}\n` +
60
+ `Error: ${errorMessage}`);
61
+ }
62
+ };
63
+ /**
64
+ * Render Multi-Repo template with placeholder replacement
65
+ *
66
+ * @param template - Template string
67
+ * @param context - Multi-Repo template context
68
+ * @returns Rendered template string
69
+ */
70
+ export const renderMultiRepoTemplate = (template, context) => {
71
+ // Convert MultiRepoTemplateContext to TemplateContext
72
+ const templateContext = {
73
+ LANG_CODE: 'ja', // Default language
74
+ DEV_GUIDELINES: '', // Not used for Multi-Repo templates
75
+ KIRO_DIR: '.kiro',
76
+ AGENT_DIR: '.claude',
77
+ PROJECT_NAME: context.PROJECT_NAME,
78
+ JIRA_KEY: context.JIRA_KEY,
79
+ CONFLUENCE_SPACE: context.CONFLUENCE_SPACE,
80
+ CREATED_AT: context.CREATED_AT,
81
+ };
82
+ return renderTemplate(template, templateContext);
83
+ };
84
+ /**
85
+ * Load and render Multi-Repo template
86
+ *
87
+ * @param templateName - Template name
88
+ * @param context - Multi-Repo template context
89
+ * @param projectRoot - Project root directory
90
+ * @returns Rendered template string
91
+ */
92
+ export const loadAndRenderMultiRepoTemplate = (templateName, context, projectRoot = process.cwd()) => {
93
+ const template = loadMultiRepoTemplate(templateName, projectRoot);
94
+ return renderMultiRepoTemplate(template, context);
95
+ };
96
+ /**
97
+ * Batch render multiple Multi-Repo templates
98
+ *
99
+ * @param templateNames - Array of template names
100
+ * @param context - Multi-Repo template context
101
+ * @param projectRoot - Project root directory
102
+ * @returns Map of template names to rendered strings
103
+ */
104
+ export const renderMultiRepoTemplates = (templateNames, context, projectRoot = process.cwd()) => {
105
+ const rendered = {};
106
+ for (const templateName of templateNames) {
107
+ rendered[templateName] = loadAndRenderMultiRepoTemplate(templateName, context, projectRoot);
108
+ }
109
+ return rendered;
110
+ };
111
+ /**
112
+ * List of all Multi-Repo template names
113
+ */
114
+ export const MULTI_REPO_TEMPLATES = [
115
+ 'overview/requirements',
116
+ 'overview/architecture',
117
+ 'overview/sequence',
118
+ 'steering/multi-repo',
119
+ 'tests/strategy',
120
+ 'docs/ci-status',
121
+ 'docs/release-notes',
122
+ ];
123
+ //# sourceMappingURL=multi-repo-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-repo-renderer.js","sourceRoot":"","sources":["../../../scripts/template/multi-repo-renderer.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export interface TemplateContext {
12
12
  PROJECT_ID?: string;
13
13
  FEATURE_NAME?: string;
14
14
  TIMESTAMP?: string;
15
+ PROJECT_NAME?: string;
16
+ JIRA_KEY?: string;
17
+ CONFLUENCE_SPACE?: string;
18
+ CREATED_AT?: string;
15
19
  }
16
20
  /**
17
21
  * Create template context for rendering
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../scripts/template/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,2BAA2B,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,iBAAiB,EACvB,SAAS,MAAM,EACf,UAAU,MAAM,KACf,eAKD,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,SAAS,eAAe,KACvB,MAKF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,GAAG,OAAO,EAC5C,UAAU,MAAM,EAChB,SAAS,eAAe,KACvB,CA0BF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,eAAe,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvB,CAAC"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../scripts/template/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,2BAA2B,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,iBAAiB,EACvB,SAAS,MAAM,EACf,UAAU,MAAM,KACf,eAKD,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,SAAS,eAAe,KACvB,MAKF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,GAAG,OAAO,EAC5C,UAAU,MAAM,EAChB,SAAS,eAAe,KACvB,CA0BF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,eAAe,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../scripts/template/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAYhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAuB,EACvB,OAAe,EACf,QAAgB,EACC,EAAE,CAAC,CAAC;IACrB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAgB,EAChB,OAAwB,EAChB,EAAE;IACV,OAAO,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAA4B,CAAC,CAAC;QACpD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAAgB,EAChB,OAAwB,EACrB,EAAE;IACL,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,sDAAsD;QACtD,MAAM,SAAS,GAAG;YAChB,wCAAwC;YACxC,mBAAmB,YAAY,EAAE;YACjC,sCAAsC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACvG,+BAA+B,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,QAAQ,eAAe,OAAO,CAAC,SAAS,EAAE;SACjH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3C,gDAAgD;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,GAAG,GAAG,aAAa,CAAC,KAAK,8BAA8B,UAAU,EAAE,CAAC;QACzF,CAAC;QAED,MAAM,aAAa,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,SAAiC,EACjC,OAAwB,EACA,EAAE;IAC1B,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../scripts/template/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAiBhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAuB,EACvB,OAAe,EACf,QAAgB,EACC,EAAE,CAAC,CAAC;IACrB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAgB,EAChB,OAAwB,EAChB,EAAE;IACV,OAAO,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAA4B,CAAC,CAAC;QACpD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAAgB,EAChB,OAAwB,EACrB,EAAE;IACL,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,sDAAsD;QACtD,MAAM,SAAS,GAAG;YAChB,wCAAwC;YACxC,mBAAmB,YAAY,EAAE;YACjC,sCAAsC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACvG,+BAA+B,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,QAAQ,eAAe,OAAO,CAAC,SAAS,EAAE;SACjH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3C,gDAAgD;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,GAAG,GAAG,aAAa,CAAC,KAAK,8BAA8B,UAAU,EAAE,CAAC;QACzF,CAAC;QAED,MAAM,aAAa,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,SAAiC,EACjC,OAAwB,EACA,EAAE;IAC1B,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-execution-generator.d.ts","sourceRoot":"","sources":["../../scripts/test-execution-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAuC3B;AAmID;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA0C3B;AA6ID;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA4B3B;AA6DD;;GAEG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAA;CAAE,GAClE,OAAO,CAAC,gBAAgB,CAAC,CAuB3B;AAoDD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAsB3B;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqB7B"}
1
+ {"version":3,"file":"test-execution-generator.d.ts","sourceRoot":"","sources":["../../scripts/test-execution-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAuC3B;AAsJD;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA0C3B;AAoJD;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA4B3B;AA6DD;;GAEG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAA;CAAE,GAClE,OAAO,CAAC,gBAAgB,CAAC,CAuB3B;AAoDD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAsB3B;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqB7B"}
@@ -4,6 +4,68 @@
4
4
  */
5
5
  import { readFileSync, writeFileSync, existsSync, mkdirSync, chmodSync } from 'fs';
6
6
  import { join } from 'path';
7
+ /**
8
+ * セキュリティ: URLバリデーション
9
+ * HTTP/HTTPS URLのみ許可、特殊文字やコマンドインジェクションを防ぐ
10
+ */
11
+ function validateUrl(url) {
12
+ // 基本的なURL形式チェック
13
+ try {
14
+ const parsed = new URL(url);
15
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
16
+ throw new Error(`Invalid protocol: ${parsed.protocol}. Only http: and https: are allowed.`);
17
+ }
18
+ }
19
+ catch (_error) {
20
+ throw new Error(`Invalid URL format: ${url}`);
21
+ }
22
+ // コマンドインジェクション対策: 危険な文字を検出
23
+ const dangerousChars = /[;`$()&|<>]/;
24
+ if (dangerousChars.test(url)) {
25
+ throw new Error(`URL contains dangerous characters: ${url}`);
26
+ }
27
+ }
28
+ /**
29
+ * セキュリティ: Bash用文字列エスケープ
30
+ * シェルスクリプト内で安全に使用できる形式にエスケープ
31
+ */
32
+ function escapeBash(str) {
33
+ // シングルクォートで囲み、シングルクォート自体をエスケープ
34
+ return `'${str.replace(/'/g, '\'\\\'\'')}'`;
35
+ }
36
+ /**
37
+ * セキュリティ: Python用文字列エスケープ
38
+ * Pythonコード内で安全に使用できる形式にエスケープ
39
+ */
40
+ function escapePython(str) {
41
+ return str
42
+ .replace(/\\/g, '\\\\') // バックスラッシュ
43
+ .replace(/"/g, '\\"') // ダブルクォート
44
+ .replace(/\n/g, '\\n') // 改行
45
+ .replace(/\r/g, '\\r') // キャリッジリターン
46
+ .replace(/\t/g, '\\t'); // タブ
47
+ }
48
+ /**
49
+ * セキュリティ: Python識別子バリデーション
50
+ * Pythonのクラス名として有効な形式かチェック
51
+ */
52
+ function validatePythonIdentifier(name) {
53
+ // Python識別子のルール: 英字またはアンダースコアで始まり、英数字とアンダースコアのみ
54
+ const pythonIdentifierPattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
55
+ if (!pythonIdentifierPattern.test(name)) {
56
+ throw new Error(`Invalid Python identifier: ${name}. Must start with letter or underscore, and contain only letters, numbers, and underscores.`);
57
+ }
58
+ // Pythonの予約語チェック
59
+ const pythonKeywords = [
60
+ 'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
61
+ 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
62
+ 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',
63
+ 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
64
+ ];
65
+ if (pythonKeywords.includes(name)) {
66
+ throw new Error(`Invalid Python identifier: ${name} is a reserved keyword.`);
67
+ }
68
+ }
7
69
  /**
8
70
  * design.mdからエンドポイント情報を抽出
9
71
  */
@@ -97,27 +159,43 @@ export async function generateLoadTestExecution(options) {
97
159
  * Locustファイルを生成
98
160
  */
99
161
  function generateLocustFile(feature, endpoint, perfReqs) {
162
+ // セキュリティ: URLバリデーション
163
+ validateUrl(endpoint.baseUrl);
164
+ // セキュリティ: Pythonエスケープ
165
+ const escapedFeature = escapePython(feature);
166
+ const escapedEndpoint = escapePython(endpoint.endpoint);
167
+ const escapedMethod = escapePython(endpoint.method);
168
+ const escapedBaseUrl = escapePython(endpoint.baseUrl);
169
+ const escapedTargetRps = escapePython(perfReqs.targetRps);
170
+ const escapedTargetResponseTime = escapePython(perfReqs.targetResponseTime);
171
+ // セキュリティ: Pythonクラス名の生成と検証
172
+ let className = feature.replace(/[^a-zA-Z0-9]/g, '_');
173
+ // クラス名は大文字で始まる必要がある(Python慣例)
174
+ if (!/^[A-Z]/.test(className)) {
175
+ className = 'Test' + className.charAt(0).toUpperCase() + className.slice(1);
176
+ }
177
+ // Python識別子として有効かチェック
178
+ validatePythonIdentifier(className);
100
179
  const methodLower = endpoint.method.toLowerCase();
101
180
  const hasBody = ['post', 'put', 'patch'].includes(methodLower);
102
- const className = feature.replace(/[^a-zA-Z0-9]/g, '');
103
181
  let taskCode = '';
104
182
  if (hasBody) {
105
183
  taskCode = ` self.client.${methodLower}(
106
- "${endpoint.endpoint}",
184
+ "${escapedEndpoint}",
107
185
  json={},
108
186
  headers={"Content-Type": "application/json"}
109
187
  )`;
110
188
  }
111
189
  else {
112
- taskCode = ` self.client.${methodLower}("${endpoint.endpoint}")`;
190
+ taskCode = ` self.client.${methodLower}("${escapedEndpoint}")`;
113
191
  }
114
192
  return `"""
115
- ${feature} 負荷テスト
116
- 自動生成: michi phase:run ${feature} phase-b
193
+ ${escapedFeature} 負荷テスト
194
+ 自動生成: michi phase:run ${escapedFeature} phase-b
117
195
 
118
196
  目標:
119
- - RPS: ${perfReqs.targetRps}
120
- - 応答時間: ${perfReqs.targetResponseTime}ms以内
197
+ - RPS: ${escapedTargetRps}
198
+ - 応答時間: ${escapedTargetResponseTime}ms以内
121
199
  """
122
200
 
123
201
  from locust import HttpUser, task, between
@@ -127,11 +205,11 @@ class ${className}User(HttpUser):
127
205
  """テスト対象ユーザーシミュレーション"""
128
206
 
129
207
  wait_time = between(1, 3)
130
- host = "${endpoint.baseUrl}"
208
+ host = "${escapedBaseUrl}"
131
209
 
132
210
  @task
133
211
  def test_endpoint(self):
134
- """${endpoint.endpoint}への${endpoint.method}リクエスト"""
212
+ """${escapedEndpoint}への${escapedMethod}リクエスト"""
135
213
  ${taskCode}
136
214
 
137
215
 
@@ -292,14 +370,19 @@ jobs:
292
370
  * ZAP実行スクリプトを生成
293
371
  */
294
372
  function generateZapScript(feature, endpoint) {
373
+ // セキュリティ: URLバリデーション(コマンドインジェクション対策)
374
+ validateUrl(endpoint.baseUrl);
375
+ // セキュリティ: Bashエスケープ(追加の防御層)
376
+ const escapedUrl = escapeBash(endpoint.baseUrl);
377
+ const escapedFeature = escapeBash(feature);
295
378
  return `#!/bin/bash
296
379
  # OWASP ZAPセキュリティスキャン実行スクリプト
297
- # 自動生成: michi phase:run ${feature} phase-b
380
+ # 自動生成: michi phase:run ${escapedFeature} phase-b
298
381
 
299
382
  set -e
300
383
 
301
384
  # 変数定義
302
- TARGET_URL="${endpoint.baseUrl}"
385
+ TARGET_URL=${escapedUrl}
303
386
  CONFIG_FILE="zap-config.yaml"
304
387
  REPORT_DIR="./reports"
305
388
 
@@ -1 +1 @@
1
- {"version":3,"file":"test-execution-generator.js","sourceRoot":"","sources":["../../scripts/test-execution-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-execution-generator.js","sourceRoot":"","sources":["../../scripts/test-execution-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * テストスクリプトランナー
3
+ * Multi-Repoプロジェクトのテストスクリプトを実行
4
+ */
5
+ /**
6
+ * テストタイプ
7
+ */
8
+ export type TestType = 'e2e' | 'integration' | 'performance';
9
+ /**
10
+ * テスト実行結果
11
+ */
12
+ export interface TestExecutionResult {
13
+ success: boolean;
14
+ exitCode: number;
15
+ executionTime: number;
16
+ outputPath: string;
17
+ error?: string;
18
+ }
19
+ /**
20
+ * テストスクリプトランナー
21
+ */
22
+ export declare class TestScriptRunner {
23
+ /**
24
+ * テストスクリプトを実行
25
+ *
26
+ * @param projectName プロジェクト名
27
+ * @param testType テストタイプ (e2e | integration | performance)
28
+ * @param projectRoot プロジェクトルートディレクトリ(デフォルト: process.cwd())
29
+ * @returns テスト実行結果
30
+ */
31
+ runTestScript(projectName: string, testType: TestType, projectRoot?: string): Promise<TestExecutionResult>;
32
+ }
33
+ //# sourceMappingURL=test-script-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-script-runner.d.ts","sourceRoot":"","sources":["../../scripts/test-script-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,aAAa,GAAG,aAAa,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;;OAOG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,mBAAmB,CAAC;CAiFhC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * テストスクリプトランナー
3
+ * Multi-Repoプロジェクトのテストスクリプトを実行
4
+ */
5
+ import { execSync } from 'child_process';
6
+ import { join } from 'path';
7
+ /**
8
+ * テストスクリプトランナー
9
+ */
10
+ export class TestScriptRunner {
11
+ /**
12
+ * テストスクリプトを実行
13
+ *
14
+ * @param projectName プロジェクト名
15
+ * @param testType テストタイプ (e2e | integration | performance)
16
+ * @param projectRoot プロジェクトルートディレクトリ(デフォルト: process.cwd())
17
+ * @returns テスト実行結果
18
+ */
19
+ async runTestScript(projectName, testType, projectRoot = process.cwd()) {
20
+ // 1. テストスクリプトパスを生成
21
+ const scriptPath = join(projectRoot, 'docs', 'michi', projectName, 'tests', 'scripts', `run-${testType}.sh`);
22
+ // 2. テスト結果の出力先パスを生成(スクリプト側で使用)
23
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').split('T')[0];
24
+ const outputPath = join(projectRoot, 'docs', 'michi', projectName, 'tests', 'results', `${testType}-${timestamp}.log`);
25
+ // 3. 実行前のログ出力
26
+ console.log('🚀 テストスクリプトを実行中...');
27
+ console.log(` テストタイプ: ${testType}`);
28
+ console.log(` スクリプトパス: ${scriptPath}`);
29
+ console.log(` 実行開始時刻: ${new Date().toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' })}`);
30
+ // 4. テストスクリプトを実行
31
+ const startTime = Date.now();
32
+ let exitCode = 0;
33
+ let error;
34
+ try {
35
+ execSync(scriptPath, {
36
+ stdio: 'inherit', // リアルタイム出力
37
+ encoding: 'utf-8',
38
+ });
39
+ }
40
+ catch (err) {
41
+ // スクリプト実行エラー
42
+ const execError = err;
43
+ exitCode = execError.status !== undefined ? execError.status : 1;
44
+ error = execError.message;
45
+ // stderrがある場合は追加
46
+ if (execError.stderr) {
47
+ const stderrStr = execError.stderr.toString();
48
+ error = stderrStr || error;
49
+ }
50
+ }
51
+ const endTime = Date.now();
52
+ const executionTime = (endTime - startTime) / 1000; // ミリ秒から秒に変換
53
+ // 5. 実行後のログ出力
54
+ console.log('\n📊 テスト実行結果:');
55
+ console.log(` 終了コード: ${exitCode}`);
56
+ console.log(` 実行時間: ${executionTime.toFixed(2)}秒`);
57
+ console.log(` テスト結果ファイル: ${outputPath}`);
58
+ const success = exitCode === 0;
59
+ if (success) {
60
+ console.log('✅ テスト実行が成功しました');
61
+ }
62
+ else {
63
+ console.log('❌ テスト実行が失敗しました');
64
+ if (error) {
65
+ console.log(` エラー: ${error}`);
66
+ }
67
+ }
68
+ return {
69
+ success,
70
+ exitCode,
71
+ executionTime,
72
+ outputPath,
73
+ error,
74
+ };
75
+ }
76
+ }
77
+ //# sourceMappingURL=test-script-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-script-runner.js","sourceRoot":"","sources":["../../scripts/test-script-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA0B5B;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,QAAkB,EAClB,cAAsB,OAAO,CAAC,GAAG,EAAE;QAEnC,mBAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,CACrB,WAAW,EACX,MAAM,EACN,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,OAAO,QAAQ,KAAK,CACrB,CAAC;QAEF,+BAA+B;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,IAAI,CACrB,WAAW,EACX,MAAM,EACN,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,GAAG,QAAQ,IAAI,SAAS,MAAM,CAC/B,CAAC;QAEF,cAAc;QACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3F,iBAAiB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,KAAyB,CAAC;QAE9B,IAAI,CAAC;YACH,QAAQ,CAAC,UAAU,EAAE;gBACnB,KAAK,EAAE,SAAS,EAAE,WAAW;gBAC7B,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa;YACb,MAAM,SAAS,GAAG,GAAgB,CAAC;YACnC,QAAQ,GAAG,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;YAE1B,iBAAiB;YACjB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC9C,KAAK,GAAG,SAAS,IAAI,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;QAEhE,cAAc;QACd,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,WAAW,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,CAAC;QAE/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO;YACP,QAAQ;YACR,aAAa;YACb,UAAU;YACV,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
@@ -2,7 +2,7 @@
2
2
  * 設定読み込み・マージ機能
3
3
  * デフォルト設定 + プロジェクト固有設定をマージ
4
4
  */
5
- import { type AppConfig } from '../config/config-schema.js';
5
+ import { type AppConfig, type MultiRepoProject, type Repository } from '../config/config-schema.js';
6
6
  /**
7
7
  * グローバル設定ファイルのパスを取得
8
8
  */
@@ -32,4 +32,24 @@ export declare function clearConfigCache(): void;
32
32
  * 設定ファイルのパスを解決(外部から使用可能)
33
33
  */
34
34
  export declare function getConfigPath(projectRoot?: string): string;
35
+ /**
36
+ * プロジェクト名でMulti-Repoプロジェクトを検索
37
+ */
38
+ export declare function findProject(projectName: string, projectRoot?: string): MultiRepoProject | null;
39
+ /**
40
+ * Multi-Repoプロジェクトを追加
41
+ */
42
+ export declare function addMultiRepoProject(project: MultiRepoProject, projectRoot?: string): {
43
+ success: boolean;
44
+ project?: MultiRepoProject;
45
+ error?: string;
46
+ };
47
+ /**
48
+ * Multi-Repoプロジェクトにリポジトリを追加
49
+ */
50
+ export declare function addRepositoryToProject(projectName: string, repository: Repository, projectRoot?: string): {
51
+ success: boolean;
52
+ repository?: Repository;
53
+ error?: string;
54
+ };
35
55
  //# sourceMappingURL=config-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../scripts/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAW7E;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAoVD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAsB,GAAG,SAAS,CAoCzE;AAeD,wBAAgB,SAAS,CAAC,WAAW,GAAE,MAAsB,GAAG,SAAS,CA0JxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEzE"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../scripts/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAWpC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAoVD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAsB,GAAG,SAAS,CAoCzE;AAeD,wBAAgB,SAAS,CAAC,WAAW,GAAE,MAAsB,GAAG,SAAS,CA0JxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEzE;AA6CD;;GAEG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAsB,GAClC,gBAAgB,GAAG,IAAI,CAoBzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,WAAW,GAAE,MAAsB,GAClC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAuClE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,WAAW,GAAE,MAAsB,GAClC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA4D/D"}