@sk8metal/michi-cli 0.3.0 → 0.5.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 (237) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/scripts/__tests__/spec-impl-workflow.test.js +4 -2
  3. package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +1 -1
  4. package/dist/scripts/config/config-schema.d.ts +52 -0
  5. package/dist/scripts/config/config-schema.d.ts.map +1 -1
  6. package/dist/scripts/config/config-schema.js +25 -0
  7. package/dist/scripts/config/config-schema.js.map +1 -1
  8. package/dist/scripts/config-global.d.ts +10 -0
  9. package/dist/scripts/config-global.d.ts.map +1 -0
  10. package/dist/scripts/config-global.js +111 -0
  11. package/dist/scripts/config-global.js.map +1 -0
  12. package/dist/scripts/confluence-sync.d.ts +22 -4
  13. package/dist/scripts/confluence-sync.d.ts.map +1 -1
  14. package/dist/scripts/confluence-sync.js +22 -12
  15. package/dist/scripts/confluence-sync.js.map +1 -1
  16. package/dist/scripts/jira-sync.d.ts.map +1 -1
  17. package/dist/scripts/jira-sync.js +201 -167
  18. package/dist/scripts/jira-sync.js.map +1 -1
  19. package/dist/scripts/list-projects.js.map +1 -1
  20. package/dist/scripts/multi-project-estimate.js.map +1 -1
  21. package/dist/scripts/phase-runner.d.ts +1 -1
  22. package/dist/scripts/phase-runner.d.ts.map +1 -1
  23. package/dist/scripts/phase-runner.js +295 -522
  24. package/dist/scripts/phase-runner.js.map +1 -1
  25. package/dist/scripts/pr-automation.d.ts.map +1 -1
  26. package/dist/scripts/pr-automation.js +11 -3
  27. package/dist/scripts/pr-automation.js.map +1 -1
  28. package/dist/scripts/pre-flight-check.d.ts.map +1 -1
  29. package/dist/scripts/pre-flight-check.js +10 -6
  30. package/dist/scripts/pre-flight-check.js.map +1 -1
  31. package/dist/scripts/resource-dashboard.js.map +1 -1
  32. package/dist/scripts/spec-impl-workflow.d.ts.map +1 -1
  33. package/dist/scripts/spec-impl-workflow.js +23 -7
  34. package/dist/scripts/spec-impl-workflow.js.map +1 -1
  35. package/dist/scripts/template/renderer.d.ts +1 -1
  36. package/dist/scripts/template/renderer.d.ts.map +1 -1
  37. package/dist/scripts/test-interactive.d.ts.map +1 -1
  38. package/dist/scripts/test-interactive.js +0 -15
  39. package/dist/scripts/test-interactive.js.map +1 -1
  40. package/dist/scripts/test-new-features.js +6 -3
  41. package/dist/scripts/test-new-features.js.map +1 -1
  42. package/dist/scripts/test-spec-generator.d.ts.map +1 -1
  43. package/dist/scripts/test-spec-generator.js +1 -2
  44. package/dist/scripts/test-spec-generator.js.map +1 -1
  45. package/dist/scripts/utils/__tests__/config-loader.test.js +114 -1
  46. package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -1
  47. package/dist/scripts/utils/__tests__/config-validator.test.js +2 -0
  48. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  49. package/dist/scripts/utils/__tests__/env-config.test.js +0 -2
  50. package/dist/scripts/utils/__tests__/env-config.test.js.map +1 -1
  51. package/dist/scripts/utils/__tests__/project-meta.test.d.ts +6 -0
  52. package/dist/scripts/utils/__tests__/project-meta.test.d.ts.map +1 -0
  53. package/dist/scripts/utils/__tests__/project-meta.test.js +154 -0
  54. package/dist/scripts/utils/__tests__/project-meta.test.js.map +1 -0
  55. package/dist/scripts/utils/__tests__/security-validator.test.d.ts +6 -0
  56. package/dist/scripts/utils/__tests__/security-validator.test.d.ts.map +1 -0
  57. package/dist/scripts/utils/__tests__/security-validator.test.js +219 -0
  58. package/dist/scripts/utils/__tests__/security-validator.test.js.map +1 -0
  59. package/dist/scripts/utils/config-loader.d.ts +14 -3
  60. package/dist/scripts/utils/config-loader.d.ts.map +1 -1
  61. package/dist/scripts/utils/config-loader.js +284 -46
  62. package/dist/scripts/utils/config-loader.js.map +1 -1
  63. package/dist/scripts/utils/config-sections.d.ts +54 -0
  64. package/dist/scripts/utils/config-sections.d.ts.map +1 -0
  65. package/dist/scripts/utils/config-sections.js +178 -0
  66. package/dist/scripts/utils/config-sections.js.map +1 -0
  67. package/dist/scripts/utils/config-validator.d.ts +4 -0
  68. package/dist/scripts/utils/config-validator.d.ts.map +1 -1
  69. package/dist/scripts/utils/config-validator.js +57 -1
  70. package/dist/scripts/utils/config-validator.js.map +1 -1
  71. package/dist/scripts/utils/confluence-approval.d.ts.map +1 -1
  72. package/dist/scripts/utils/confluence-approval.js +5 -3
  73. package/dist/scripts/utils/confluence-approval.js.map +1 -1
  74. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
  75. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  76. package/dist/scripts/utils/env-config.d.ts +1 -1
  77. package/dist/scripts/utils/env-config.d.ts.map +1 -1
  78. package/dist/scripts/utils/env-config.js +2 -14
  79. package/dist/scripts/utils/env-config.js.map +1 -1
  80. package/dist/scripts/utils/interactive-helpers.d.ts +32 -0
  81. package/dist/scripts/utils/interactive-helpers.d.ts.map +1 -0
  82. package/dist/scripts/utils/interactive-helpers.js +92 -0
  83. package/dist/scripts/utils/interactive-helpers.js.map +1 -0
  84. package/dist/scripts/utils/jira-issue-type-fetcher.d.ts.map +1 -1
  85. package/dist/scripts/utils/jira-issue-type-fetcher.js +27 -18
  86. package/dist/scripts/utils/jira-issue-type-fetcher.js.map +1 -1
  87. package/dist/scripts/utils/project-meta.d.ts +9 -0
  88. package/dist/scripts/utils/project-meta.d.ts.map +1 -1
  89. package/dist/scripts/utils/project-meta.js +22 -0
  90. package/dist/scripts/utils/project-meta.js.map +1 -1
  91. package/dist/scripts/utils/release-notes-generator.d.ts.map +1 -1
  92. package/dist/scripts/utils/release-notes-generator.js +2 -1
  93. package/dist/scripts/utils/release-notes-generator.js.map +1 -1
  94. package/dist/scripts/utils/security-validator.d.ts +55 -0
  95. package/dist/scripts/utils/security-validator.d.ts.map +1 -0
  96. package/dist/scripts/utils/security-validator.js +232 -0
  97. package/dist/scripts/utils/security-validator.js.map +1 -0
  98. package/dist/scripts/utils/spec-updater.d.ts +19 -0
  99. package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
  100. package/dist/scripts/utils/spec-updater.js.map +1 -1
  101. package/dist/scripts/utils/tasks-converter.d.ts.map +1 -1
  102. package/dist/scripts/utils/tasks-converter.js +2 -2
  103. package/dist/scripts/utils/tasks-converter.js.map +1 -1
  104. package/dist/scripts/utils/tasks-format-validator.d.ts.map +1 -1
  105. package/dist/scripts/utils/tasks-format-validator.js +0 -12
  106. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  107. package/dist/scripts/utils/test-runner.d.ts.map +1 -1
  108. package/dist/scripts/utils/test-runner.js +3 -2
  109. package/dist/scripts/utils/test-runner.js.map +1 -1
  110. package/dist/scripts/validate-phase.d.ts +1 -1
  111. package/dist/scripts/validate-phase.d.ts.map +1 -1
  112. package/dist/scripts/validate-phase.js +12 -62
  113. package/dist/scripts/validate-phase.js.map +1 -1
  114. package/dist/scripts/workflow-orchestrator.d.ts.map +1 -1
  115. package/dist/scripts/workflow-orchestrator.js +11 -16
  116. package/dist/scripts/workflow-orchestrator.js.map +1 -1
  117. package/dist/src/__tests__/integration/setup/init.test.d.ts +5 -0
  118. package/dist/src/__tests__/integration/setup/init.test.d.ts.map +1 -0
  119. package/dist/src/__tests__/integration/setup/init.test.js +352 -0
  120. package/dist/src/__tests__/integration/setup/init.test.js.map +1 -0
  121. package/dist/src/cli.d.ts.map +1 -1
  122. package/dist/src/cli.js +67 -21
  123. package/dist/src/cli.js.map +1 -1
  124. package/dist/src/commands/__tests__/init.test.d.ts +5 -0
  125. package/dist/src/commands/__tests__/init.test.d.ts.map +1 -0
  126. package/dist/src/commands/__tests__/init.test.js +255 -0
  127. package/dist/src/commands/__tests__/init.test.js.map +1 -0
  128. package/dist/src/commands/__tests__/migrate.test.d.ts +5 -0
  129. package/dist/src/commands/__tests__/migrate.test.d.ts.map +1 -0
  130. package/dist/src/commands/__tests__/migrate.test.js +216 -0
  131. package/dist/src/commands/__tests__/migrate.test.js.map +1 -0
  132. package/dist/src/commands/config-validate.d.ts +9 -0
  133. package/dist/src/commands/config-validate.d.ts.map +1 -0
  134. package/dist/src/commands/config-validate.js +90 -0
  135. package/dist/src/commands/config-validate.js.map +1 -0
  136. package/dist/src/commands/init.d.ts +29 -0
  137. package/dist/src/commands/init.d.ts.map +1 -0
  138. package/dist/src/commands/init.js +513 -0
  139. package/dist/src/commands/init.js.map +1 -0
  140. package/dist/src/commands/migrate.d.ts +25 -0
  141. package/dist/src/commands/migrate.d.ts.map +1 -0
  142. package/dist/src/commands/migrate.js +341 -0
  143. package/dist/src/commands/migrate.js.map +1 -0
  144. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  145. package/dist/src/commands/setup-existing.js +0 -1
  146. package/dist/src/commands/setup-existing.js.map +1 -1
  147. package/dist/vitest.config.d.ts.map +1 -1
  148. package/dist/vitest.config.js +32 -8
  149. package/dist/vitest.config.js.map +1 -1
  150. package/docs/michi-development/design/config-unification.md +4789 -0
  151. package/docs/user-guide/getting-started/github-token-setup.md +2 -1
  152. package/docs/user-guide/getting-started/new-repository-setup.md +1 -1
  153. package/docs/user-guide/getting-started/quick-start.md +1 -1
  154. package/docs/user-guide/getting-started/setup.md +35 -14
  155. package/docs/user-guide/guides/customization.md +64 -11
  156. package/docs/user-guide/guides/workflow.md +35 -21
  157. package/docs/user-guide/hands-on/claude-agent-setup.md +2 -2
  158. package/docs/user-guide/hands-on/claude-setup.md +2 -2
  159. package/docs/user-guide/hands-on/cursor-setup.md +2 -2
  160. package/docs/user-guide/hands-on/workflow-walkthrough.md +4 -1
  161. package/docs/user-guide/reference/config.md +30 -5
  162. package/docs/user-guide/reference/quick-reference.md +68 -74
  163. package/docs/user-guide/testing/test-planning-flow.md +4 -0
  164. package/env.example +1 -1
  165. package/package.json +3 -5
  166. package/scripts/__tests__/spec-impl-workflow.test.ts +5 -2
  167. package/scripts/config/config-schema.ts +40 -0
  168. package/scripts/config-global.ts +160 -0
  169. package/scripts/confluence-sync.ts +91 -27
  170. package/scripts/jira-sync.ts +284 -218
  171. package/scripts/list-projects.ts +2 -2
  172. package/scripts/multi-project-estimate.ts +3 -3
  173. package/scripts/phase-runner.ts +391 -594
  174. package/scripts/pr-automation.ts +15 -5
  175. package/scripts/pre-flight-check.ts +20 -9
  176. package/scripts/pre-publish-check.sh +3 -34
  177. package/scripts/resource-dashboard.ts +4 -4
  178. package/scripts/spec-impl-workflow.ts +23 -7
  179. package/scripts/template/renderer.ts +1 -1
  180. package/scripts/test-interactive.ts +0 -19
  181. package/scripts/test-new-features.ts +10 -7
  182. package/scripts/test-npm-package.sh +3 -34
  183. package/scripts/test-spec-generator.ts +3 -7
  184. package/scripts/utils/__tests__/config-loader.test.ts +149 -0
  185. package/scripts/utils/__tests__/config-validator.test.ts +2 -0
  186. package/scripts/utils/__tests__/env-config.test.ts +0 -2
  187. package/scripts/utils/__tests__/project-meta.test.ts +192 -0
  188. package/scripts/utils/__tests__/security-validator.test.ts +272 -0
  189. package/scripts/utils/config-loader.ts +328 -68
  190. package/scripts/utils/config-sections.ts +316 -0
  191. package/scripts/utils/config-validator.ts +66 -1
  192. package/scripts/utils/confluence-approval.ts +8 -6
  193. package/scripts/utils/confluence-hierarchy.ts +27 -27
  194. package/scripts/utils/env-config.ts +2 -14
  195. package/scripts/utils/interactive-helpers.ts +135 -0
  196. package/scripts/utils/jira-issue-type-fetcher.ts +29 -21
  197. package/scripts/utils/project-meta.ts +27 -0
  198. package/scripts/utils/release-notes-generator.ts +3 -2
  199. package/scripts/utils/security-validator.ts +286 -0
  200. package/scripts/utils/spec-updater.ts +37 -15
  201. package/scripts/utils/tasks-converter.ts +4 -6
  202. package/scripts/utils/tasks-format-validator.ts +0 -13
  203. package/scripts/utils/test-runner.ts +4 -3
  204. package/scripts/validate-phase.ts +21 -80
  205. package/scripts/workflow-orchestrator.ts +16 -25
  206. package/templates/claude/commands/kiro/kiro-spec-impl.md +5 -1
  207. package/templates/claude/commands/kiro/kiro-spec-tasks.md +3 -1
  208. package/templates/claude/commands/michi/confluence-sync.md +8 -2
  209. package/templates/claude/commands/michi/design-review.md +4 -0
  210. package/templates/claude/commands/michi/e2e-plan.md +4 -0
  211. package/templates/claude/commands/michi/license-check.md +4 -0
  212. package/templates/claude/commands/michi/pr-resolve.md +4 -0
  213. package/templates/claude/commands/michi/project-switch.md +8 -2
  214. package/templates/claude/commands/michi/spec-design.md +78 -0
  215. package/templates/claude/commands/michi/spec-impl.md +716 -0
  216. package/templates/claude/commands/michi/test-planning.md +174 -0
  217. package/templates/claude/commands/michi/validate-design.md +58 -0
  218. package/templates/claude/commands/michi/version-audit.md +4 -0
  219. package/templates/claude-agent/commands/kiro/kiro-spec-impl.md +1 -1
  220. package/templates/cursor/commands/kiro/kiro-spec-impl.md +1 -1
  221. package/templates/michi/cc-sdd-overrides/README.md +8 -0
  222. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +53 -0
  223. package/dist/scripts/config-interactive.d.ts +0 -10
  224. package/dist/scripts/config-interactive.d.ts.map +0 -1
  225. package/dist/scripts/config-interactive.js +0 -372
  226. package/dist/scripts/config-interactive.js.map +0 -1
  227. package/dist/scripts/setup-existing-project.d.ts +0 -15
  228. package/dist/scripts/setup-existing-project.d.ts.map +0 -1
  229. package/dist/scripts/setup-existing-project.js +0 -455
  230. package/dist/scripts/setup-existing-project.js.map +0 -1
  231. package/dist/scripts/setup-interactive.d.ts +0 -10
  232. package/dist/scripts/setup-interactive.d.ts.map +0 -1
  233. package/dist/scripts/setup-interactive.js +0 -413
  234. package/dist/scripts/setup-interactive.js.map +0 -1
  235. package/scripts/config-interactive.ts +0 -550
  236. package/scripts/setup-existing-project.ts +0 -585
  237. package/scripts/setup-interactive.ts +0 -565
