@sk8metal/michi-cli 0.5.0 → 0.8.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 (284) hide show
  1. package/CHANGELOG.md +136 -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/setup-existing.d.ts.map +1 -1
  82. package/dist/src/commands/setup-existing.js +30 -8
  83. package/dist/src/commands/setup-existing.js.map +1 -1
  84. package/dist/src/commands/spec-archive.d.ts +17 -0
  85. package/dist/src/commands/spec-archive.d.ts.map +1 -0
  86. package/dist/src/commands/spec-archive.js +40 -0
  87. package/dist/src/commands/spec-archive.js.map +1 -0
  88. package/dist/src/commands/spec-list.d.ts +15 -0
  89. package/dist/src/commands/spec-list.d.ts.map +1 -0
  90. package/dist/src/commands/spec-list.js +55 -0
  91. package/dist/src/commands/spec-list.js.map +1 -0
  92. package/docs/user-guide/guides/multi-repo-guide.md +591 -0
  93. package/docs/user-guide/guides/multi-repo-migration-guide.md +516 -0
  94. package/docs/user-guide/reference/multi-repo-api.md +771 -0
  95. package/docs/user-guide/reference/quick-reference.md +22 -37
  96. package/package.json +1 -4
  97. package/scripts/__tests__/config-loader-multi-repo.test.ts +342 -0
  98. package/scripts/__tests__/github-actions-client.test.ts +543 -0
  99. package/scripts/__tests__/health-check-service.test.ts +142 -0
  100. package/scripts/__tests__/markdown-to-confluence.test.ts +262 -0
  101. package/scripts/__tests__/mermaid-converter.test.ts +236 -0
  102. package/scripts/__tests__/multi-repo-config-schema.test.ts +335 -0
  103. package/scripts/__tests__/multi-repo-validator.test.ts +524 -0
  104. package/scripts/__tests__/spec-archiver.test.ts +512 -0
  105. package/scripts/__tests__/test-script-runner.test.ts +217 -0
  106. package/scripts/config/config-schema.ts +64 -0
  107. package/scripts/confluence-sync.ts +16 -2
  108. package/scripts/github-actions-client.ts +258 -0
  109. package/scripts/health-check-service.ts +171 -0
  110. package/scripts/markdown-to-confluence.ts +37 -6
  111. package/scripts/mermaid-converter.ts +56 -0
  112. package/scripts/template/__tests__/multi-repo-renderer.test.ts +261 -0
  113. package/scripts/template/multi-repo-renderer.ts +172 -0
  114. package/scripts/template/renderer.ts +5 -0
  115. package/scripts/test-execution-generator.ts +104 -11
  116. package/scripts/test-script-runner.ts +130 -0
  117. package/scripts/utils/__tests__/config-validator.test.ts +104 -6
  118. package/scripts/utils/__tests__/multi-repo-validator.test.ts +335 -0
  119. package/scripts/utils/config-loader.ts +197 -3
  120. package/scripts/utils/multi-repo-validator.ts +141 -0
  121. package/scripts/utils/spec-archiver.ts +260 -0
  122. package/scripts/utils/spec-updater.ts +4 -0
  123. package/templates/claude/agents/pr-size-monitor/AGENT.md +330 -0
  124. package/templates/claude/commands/michi/spec-impl.md +208 -35
  125. package/templates/claude-agent/agents/doc-reviewer.md +176 -0
  126. package/templates/claude-agent/rules/doc-review-rules.md +98 -0
  127. package/templates/claude-agent/rules/doc-review.md +91 -0
  128. package/templates/multi-repo/docs/ci-status.md +51 -0
  129. package/templates/multi-repo/docs/release-notes.md +99 -0
  130. package/templates/multi-repo/overview/architecture.md +102 -0
  131. package/templates/multi-repo/overview/requirements.md +68 -0
  132. package/templates/multi-repo/overview/sequence.md +79 -0
  133. package/templates/multi-repo/steering/multi-repo.md +74 -0
  134. package/templates/multi-repo/tests/strategy.md +89 -0
  135. package/dist/scripts/__tests__/create-project.test.d.ts +0 -2
  136. package/dist/scripts/__tests__/create-project.test.d.ts.map +0 -1
  137. package/dist/scripts/__tests__/create-project.test.js +0 -243
  138. package/dist/scripts/__tests__/create-project.test.js.map +0 -1
  139. package/dist/scripts/__tests__/jira-transitions.test.d.ts +0 -5
  140. package/dist/scripts/__tests__/jira-transitions.test.d.ts.map +0 -1
  141. package/dist/scripts/__tests__/jira-transitions.test.js +0 -172
  142. package/dist/scripts/__tests__/jira-transitions.test.js.map +0 -1
  143. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts +0 -2
  144. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts.map +0 -1
  145. package/dist/scripts/__tests__/multi-project-estimate.test.js +0 -118
  146. package/dist/scripts/__tests__/multi-project-estimate.test.js.map +0 -1
  147. package/dist/scripts/__tests__/setup-existing-project.test.d.ts +0 -2
  148. package/dist/scripts/__tests__/setup-existing-project.test.d.ts.map +0 -1
  149. package/dist/scripts/__tests__/setup-existing-project.test.js +0 -208
  150. package/dist/scripts/__tests__/setup-existing-project.test.js.map +0 -1
  151. package/dist/scripts/__tests__/setup-interactive.test.d.ts +0 -2
  152. package/dist/scripts/__tests__/setup-interactive.test.d.ts.map +0 -1
  153. package/dist/scripts/__tests__/setup-interactive.test.js +0 -166
  154. package/dist/scripts/__tests__/setup-interactive.test.js.map +0 -1
  155. package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts +0 -5
  156. package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts.map +0 -1
  157. package/dist/scripts/__tests__/spec-impl-workflow.test.js +0 -323
  158. package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +0 -1
  159. package/dist/scripts/__tests__/spec-loader.test.d.ts +0 -5
  160. package/dist/scripts/__tests__/spec-loader.test.d.ts.map +0 -1
  161. package/dist/scripts/__tests__/spec-loader.test.js +0 -153
  162. package/dist/scripts/__tests__/spec-loader.test.js.map +0 -1
  163. package/dist/scripts/__tests__/validate-phase.test.d.ts +0 -5
  164. package/dist/scripts/__tests__/validate-phase.test.d.ts.map +0 -1
  165. package/dist/scripts/__tests__/validate-phase.test.js +0 -249
  166. package/dist/scripts/__tests__/validate-phase.test.js.map +0 -1
  167. package/dist/scripts/constants/__tests__/environments.test.d.ts +0 -2
  168. package/dist/scripts/constants/__tests__/environments.test.d.ts.map +0 -1
  169. package/dist/scripts/constants/__tests__/environments.test.js +0 -125
  170. package/dist/scripts/constants/__tests__/environments.test.js.map +0 -1
  171. package/dist/scripts/constants/__tests__/languages.test.d.ts +0 -2
  172. package/dist/scripts/constants/__tests__/languages.test.d.ts.map +0 -1
  173. package/dist/scripts/constants/__tests__/languages.test.js +0 -82
  174. package/dist/scripts/constants/__tests__/languages.test.js.map +0 -1
  175. package/dist/scripts/create-project.d.ts +0 -16
  176. package/dist/scripts/create-project.d.ts.map +0 -1
  177. package/dist/scripts/create-project.js +0 -334
  178. package/dist/scripts/create-project.js.map +0 -1
  179. package/dist/scripts/list-projects.d.ts +0 -7
  180. package/dist/scripts/list-projects.d.ts.map +0 -1
  181. package/dist/scripts/list-projects.js +0 -88
  182. package/dist/scripts/list-projects.js.map +0 -1
  183. package/dist/scripts/template/__tests__/renderer.test.d.ts +0 -2
  184. package/dist/scripts/template/__tests__/renderer.test.d.ts.map +0 -1
  185. package/dist/scripts/template/__tests__/renderer.test.js +0 -165
  186. package/dist/scripts/template/__tests__/renderer.test.js.map +0 -1
  187. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts +0 -5
  188. package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts.map +0 -1
  189. package/dist/scripts/utils/__tests__/aidlc-parser.test.js +0 -315
  190. package/dist/scripts/utils/__tests__/aidlc-parser.test.js.map +0 -1
  191. package/dist/scripts/utils/__tests__/business-days.test.d.ts +0 -5
  192. package/dist/scripts/utils/__tests__/business-days.test.d.ts.map +0 -1
  193. package/dist/scripts/utils/__tests__/business-days.test.js +0 -171
  194. package/dist/scripts/utils/__tests__/business-days.test.js.map +0 -1
  195. package/dist/scripts/utils/__tests__/config-loader.test.d.ts +0 -5
  196. package/dist/scripts/utils/__tests__/config-loader.test.d.ts.map +0 -1
  197. package/dist/scripts/utils/__tests__/config-loader.test.js +0 -314
  198. package/dist/scripts/utils/__tests__/config-loader.test.js.map +0 -1
  199. package/dist/scripts/utils/__tests__/config-validator.test.d.ts +0 -5
  200. package/dist/scripts/utils/__tests__/config-validator.test.d.ts.map +0 -1
  201. package/dist/scripts/utils/__tests__/config-validator.test.js +0 -396
  202. package/dist/scripts/utils/__tests__/config-validator.test.js.map +0 -1
  203. package/dist/scripts/utils/__tests__/env-config.test.d.ts +0 -5
  204. package/dist/scripts/utils/__tests__/env-config.test.d.ts.map +0 -1
  205. package/dist/scripts/utils/__tests__/env-config.test.js +0 -216
  206. package/dist/scripts/utils/__tests__/env-config.test.js.map +0 -1
  207. package/dist/scripts/utils/__tests__/feature-name-validator.test.d.ts +0 -5
  208. package/dist/scripts/utils/__tests__/feature-name-validator.test.d.ts.map +0 -1
  209. package/dist/scripts/utils/__tests__/feature-name-validator.test.js +0 -106
  210. package/dist/scripts/utils/__tests__/feature-name-validator.test.js.map +0 -1
  211. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts +0 -5
  212. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts.map +0 -1
  213. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js +0 -202
  214. package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js.map +0 -1
  215. package/dist/scripts/utils/__tests__/project-meta.test.d.ts +0 -6
  216. package/dist/scripts/utils/__tests__/project-meta.test.d.ts.map +0 -1
  217. package/dist/scripts/utils/__tests__/project-meta.test.js +0 -154
  218. package/dist/scripts/utils/__tests__/project-meta.test.js.map +0 -1
  219. package/dist/scripts/utils/__tests__/security-validator.test.d.ts +0 -6
  220. package/dist/scripts/utils/__tests__/security-validator.test.d.ts.map +0 -1
  221. package/dist/scripts/utils/__tests__/security-validator.test.js +0 -219
  222. package/dist/scripts/utils/__tests__/security-validator.test.js.map +0 -1
  223. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts +0 -5
  224. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts.map +0 -1
  225. package/dist/scripts/utils/__tests__/spec-updater.test.js +0 -158
  226. package/dist/scripts/utils/__tests__/spec-updater.test.js.map +0 -1
  227. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts +0 -5
  228. package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts.map +0 -1
  229. package/dist/scripts/utils/__tests__/tasks-converter.test.js +0 -500
  230. package/dist/scripts/utils/__tests__/tasks-converter.test.js.map +0 -1
  231. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts +0 -5
  232. package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts.map +0 -1
  233. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js +0 -314
  234. package/dist/scripts/utils/__tests__/tasks-format-validator.test.js.map +0 -1
  235. package/dist/scripts/utils/__tests__/test-runner.test.d.ts +0 -5
  236. package/dist/scripts/utils/__tests__/test-runner.test.d.ts.map +0 -1
  237. package/dist/scripts/utils/__tests__/test-runner.test.js +0 -64
  238. package/dist/scripts/utils/__tests__/test-runner.test.js.map +0 -1
  239. package/dist/src/__tests__/cli.test.d.ts +0 -5
  240. package/dist/src/__tests__/cli.test.d.ts.map +0 -1
  241. package/dist/src/__tests__/cli.test.js +0 -58
  242. package/dist/src/__tests__/cli.test.js.map +0 -1
  243. package/dist/src/__tests__/integration/internationalization.test.d.ts +0 -8
  244. package/dist/src/__tests__/integration/internationalization.test.d.ts.map +0 -1
  245. package/dist/src/__tests__/integration/internationalization.test.js +0 -333
  246. package/dist/src/__tests__/integration/internationalization.test.js.map +0 -1
  247. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +0 -5
  248. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +0 -1
  249. package/dist/src/__tests__/integration/setup/claude-agent.test.js +0 -122
  250. package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +0 -1
  251. package/dist/src/__tests__/integration/setup/claude.test.d.ts +0 -5
  252. package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +0 -1
  253. package/dist/src/__tests__/integration/setup/claude.test.js +0 -193
  254. package/dist/src/__tests__/integration/setup/claude.test.js.map +0 -1
  255. package/dist/src/__tests__/integration/setup/cursor.test.d.ts +0 -5
  256. package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +0 -1
  257. package/dist/src/__tests__/integration/setup/cursor.test.js +0 -166
  258. package/dist/src/__tests__/integration/setup/cursor.test.js.map +0 -1
  259. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +0 -32
  260. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +0 -1
  261. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +0 -72
  262. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +0 -1
  263. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +0 -38
  264. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +0 -1
  265. package/dist/src/__tests__/integration/setup/helpers/test-project.js +0 -83
  266. package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +0 -1
  267. package/dist/src/__tests__/integration/setup/init.test.d.ts +0 -5
  268. package/dist/src/__tests__/integration/setup/init.test.d.ts.map +0 -1
  269. package/dist/src/__tests__/integration/setup/init.test.js +0 -352
  270. package/dist/src/__tests__/integration/setup/init.test.js.map +0 -1
  271. package/dist/src/__tests__/integration/setup/validation.test.d.ts +0 -5
  272. package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +0 -1
  273. package/dist/src/__tests__/integration/setup/validation.test.js +0 -301
  274. package/dist/src/__tests__/integration/setup/validation.test.js.map +0 -1
  275. package/dist/src/commands/__tests__/init.test.d.ts +0 -5
  276. package/dist/src/commands/__tests__/init.test.d.ts.map +0 -1
  277. package/dist/src/commands/__tests__/init.test.js +0 -255
  278. package/dist/src/commands/__tests__/init.test.js.map +0 -1
  279. package/dist/src/commands/__tests__/migrate.test.d.ts +0 -5
  280. package/dist/src/commands/__tests__/migrate.test.d.ts.map +0 -1
  281. package/dist/src/commands/__tests__/migrate.test.js +0 -216
  282. package/dist/src/commands/__tests__/migrate.test.js.map +0 -1
  283. package/scripts/create-project.ts +0 -386
  284. package/scripts/list-projects.ts +0 -112