@@ -5,10 +5,30 @@
5
5
  import { readFileSync, existsSync, statSync } from 'fs';
6
6
  import { resolve, relative, isAbsolute } from 'path';
7
7
  import { fileURLToPath } from 'url';
8
- import { config } from 'dotenv';
8
+ import { homedir } from 'os';
9
+ import { config, parse as dotenvParse } from 'dotenv';
9
10
  import { AppConfigSchema } from '../config/config-schema.js';
10
11
  // 環境変数読み込み
11
12
  config();
13
+ /**
14
+ * グローバル設定ファイルのパス定数
15
+ */
16
+ const GLOBAL_CONFIG_DIR = '.michi';
17
+ const GLOBAL_CONFIG_FILE = 'config.json';
18
+ /**
19
+ * グローバル設定ファイルのパスを取得
20
+ */
21
+ export function getGlobalConfigPath() {
22
+ const home = homedir();
23
+ return resolve(home, GLOBAL_CONFIG_DIR, GLOBAL_CONFIG_FILE);
24
+ }
25
+ /**
26
+ * グローバル.envファイルのパスを取得
27
+ */
28
+ export function getGlobalEnvPath() {
29
+ const home = process.env.HOME || homedir();
30
+ return resolve(home, GLOBAL_CONFIG_DIR, '.env');
31
+ }
12
32
  /**
13
33
  * 深いマージ(Deep Merge)
14
34
  * オブジェクトを再帰的にマージする
@@ -17,7 +37,7 @@ function deepMerge(target, source) {
17
37
  const result = { ...target };
18
38
  for (const key in source) {
19
39
  if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {
20
- result[key] = deepMerge(result[key] || {}, source[key]);
40
+ result[key] = deepMerge((result[key] || {}), source[key]);
21
41
  }
22
42
  else if (source[key] !== undefined) {
23
43
  result[key] = source[key];
@@ -98,7 +118,8 @@ function loadDefaultConfig() {
98
118
  }
99
119
  catch (error) {
100
120
  if (error instanceof SyntaxError) {
101
- throw new Error(`Invalid JSON in default config file ${defaultConfigPath}: ${error.message}\nLine: ${error.line}, Column: ${error.column}`);
121
+ // SyntaxErrorには標準的なlinecolumnプロパティはないため、messageのみ使用
122
+ throw new Error(`Invalid JSON in default config file ${defaultConfigPath}: ${error.message}`);
102
123
  }
103
124
  if (error instanceof Error && error.name === 'ZodError') {
104
125
  throw new Error(`Default config validation failed: ${error.message}\nFile: ${defaultConfigPath}`);
@@ -169,57 +190,174 @@ function loadProjectConfig(projectRoot = process.cwd()) {
169
190
  }
170
191
  }
171
192
  /**
172
- * 設定を読み込んでマージ
173
- *
174
- * マージ順序:
175
- * 1. デフォルト設定
176
- * 2. プロジェクト固有設定(上書き)
177
- * 3. 環境変数(最終上書き、既存の動作を維持)
193
+ * グローバル設定を読み込む
178
194
  */
179
- export function loadConfig(projectRoot = process.cwd()) {
180
- // デフォルト設定を読み込み
181
- const defaultConfig = loadDefaultConfig();
182
- // プロジェクト固有設定を読み込み
183
- const projectConfig = loadProjectConfig(projectRoot);
184
- // マージ(プロジェクト設定がデフォルトを上書き)
185
- const mergedConfig = projectConfig
186
- ? deepMerge(defaultConfig, projectConfig)
187
- : defaultConfig;
188
- // 環境変数で最終上書き(条件付き)
189
- // 注意: config.jsonにspaces設定がある場合は環境変数を無視(config.jsonを優先)
190
- if (process.env.CONFLUENCE_PRD_SPACE) {
191
- if (!mergedConfig.confluence) {
192
- mergedConfig.confluence = {
193
- pageCreationGranularity: 'single',
194
- pageTitleFormat: '[{projectName}] {featureName} {docTypeLabel}',
195
- autoLabels: ['{projectLabel}', '{docType}', '{featureName}', 'github-sync']
196
- };
197
- }
198
- // spacesオブジェクトを確実に作成
199
- if (!mergedConfig.confluence.spaces) {
200
- mergedConfig.confluence.spaces = {};
195
+ function loadGlobalConfig() {
196
+ const globalConfigPath = getGlobalConfigPath();
197
+ if (!existsSync(globalConfigPath)) {
198
+ return null;
199
+ }
200
+ try {
201
+ const content = readFileSync(globalConfigPath, 'utf-8');
202
+ const parsed = JSON.parse(content);
203
+ // 環境変数を展開
204
+ const expanded = expandEnvVarsInConfig(parsed);
205
+ return expanded;
206
+ }
207
+ catch (error) {
208
+ if (error instanceof SyntaxError) {
209
+ console.warn(`⚠️ Invalid JSON in global config ${globalConfigPath}: ${error.message}`);
201
210
  }
202
- // 各フィールドを個別にチェックし、未定義のフィールドのみ環境変数で設定
203
- // 既に定義されている値は変更しない
204
- if (!mergedConfig.confluence.spaces.requirements) {
205
- mergedConfig.confluence.spaces.requirements = process.env.CONFLUENCE_PRD_SPACE;
211
+ else {
212
+ console.warn(`⚠️ Failed to load global config: ${error instanceof Error ? error.message : 'Unknown error'}`);
206
213
  }
207
- if (!mergedConfig.confluence.spaces.design) {
208
- mergedConfig.confluence.spaces.design = process.env.CONFLUENCE_PRD_SPACE;
214
+ return null;
215
+ }
216
+ }
217
+ /**
218
+ * グローバル.envを読み込み
219
+ * ~/.michi/.env から組織共通の環境変数を読み込む
220
+ */
221
+ function loadGlobalEnv() {
222
+ const globalEnvPath = getGlobalEnvPath();
223
+ if (!existsSync(globalEnvPath)) {
224
+ return {};
225
+ }
226
+ try {
227
+ const content = readFileSync(globalEnvPath, 'utf-8');
228
+ return dotenvParse(content);
229
+ }
230
+ catch (error) {
231
+ console.warn(`⚠️ Failed to load global env from ${globalEnvPath}: ${error instanceof Error ? error.message : 'Unknown error'}`);
232
+ return {};
233
+ }
234
+ }
235
+ /**
236
+ * プロジェクト.envを読み込み
237
+ * .env からプロジェクト固有の環境変数を読み込む
238
+ */
239
+ function loadProjectEnv(projectRoot) {
240
+ const projectEnvPath = resolve(projectRoot, '.env');
241
+ if (!existsSync(projectEnvPath)) {
242
+ return {};
243
+ }
244
+ try {
245
+ const content = readFileSync(projectEnvPath, 'utf-8');
246
+ return dotenvParse(content);
247
+ }
248
+ catch (error) {
249
+ console.warn(`⚠️ Failed to load project env from ${projectEnvPath}: ${error instanceof Error ? error.message : 'Unknown error'}`);
250
+ return {};
251
+ }
252
+ }
253
+ /**
254
+ * プロジェクトメタデータを読み込み
255
+ * .kiro/project.json からプロジェクト情報を読み込む
256
+ */
257
+ function loadProjectMetadata(projectRoot) {
258
+ const projectJsonPath = resolve(projectRoot, '.kiro/project.json');
259
+ if (!existsSync(projectJsonPath)) {
260
+ return null;
261
+ }
262
+ try {
263
+ const content = readFileSync(projectJsonPath, 'utf-8');
264
+ const meta = JSON.parse(content);
265
+ // project フィールドとして返す
266
+ return { project: meta };
267
+ }
268
+ catch (error) {
269
+ if (error instanceof SyntaxError) {
270
+ console.warn(`⚠️ Invalid JSON in ${projectJsonPath}: ${error.message}`);
209
271
  }
210
- if (!mergedConfig.confluence.spaces.tasks) {
211
- mergedConfig.confluence.spaces.tasks = process.env.CONFLUENCE_PRD_SPACE;
272
+ else {
273
+ console.warn(`⚠️ Failed to load project metadata from ${projectJsonPath}: ${error instanceof Error ? error.message : 'Unknown error'}`);
212
274
  }
275
+ return null;
213
276
  }
214
- // JIRA issue type IDを環境変数から取得(インスタンス固有の値のため)
215
- if (mergedConfig.jira && mergedConfig.jira.issueTypes) {
216
- if (process.env.JIRA_ISSUE_TYPE_STORY) {
217
- mergedConfig.jira.issueTypes.story = process.env.JIRA_ISSUE_TYPE_STORY;
277
+ }
278
+ /**
279
+ * 環境変数から設定へのマッピング
280
+ */
281
+ const ENV_TO_CONFIG_MAPPING = {
282
+ 'ATLASSIAN_URL': 'atlassian.url',
283
+ 'ATLASSIAN_EMAIL': 'atlassian.email',
284
+ 'ATLASSIAN_API_TOKEN': 'atlassian.apiToken',
285
+ 'GITHUB_ORG': 'github.org',
286
+ 'GITHUB_TOKEN': 'github.token',
287
+ 'CONFLUENCE_PRD_SPACE': 'confluence.spaces.requirements',
288
+ 'CONFLUENCE_QA_SPACE': 'confluence.spaces.qa',
289
+ 'CONFLUENCE_RELEASE_SPACE': 'confluence.spaces.release',
290
+ 'JIRA_ISSUE_TYPE_STORY': 'jira.issueTypes.story',
291
+ 'JIRA_ISSUE_TYPE_SUBTASK': 'jira.issueTypes.subtask',
292
+ 'JIRA_PROJECT_KEYS': 'jira.projectKeys',
293
+ };
294
+ /**
295
+ * ドットパスでオブジェクトの値を設定
296
+ * 例: setValueByPath(obj, 'a.b.c', value) => obj.a.b.c = value
297
+ */
298
+ function setValueByPath(obj, path, value) {
299
+ const keys = path.split('.');
300
+ let current = obj;
301
+ for (let i = 0; i < keys.length - 1; i++) {
302
+ const key = keys[i];
303
+ if (!current[key] || typeof current[key] !== 'object') {
304
+ current[key] = {};
218
305
  }
219
- if (process.env.JIRA_ISSUE_TYPE_SUBTASK) {
220
- mergedConfig.jira.issueTypes.subtask = process.env.JIRA_ISSUE_TYPE_SUBTASK;
306
+ current = current[key];
307
+ }
308
+ current[keys[keys.length - 1]] = value;
309
+ }
310
+ /**
311
+ * 環境変数を設定オブジェクトに適用
312
+ */
313
+ function applyEnvVarsToConfig(config, envVars) {
314
+ const result = { ...config };
315
+ for (const [envKey, configPath] of Object.entries(ENV_TO_CONFIG_MAPPING)) {
316
+ if (envVars[envKey]) {
317
+ setValueByPath(result, configPath, envVars[envKey]);
221
318
  }
222
319
  }
320
+ return result;
321
+ }
322
+ /**
323
+ * 設定を読み込んでマージ
324
+ *
325
+ * マージ順序(優先度: 低 → 高):
326
+ * 1. デフォルト設定
327
+ * 2. グローバル.env(~/.michi/.env)
328
+ * 3. グローバル設定(~/.michi/config.json)
329
+ * 4. プロジェクトメタデータ(.kiro/project.json)
330
+ * 5. プロジェクト設定(.michi/config.json)
331
+ * 6. プロジェクト.env(.env)- 最高優先度
332
+ */
333
+ export function loadConfig(projectRoot = process.cwd()) {
334
+ // 1. デフォルト設定を読み込み(最低優先度)
335
+ let mergedConfig = loadDefaultConfig();
336
+ // 2. グローバル.envを読み込み
337
+ const globalEnvVars = loadGlobalEnv();
338
+ if (Object.keys(globalEnvVars).length > 0) {
339
+ mergedConfig = applyEnvVarsToConfig(mergedConfig, globalEnvVars);
340
+ }
341
+ // 3. グローバル設定を読み込み
342
+ const globalConfig = loadGlobalConfig();
343
+ if (globalConfig) {
344
+ mergedConfig = deepMerge(mergedConfig, globalConfig);
345
+ }
346
+ // 4. プロジェクトメタデータを読み込み
347
+ const projectMeta = loadProjectMetadata(projectRoot);
348
+ if (projectMeta) {
349
+ mergedConfig = deepMerge(mergedConfig, projectMeta);
350
+ }
351
+ // 5. プロジェクト固有設定を読み込み
352
+ const projectConfig = loadProjectConfig(projectRoot);
353
+ if (projectConfig) {
354
+ mergedConfig = deepMerge(mergedConfig, projectConfig);
355
+ }
356
+ // 6. プロジェクト.envを読み込み(最高優先度)
357
+ const projectEnvVars = loadProjectEnv(projectRoot);
358
+ if (Object.keys(projectEnvVars).length > 0) {
359
+ mergedConfig = applyEnvVarsToConfig(mergedConfig, projectEnvVars);
360
+ }
223
361
  // スキーマで最終バリデーション
224
362
  return AppConfigSchema.parse(mergedConfig);
225
363
  }
@@ -231,8 +369,16 @@ let cachedConfig = null;
231
369
  let cachedProjectRoot = null;
232
370
  let cachedConfigMtime = null;
233
371
  let cachedDefaultConfigMtime = null;
372
+ let cachedGlobalConfigMtime = null;
373
+ let cachedGlobalEnvMtime = null;
374
+ let cachedProjectMetaMtime = null;
375
+ let cachedProjectEnvMtime = null;
234
376
  export function getConfig(projectRoot = process.cwd()) {
235
377
  const projectConfigPath = resolveConfigPath(projectRoot);
378
+ const globalConfigPath = getGlobalConfigPath();
379
+ const globalEnvPath = getGlobalEnvPath();
380
+ const projectMetaPath = resolve(projectRoot, '.kiro/project.json');
381
+ const projectEnvPath = resolve(projectRoot, '.env');
236
382
  const currentFileUrl = import.meta.url;
237
383
  const currentFilePath = fileURLToPath(currentFileUrl);
238
384
  const currentDir = resolve(currentFilePath, '..');
@@ -260,6 +406,27 @@ export function getConfig(projectRoot = process.cwd()) {
260
406
  defaultConfigChanged = true;
261
407
  cachedDefaultConfigMtime = null;
262
408
  }
409
+ // グローバル設定ファイルの更新時刻をチェック
410
+ let globalConfigChanged = false;
411
+ try {
412
+ if (existsSync(globalConfigPath)) {
413
+ const globalStats = statSync(globalConfigPath);
414
+ if (cachedGlobalConfigMtime !== globalStats.mtimeMs) {
415
+ globalConfigChanged = true;
416
+ cachedGlobalConfigMtime = globalStats.mtimeMs;
417
+ }
418
+ }
419
+ else {
420
+ if (cachedGlobalConfigMtime !== null) {
421
+ globalConfigChanged = true;
422
+ cachedGlobalConfigMtime = null;
423
+ }
424
+ }
425
+ }
426
+ catch {
427
+ globalConfigChanged = true;
428
+ cachedGlobalConfigMtime = null;
429
+ }
263
430
  // プロジェクト設定ファイルの更新時刻をチェック
264
431
  let projectConfigChanged = false;
265
432
  try {
@@ -283,11 +450,78 @@ export function getConfig(projectRoot = process.cwd()) {
283
450
  projectConfigChanged = true;
284
451
  cachedConfigMtime = null;
285
452
  }
453
+ // グローバル.envファイルの更新時刻をチェック
454
+ let globalEnvChanged = false;
455
+ try {
456
+ if (existsSync(globalEnvPath)) {
457
+ const globalEnvStats = statSync(globalEnvPath);
458
+ if (cachedGlobalEnvMtime !== globalEnvStats.mtimeMs) {
459
+ globalEnvChanged = true;
460
+ cachedGlobalEnvMtime = globalEnvStats.mtimeMs;
461
+ }
462
+ }
463
+ else {
464
+ if (cachedGlobalEnvMtime !== null) {
465
+ globalEnvChanged = true;
466
+ cachedGlobalEnvMtime = null;
467
+ }
468
+ }
469
+ }
470
+ catch {
471
+ globalEnvChanged = true;
472
+ cachedGlobalEnvMtime = null;
473
+ }
474
+ // プロジェクトメタデータファイルの更新時刻をチェック
475
+ let projectMetaChanged = false;
476
+ try {
477
+ if (existsSync(projectMetaPath)) {
478
+ const projectMetaStats = statSync(projectMetaPath);
479
+ if (cachedProjectMetaMtime !== projectMetaStats.mtimeMs) {
480
+ projectMetaChanged = true;
481
+ cachedProjectMetaMtime = projectMetaStats.mtimeMs;
482
+ }
483
+ }
484
+ else {
485
+ if (cachedProjectMetaMtime !== null) {
486
+ projectMetaChanged = true;
487
+ cachedProjectMetaMtime = null;
488
+ }
489
+ }
490
+ }
491
+ catch {
492
+ projectMetaChanged = true;
493
+ cachedProjectMetaMtime = null;
494
+ }
495
+ // プロジェクト.envファイルの更新時刻をチェック
496
+ let projectEnvChanged = false;
497
+ try {
498
+ if (existsSync(projectEnvPath)) {
499
+ const projectEnvStats = statSync(projectEnvPath);
500
+ if (cachedProjectEnvMtime !== projectEnvStats.mtimeMs) {
501
+ projectEnvChanged = true;
502
+ cachedProjectEnvMtime = projectEnvStats.mtimeMs;
503
+ }
504
+ }
505
+ else {
506
+ if (cachedProjectEnvMtime !== null) {
507
+ projectEnvChanged = true;
508
+ cachedProjectEnvMtime = null;
509
+ }
510
+ }
511
+ }
512
+ catch {
513
+ projectEnvChanged = true;
514
+ cachedProjectEnvMtime = null;
515
+ }
286
516
  // キャッシュが有効で、設定ファイルが変更されていない場合はキャッシュを返す
287
517
  if (cachedConfig &&
288
518
  cachedProjectRoot === projectRoot &&
289
519
  !defaultConfigChanged &&
290
- !projectConfigChanged) {
520
+ !globalConfigChanged &&
521
+ !globalEnvChanged &&
522
+ !projectConfigChanged &&
523
+ !projectMetaChanged &&
524
+ !projectEnvChanged) {
291
525
  return cachedConfig;
292
526
  }
293
527
  // 設定を再読み込み
@@ -303,6 +537,10 @@ export function clearConfigCache() {
303
537
  cachedProjectRoot = null;
304
538
  cachedConfigMtime = null;
305
539
  cachedDefaultConfigMtime = null;
540
+ cachedGlobalConfigMtime = null;
541
+ cachedGlobalEnvMtime = null;
542
+ cachedProjectMetaMtime = null;
543
+ cachedProjectEnvMtime = null;
306
544
  }
307
545
  /**
308
546
  * 設定ファイルのパスを解決(外部から使用可能)
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../scripts/utils/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../scripts/utils/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 設定セクションの対話的取得関数
3
+ */
4
+ import type * as readline from 'readline';
5
+ import type { ProjectMetadata } from './project-meta.js';
6
+ /**
7
+ * Confluence階層設定
8
+ */
9
+ export interface ConfluenceHierarchyConfig {
10
+ mode?: 'simple' | 'nested';
11
+ parentPageTitle?: string;
12
+ structure?: unknown;
13
+ }
14
+ /**
15
+ * Confluence設定結果
16
+ */
17
+ export interface ConfluenceConfigResult {
18
+ pageCreationGranularity: string;
19
+ pageTitleFormat?: string;
20
+ hierarchy?: ConfluenceHierarchyConfig;
21
+ }
22
+ /**
23
+ * JIRA設定結果
24
+ */
25
+ export interface JiraConfigResult {
26
+ createEpic: boolean;
27
+ storyCreationGranularity: string;
28
+ selectedPhases?: string[];
29
+ storyPoints: string;
30
+ }
31
+ /**
32
+ * ワークフロー設定結果
33
+ */
34
+ export interface WorkflowConfigResult {
35
+ enabledPhases: string[];
36
+ approvalGates?: {
37
+ requirements?: string[];
38
+ design?: string[];
39
+ release?: string[];
40
+ };
41
+ }
42
+ /**
43
+ * Confluence設定を対話的に取得
44
+ */
45
+ export declare function getConfluenceConfig(rl: readline.Interface, _projectMeta?: ProjectMetadata): Promise<ConfluenceConfigResult>;
46
+ /**
47
+ * JIRA設定を対話的に取得
48
+ */
49
+ export declare function getJiraConfig(rl: readline.Interface): Promise<JiraConfigResult>;
50
+ /**
51
+ * ワークフロー設定を対話的に取得
52
+ */
53
+ export declare function getWorkflowConfig(rl: readline.Interface): Promise<WorkflowConfigResult>;
54
+ //# sourceMappingURL=config-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-sections.d.ts","sourceRoot":"","sources":["../../../scripts/utils/config-sections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CA0GjC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiFrF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgE7F"}