@@ -1,333 +0,0 @@
1
- /**
2
- * Integration tests for Internationalization (i18n) support
3
- *
4
- * Tests AI-driven multilingual approach with DEV_GUIDELINES placeholders
5
- * Issue #40 (v0.0.9): 多言語サポートシステムの実装
6
- */
7
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
8
- import { join } from 'path';
9
- import { readFileSync } from 'fs';
10
- import { setupExisting } from '../../commands/setup-existing.js';
11
- import { createTestProject } from './setup/helpers/test-project.js';
12
- import { assertFileExists, assertFileContains } from './setup/helpers/fs-assertions.js';
13
- import { createTemplateContext, renderTemplate } from '../../../scripts/template/renderer.js';
14
- import { DEV_GUIDELINES_MAP } from '../../../scripts/constants/languages.js';
15
- // Mock readline to auto-confirm prompts
16
- vi.mock('readline', () => ({
17
- createInterface: () => ({
18
- question: (question, callback) => {
19
- callback('y'); // Auto-confirm
20
- },
21
- close: () => { },
22
- }),
23
- }));
24
- describe('Internationalization (i18n) E2E', () => {
25
- let testProject;
26
- let originalCwd;
27
- beforeEach(() => {
28
- originalCwd = process.cwd();
29
- testProject = createTestProject({ name: 'i18n-test' });
30
- process.chdir(testProject.path);
31
- });
32
- afterEach(() => {
33
- process.chdir(originalCwd);
34
- testProject.destroy();
35
- });
36
- describe('Japanese Language Support', () => {
37
- it('should setup project with Japanese language (default)', async () => {
38
- await setupExisting({
39
- cursor: true,
40
- projectName: 'テストプロジェクト',
41
- jiraKey: 'TEST'
42
- });
43
- // Verify project.json has Japanese language
44
- const projectJsonPath = join(testProject.path, '.kiro/project.json');
45
- assertFileExists(projectJsonPath);
46
- assertFileContains(projectJsonPath, '"language": "ja"');
47
- });
48
- it('should render templates with Japanese DEV_GUIDELINES', async () => {
49
- await setupExisting({
50
- cursor: true,
51
- lang: 'ja',
52
- projectName: 'テストプロジェクト',
53
- jiraKey: 'TEST'
54
- });
55
- // Check if templates contain Japanese guidelines
56
- const rulesDir = join(testProject.path, '.cursor/rules');
57
- const ruleFiles = ['github-ssot.mdc', 'atlassian-mcp.mdc', 'multi-project.mdc'];
58
- for (const ruleFile of ruleFiles) {
59
- const rulePath = join(rulesDir, ruleFile);
60
- assertFileExists(rulePath);
61
- const content = readFileSync(rulePath, 'utf-8');
62
- // Should NOT contain placeholder
63
- expect(content).not.toContain('{{DEV_GUIDELINES}}');
64
- // Should contain Japanese guidelines
65
- expect(content).toContain('Think in English');
66
- expect(content).toContain('Japanese');
67
- expect(content).toContain('日本語');
68
- }
69
- });
70
- it('should have correct Japanese DEV_GUIDELINES format', () => {
71
- const guidelines = DEV_GUIDELINES_MAP.ja;
72
- expect(guidelines).toContain('Think in English');
73
- expect(guidelines).toContain('generate responses in Japanese');
74
- expect(guidelines).toContain('思考は英語');
75
- expect(guidelines).toContain('回答の生成は日本語');
76
- });
77
- });
78
- describe('English Language Support', () => {
79
- it('should setup project with English language', async () => {
80
- await setupExisting({
81
- cursor: true,
82
- lang: 'en',
83
- projectName: 'Test Project',
84
- jiraKey: 'TEST'
85
- });
86
- // Verify project.json has English language
87
- const projectJsonPath = join(testProject.path, '.kiro/project.json');
88
- assertFileExists(projectJsonPath);
89
- assertFileContains(projectJsonPath, '"language": "en"');
90
- });
91
- it('should render templates with English DEV_GUIDELINES', async () => {
92
- await setupExisting({
93
- cursor: true,
94
- lang: 'en',
95
- projectName: 'Test Project',
96
- jiraKey: 'TEST'
97
- });
98
- // Check if templates contain English guidelines
99
- const rulesDir = join(testProject.path, '.cursor/rules');
100
- const ruleFiles = ['github-ssot.mdc', 'atlassian-mcp.mdc', 'multi-project.mdc'];
101
- for (const ruleFile of ruleFiles) {
102
- const rulePath = join(rulesDir, ruleFile);
103
- assertFileExists(rulePath);
104
- const content = readFileSync(rulePath, 'utf-8');
105
- // Should NOT contain placeholder
106
- expect(content).not.toContain('{{DEV_GUIDELINES}}');
107
- // Should contain English guidelines
108
- expect(content).toContain('Think in English');
109
- expect(content).toContain('generate responses in English');
110
- // Should NOT contain Japanese
111
- expect(content).not.toContain('日本語');
112
- }
113
- });
114
- it('should have correct English DEV_GUIDELINES format', () => {
115
- const guidelines = DEV_GUIDELINES_MAP.en;
116
- expect(guidelines).toBe('- Think in English, generate responses in English');
117
- });
118
- });
119
- describe('Template Rendering', () => {
120
- it('should render template with Japanese context', () => {
121
- const template = `---
122
- title: Test Rule
123
- description: {{DEV_GUIDELINES}} for testing
124
- ---
125
-
126
- # Test Rule
127
-
128
- {{DEV_GUIDELINES}}
129
-
130
- ## Other content
131
- `;
132
- const context = createTemplateContext('ja', '.kiro', '.cursor');
133
- const rendered = renderTemplate(template, context);
134
- // Should replace all placeholders
135
- expect(rendered).not.toContain('{{DEV_GUIDELINES}}');
136
- // Should contain Japanese guidelines
137
- expect(rendered).toContain('Think in English');
138
- expect(rendered).toContain('Japanese');
139
- expect(rendered).toContain('日本語');
140
- });
141
- it('should render template with English context', () => {
142
- const template = `---
143
- title: Test Rule
144
- description: {{DEV_GUIDELINES}} for testing
145
- ---
146
-
147
- # Test Rule
148
-
149
- {{DEV_GUIDELINES}}
150
-
151
- ## Other content
152
- `;
153
- const context = createTemplateContext('en', '.kiro', '.cursor');
154
- const rendered = renderTemplate(template, context);
155
- // Should replace all placeholders
156
- expect(rendered).not.toContain('{{DEV_GUIDELINES}}');
157
- // Should contain English guidelines
158
- expect(rendered).toContain('Think in English, generate responses in English');
159
- // Should NOT contain Japanese
160
- expect(rendered).not.toContain('日本語');
161
- });
162
- it('should handle multiple placeholders in template', () => {
163
- const template = `Language: {{LANG_CODE}}
164
- Guidelines: {{DEV_GUIDELINES}}
165
- Kiro Dir: {{KIRO_DIR}}
166
- Agent Dir: {{AGENT_DIR}}
167
- `;
168
- const context = createTemplateContext('ja', '.kiro', '.cursor');
169
- const rendered = renderTemplate(template, context);
170
- expect(rendered).toContain('Language: ja');
171
- expect(rendered).toContain('Guidelines: - Think in English');
172
- expect(rendered).toContain('Kiro Dir: .kiro');
173
- expect(rendered).toContain('Agent Dir: .cursor');
174
- });
175
- it('should preserve unrecognized placeholders', () => {
176
- const template = `Known: {{LANG_CODE}}
177
- Unknown: {{UNKNOWN_PLACEHOLDER}}
178
- `;
179
- const context = createTemplateContext('ja', '.kiro', '.cursor');
180
- const rendered = renderTemplate(template, context);
181
- // Known placeholder should be replaced
182
- expect(rendered).toContain('Known: ja');
183
- // Unknown placeholder should be preserved
184
- expect(rendered).toContain('Unknown: {{UNKNOWN_PLACEHOLDER}}');
185
- });
186
- });
187
- describe('All Supported Languages', () => {
188
- const languages = [
189
- { code: 'ja', name: 'Japanese' },
190
- { code: 'en', name: 'English' },
191
- { code: 'zh-TW', name: 'Traditional Chinese' },
192
- { code: 'zh', name: 'Simplified Chinese' },
193
- { code: 'es', name: 'Spanish' },
194
- { code: 'pt', name: 'Portuguese' },
195
- { code: 'de', name: 'German' },
196
- { code: 'fr', name: 'French' },
197
- { code: 'ru', name: 'Russian' },
198
- { code: 'it', name: 'Italian' },
199
- { code: 'ko', name: 'Korean' },
200
- { code: 'ar', name: 'Arabic' }
201
- ];
202
- languages.forEach(({ code, name }) => {
203
- it(`should have DEV_GUIDELINES for ${name} (${code})`, () => {
204
- const guidelines = DEV_GUIDELINES_MAP[code];
205
- expect(guidelines).toBeDefined();
206
- expect(guidelines).not.toBe('');
207
- expect(guidelines.length).toBeGreaterThan(0);
208
- // All guidelines should mention "Think in English" or equivalent
209
- const hasEnglishThinking = guidelines.includes('Think in English') ||
210
- guidelines.includes('以英文思考') ||
211
- guidelines.includes('Думай по-английски') ||
212
- guidelines.includes('فكر بالإنجليزية');
213
- expect(hasEnglishThinking).toBe(true);
214
- });
215
- it(`should setup project with ${name} (${code})`, async () => {
216
- await setupExisting({
217
- cursor: true,
218
- lang: code,
219
- projectName: 'Test Project',
220
- jiraKey: 'TEST'
221
- });
222
- const projectJsonPath = join(testProject.path, '.kiro/project.json');
223
- assertFileContains(projectJsonPath, `"language": "${code}"`);
224
- });
225
- });
226
- });
227
- describe('Template Context Creation', () => {
228
- it('should create context with all required fields', () => {
229
- const context = createTemplateContext('ja', '.kiro', '.cursor');
230
- expect(context).toHaveProperty('LANG_CODE', 'ja');
231
- expect(context).toHaveProperty('DEV_GUIDELINES');
232
- expect(context).toHaveProperty('KIRO_DIR', '.kiro');
233
- expect(context).toHaveProperty('AGENT_DIR', '.cursor');
234
- expect(context.DEV_GUIDELINES).toContain('Think in English');
235
- expect(context.DEV_GUIDELINES).toContain('日本語');
236
- });
237
- it('should create context for different environments', () => {
238
- const cursorContext = createTemplateContext('ja', '.kiro', '.cursor');
239
- const claudeContext = createTemplateContext('ja', '.kiro', '.claude');
240
- expect(cursorContext.AGENT_DIR).toBe('.cursor');
241
- expect(claudeContext.AGENT_DIR).toBe('.claude');
242
- // DEV_GUIDELINES should be the same
243
- expect(cursorContext.DEV_GUIDELINES).toBe(claudeContext.DEV_GUIDELINES);
244
- });
245
- });
246
- describe('Error Handling', () => {
247
- it('should handle unsupported language code', async () => {
248
- await expect(async () => {
249
- await setupExisting({
250
- cursor: true,
251
- lang: 'invalid-lang',
252
- projectName: 'Test Project',
253
- jiraKey: 'TEST'
254
- });
255
- }).rejects.toThrow(/Unsupported language/);
256
- });
257
- it('should handle empty template gracefully', () => {
258
- const template = '';
259
- const context = createTemplateContext('ja', '.kiro', '.cursor');
260
- const rendered = renderTemplate(template, context);
261
- expect(rendered).toBe('');
262
- });
263
- it('should handle template without placeholders', () => {
264
- const template = 'This is a plain template without any placeholders.';
265
- const context = createTemplateContext('ja', '.kiro', '.cursor');
266
- const rendered = renderTemplate(template, context);
267
- expect(rendered).toBe(template);
268
- });
269
- });
270
- describe('Real-world Scenarios', () => {
271
- it('should correctly render GitHub SSoT template in Japanese', async () => {
272
- await setupExisting({
273
- cursor: true,
274
- lang: 'ja',
275
- projectName: 'リアルプロジェクト',
276
- jiraKey: 'REAL'
277
- });
278
- const githubSsotPath = join(testProject.path, '.cursor/rules/github-ssot.mdc');
279
- assertFileExists(githubSsotPath);
280
- const content = readFileSync(githubSsotPath, 'utf-8');
281
- // Frontmatter should have rendered guidelines
282
- expect(content).toMatch(/description:.*Think in English.*Japanese/);
283
- // Should not have placeholder
284
- expect(content).not.toContain('{{DEV_GUIDELINES}}');
285
- });
286
- it('should correctly render GitHub SSoT template in English', async () => {
287
- await setupExisting({
288
- cursor: true,
289
- lang: 'en',
290
- projectName: 'Real Project',
291
- jiraKey: 'REAL'
292
- });
293
- const githubSsotPath = join(testProject.path, '.cursor/rules/github-ssot.mdc');
294
- assertFileExists(githubSsotPath);
295
- const content = readFileSync(githubSsotPath, 'utf-8');
296
- // Frontmatter should have rendered guidelines
297
- expect(content).toMatch(/description:.*Think in English.*English/);
298
- // Should not have placeholder
299
- expect(content).not.toContain('{{DEV_GUIDELINES}}');
300
- // Should not have Japanese
301
- expect(content).not.toContain('日本語');
302
- });
303
- it('should support multiple projects with different languages', async () => {
304
- // Setup Japanese project
305
- const jaProject = createTestProject({ name: 'ja-project' });
306
- process.chdir(jaProject.path);
307
- await setupExisting({
308
- cursor: true,
309
- lang: 'ja',
310
- projectName: '日本語プロジェクト',
311
- jiraKey: 'JAPROJ'
312
- });
313
- const jaProjectJson = join(jaProject.path, '.kiro/project.json');
314
- assertFileContains(jaProjectJson, '"language": "ja"');
315
- // Setup English project
316
- const enProject = createTestProject({ name: 'en-project' });
317
- process.chdir(enProject.path);
318
- await setupExisting({
319
- cursor: true,
320
- lang: 'en',
321
- projectName: 'English Project',
322
- jiraKey: 'ENPROJ'
323
- });
324
- const enProjectJson = join(enProject.path, '.kiro/project.json');
325
- assertFileContains(enProjectJson, '"language": "en"');
326
- // Cleanup
327
- process.chdir(originalCwd);
328
- jaProject.destroy();
329
- enProject.destroy();
330
- });
331
- });
332
- });
333
- //# sourceMappingURL=internationalization.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internationalization.test.js","sourceRoot":"","sources":["../../../../src/__tests__/integration/internationalization.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAe,MAAM,iCAAiC,CAAC;AACjF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,wCAAwC;AACxC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACtB,QAAQ,EAAE,CAAC,QAAgB,EAAE,QAAkC,EAAE,EAAE;YACjE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe;QAChC,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;KAChB,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,IAAI,WAAwB,CAAC;IAC7B,IAAI,WAAmB,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACd,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5B,WAAW,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3B,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,4CAA4C;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACrE,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAClC,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,iDAAiD;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;YAEhF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC1C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAE3B,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEhD,iCAAiC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBAEpD,qCAAqC;gBACrC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC;YAEzC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACjD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;YAC/D,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,2CAA2C;YAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACrE,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAClC,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,gDAAgD;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;YAEhF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC1C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAE3B,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEhD,iCAAiC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBAEpD,oCAAoC;gBACpC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;gBAE3D,8BAA8B;gBAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC;YAEzC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,QAAQ,GAAG;;;;;;;;;;CAUtB,CAAC;YAEI,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,kCAAkC;YAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAErD,qCAAqC;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,QAAQ,GAAG;;;;;;;;;;CAUtB,CAAC;YAEI,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,kCAAkC;YAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAErD,oCAAoC;YACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAE9E,8BAA8B;YAC9B,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,QAAQ,GAAG;;;;CAItB,CAAC;YAEI,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;YAC7D,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,QAAQ,GAAG;;CAEtB,CAAC;YAEI,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,uCAAuC;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAExC,0CAA0C;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,MAAM,SAAS,GAAG;YAChB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;YAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;YAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC/B,CAAC;QAEF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACnC,EAAE,CAAC,kCAAkC,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;gBAC1D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAuC,CAAC,CAAC;gBAE/E,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAE7C,iEAAiE;gBACjE,MAAM,kBAAkB,GACtB,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBACvC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5B,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;oBACzC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAEzC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,IAAI,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE;gBAC3D,MAAM,aAAa,CAAC;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACrE,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAEhE,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAEvD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC7D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAEtE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEhD,oCAAoC;YACpC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,aAAa,CAAC;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,QAAQ,GAAG,oDAAoD,CAAC;YACtE,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;YAC/E,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAEjC,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAEtD,8CAA8C;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;YAEpE,8BAA8B;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;YAC/E,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAEjC,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAEtD,8CAA8C;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;YAEnE,8BAA8B;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAEpD,2BAA2B;YAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,yBAAyB;YACzB,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACjE,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;YAEtD,wBAAwB;YACxB,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,aAAa,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACjE,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;YAEtD,UAAU;YACV,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3B,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Integration tests for Claude Agent environment setup
3
- */
4
- export {};
5
- //# sourceMappingURL=claude-agent.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-agent.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/integration/setup/claude-agent.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,122 +0,0 @@
1
- /**
2
- * Integration tests for Claude Agent environment setup
3
- */
4
- import { describe, it, beforeEach, afterEach, vi } from 'vitest';
5
- import { join } from 'path';
6
- import { setupExisting } from '../../../commands/setup-existing.js';
7
- import { createTestProject } from './helpers/test-project.js';
8
- import { assertDirectoryExists, assertFileExists, assertDirectoryStructure, assertFileContains, } from './helpers/fs-assertions.js';
9
- // Mock readline to auto-confirm prompts
10
- vi.mock('readline', () => ({
11
- createInterface: () => ({
12
- question: (question, callback) => {
13
- callback('y'); // Auto-confirm
14
- },
15
- close: () => { },
16
- }),
17
- }));
18
- describe('Claude Agent Environment Setup', () => {
19
- let testProject;
20
- let originalCwd;
21
- beforeEach(() => {
22
- originalCwd = process.cwd();
23
- testProject = createTestProject({ name: 'claude-agent-test' });
24
- process.chdir(testProject.path);
25
- });
26
- afterEach(() => {
27
- process.chdir(originalCwd);
28
- testProject.destroy();
29
- });
30
- describe('Basic Setup', () => {
31
- it('should create .claude/agents directory', async () => {
32
- await setupExisting({
33
- claudeAgent: true,
34
- projectName: 'Test Project',
35
- jiraKey: 'TEST',
36
- });
37
- assertDirectoryExists(join(testProject.path, '.claude'));
38
- assertDirectoryExists(join(testProject.path, '.claude/agents'));
39
- });
40
- it('should create .kiro directory structure', async () => {
41
- await setupExisting({
42
- claudeAgent: true,
43
- projectName: 'Test Project',
44
- jiraKey: 'TEST',
45
- });
46
- assertDirectoryStructure(testProject.path, {
47
- '.kiro': 'dir',
48
- '.kiro/settings': 'dir',
49
- '.kiro/settings/templates': 'dir',
50
- '.kiro/steering': 'dir',
51
- '.kiro/specs': 'dir',
52
- });
53
- });
54
- it('should create project.json with correct metadata', async () => {
55
- await setupExisting({
56
- claudeAgent: true,
57
- projectName: 'Agent Test',
58
- jiraKey: 'AGNT',
59
- });
60
- const projectJsonPath = join(testProject.path, '.kiro/project.json');
61
- assertFileExists(projectJsonPath);
62
- assertFileContains(projectJsonPath, '"projectName": "Agent Test"');
63
- assertFileContains(projectJsonPath, '"jiraProjectKey": "AGNT"');
64
- });
65
- it('should create .env template', async () => {
66
- await setupExisting({
67
- claudeAgent: true,
68
- projectName: 'Test Project',
69
- jiraKey: 'TEST',
70
- });
71
- const envPath = join(testProject.path, '.env');
72
- assertFileExists(envPath);
73
- assertFileContains(envPath, 'JIRA_PROJECT_KEYS=TEST');
74
- });
75
- });
76
- describe('Claude Agent-specific Structure', () => {
77
- it('should have agents directory structure', async () => {
78
- await setupExisting({
79
- claudeAgent: true,
80
- projectName: 'Test Project',
81
- jiraKey: 'TEST',
82
- });
83
- const agentsDir = join(testProject.path, '.claude/agents');
84
- assertDirectoryExists(agentsDir);
85
- });
86
- it('should not create Cursor-specific directories', async () => {
87
- await setupExisting({
88
- claudeAgent: true,
89
- projectName: 'Test Project',
90
- jiraKey: 'TEST',
91
- });
92
- const { existsSync } = await import('fs');
93
- const cursorDir = join(testProject.path, '.cursor');
94
- // .cursor directory should not exist for Claude Agent setup
95
- expect(existsSync(cursorDir)).toBe(false);
96
- });
97
- it('should not create basic Claude rules directory', async () => {
98
- await setupExisting({
99
- claudeAgent: true,
100
- projectName: 'Test Project',
101
- jiraKey: 'TEST',
102
- });
103
- const { existsSync } = await import('fs');
104
- const claudeRulesDir = join(testProject.path, '.claude/rules');
105
- // Basic .claude/rules should not exist for agents setup
106
- expect(existsSync(claudeRulesDir)).toBe(false);
107
- });
108
- });
109
- describe('Language Support', () => {
110
- it('should support multiple languages', async () => {
111
- await setupExisting({
112
- claudeAgent: true,
113
- lang: 'zh-TW',
114
- projectName: 'Test Project',
115
- jiraKey: 'TEST',
116
- });
117
- const projectJson = join(testProject.path, '.kiro/project.json');
118
- assertFileContains(projectJson, '"language": "zh-TW"');
119
- });
120
- });
121
- });
122
- //# sourceMappingURL=claude-agent.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-agent.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/integration/setup/claude-agent.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Integration tests for Claude environment setup
3
- */
4
- export {};
5
- //# sourceMappingURL=claude.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/integration/setup/claude.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}