colyn-cli 3.1.4

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 (263) hide show
  1. package/README-en.md +85 -0
  2. package/README.md +85 -0
  3. package/bin/colyn +25 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +116 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/add.d.ts +6 -0
  9. package/dist/commands/add.d.ts.map +1 -0
  10. package/dist/commands/add.helpers.d.ts +48 -0
  11. package/dist/commands/add.helpers.d.ts.map +1 -0
  12. package/dist/commands/add.helpers.js +251 -0
  13. package/dist/commands/add.helpers.js.map +1 -0
  14. package/dist/commands/add.js +286 -0
  15. package/dist/commands/add.js.map +1 -0
  16. package/dist/commands/checkout.d.ts +16 -0
  17. package/dist/commands/checkout.d.ts.map +1 -0
  18. package/dist/commands/checkout.js +428 -0
  19. package/dist/commands/checkout.js.map +1 -0
  20. package/dist/commands/completion.d.ts +10 -0
  21. package/dist/commands/completion.d.ts.map +1 -0
  22. package/dist/commands/completion.js +380 -0
  23. package/dist/commands/completion.js.map +1 -0
  24. package/dist/commands/config.d.ts +11 -0
  25. package/dist/commands/config.d.ts.map +1 -0
  26. package/dist/commands/config.js +338 -0
  27. package/dist/commands/config.js.map +1 -0
  28. package/dist/commands/index.d.ts +10 -0
  29. package/dist/commands/index.d.ts.map +1 -0
  30. package/dist/commands/index.js +41 -0
  31. package/dist/commands/index.js.map +1 -0
  32. package/dist/commands/info.d.ts +6 -0
  33. package/dist/commands/info.d.ts.map +1 -0
  34. package/dist/commands/info.js +374 -0
  35. package/dist/commands/info.js.map +1 -0
  36. package/dist/commands/init.d.ts +6 -0
  37. package/dist/commands/init.d.ts.map +1 -0
  38. package/dist/commands/init.handlers.d.ts +27 -0
  39. package/dist/commands/init.handlers.d.ts.map +1 -0
  40. package/dist/commands/init.handlers.js +314 -0
  41. package/dist/commands/init.handlers.js.map +1 -0
  42. package/dist/commands/init.helpers.d.ts +42 -0
  43. package/dist/commands/init.helpers.d.ts.map +1 -0
  44. package/dist/commands/init.helpers.js +275 -0
  45. package/dist/commands/init.helpers.js.map +1 -0
  46. package/dist/commands/init.js +61 -0
  47. package/dist/commands/init.js.map +1 -0
  48. package/dist/commands/install.d.ts +6 -0
  49. package/dist/commands/install.d.ts.map +1 -0
  50. package/dist/commands/install.helpers.d.ts +32 -0
  51. package/dist/commands/install.helpers.d.ts.map +1 -0
  52. package/dist/commands/install.helpers.js +124 -0
  53. package/dist/commands/install.helpers.js.map +1 -0
  54. package/dist/commands/install.js +104 -0
  55. package/dist/commands/install.js.map +1 -0
  56. package/dist/commands/list-project.d.ts +11 -0
  57. package/dist/commands/list-project.d.ts.map +1 -0
  58. package/dist/commands/list-project.js +260 -0
  59. package/dist/commands/list-project.js.map +1 -0
  60. package/dist/commands/list.d.ts +15 -0
  61. package/dist/commands/list.d.ts.map +1 -0
  62. package/dist/commands/list.helpers.d.ts +50 -0
  63. package/dist/commands/list.helpers.d.ts.map +1 -0
  64. package/dist/commands/list.helpers.js +143 -0
  65. package/dist/commands/list.helpers.js.map +1 -0
  66. package/dist/commands/list.js +530 -0
  67. package/dist/commands/list.js.map +1 -0
  68. package/dist/commands/merge.d.ts +6 -0
  69. package/dist/commands/merge.d.ts.map +1 -0
  70. package/dist/commands/merge.helpers.d.ts +74 -0
  71. package/dist/commands/merge.helpers.d.ts.map +1 -0
  72. package/dist/commands/merge.helpers.js +307 -0
  73. package/dist/commands/merge.helpers.js.map +1 -0
  74. package/dist/commands/merge.js +260 -0
  75. package/dist/commands/merge.js.map +1 -0
  76. package/dist/commands/release.d.ts +6 -0
  77. package/dist/commands/release.d.ts.map +1 -0
  78. package/dist/commands/release.helpers.d.ts +61 -0
  79. package/dist/commands/release.helpers.d.ts.map +1 -0
  80. package/dist/commands/release.helpers.js +277 -0
  81. package/dist/commands/release.helpers.js.map +1 -0
  82. package/dist/commands/release.js +127 -0
  83. package/dist/commands/release.js.map +1 -0
  84. package/dist/commands/remove.d.ts +6 -0
  85. package/dist/commands/remove.d.ts.map +1 -0
  86. package/dist/commands/remove.helpers.d.ts +59 -0
  87. package/dist/commands/remove.helpers.d.ts.map +1 -0
  88. package/dist/commands/remove.helpers.js +190 -0
  89. package/dist/commands/remove.helpers.js.map +1 -0
  90. package/dist/commands/remove.js +137 -0
  91. package/dist/commands/remove.js.map +1 -0
  92. package/dist/commands/repair.d.ts +6 -0
  93. package/dist/commands/repair.d.ts.map +1 -0
  94. package/dist/commands/repair.helpers.d.ts +5 -0
  95. package/dist/commands/repair.helpers.d.ts.map +1 -0
  96. package/dist/commands/repair.helpers.js +499 -0
  97. package/dist/commands/repair.helpers.js.map +1 -0
  98. package/dist/commands/repair.js +28 -0
  99. package/dist/commands/repair.js.map +1 -0
  100. package/dist/commands/status.d.ts +6 -0
  101. package/dist/commands/status.d.ts.map +1 -0
  102. package/dist/commands/status.js +116 -0
  103. package/dist/commands/status.js.map +1 -0
  104. package/dist/commands/system-integration.d.ts +6 -0
  105. package/dist/commands/system-integration.d.ts.map +1 -0
  106. package/dist/commands/system-integration.helpers.d.ts +70 -0
  107. package/dist/commands/system-integration.helpers.d.ts.map +1 -0
  108. package/dist/commands/system-integration.helpers.js +313 -0
  109. package/dist/commands/system-integration.helpers.js.map +1 -0
  110. package/dist/commands/system-integration.js +132 -0
  111. package/dist/commands/system-integration.js.map +1 -0
  112. package/dist/commands/tmux.d.ts +11 -0
  113. package/dist/commands/tmux.d.ts.map +1 -0
  114. package/dist/commands/tmux.js +500 -0
  115. package/dist/commands/tmux.js.map +1 -0
  116. package/dist/commands/todo.d.ts +6 -0
  117. package/dist/commands/todo.d.ts.map +1 -0
  118. package/dist/commands/todo.helpers.d.ts +50 -0
  119. package/dist/commands/todo.helpers.d.ts.map +1 -0
  120. package/dist/commands/todo.helpers.js +297 -0
  121. package/dist/commands/todo.helpers.js.map +1 -0
  122. package/dist/commands/todo.js +579 -0
  123. package/dist/commands/todo.js.map +1 -0
  124. package/dist/commands/update.d.ts +18 -0
  125. package/dist/commands/update.d.ts.map +1 -0
  126. package/dist/commands/update.helpers.d.ts +89 -0
  127. package/dist/commands/update.helpers.d.ts.map +1 -0
  128. package/dist/commands/update.helpers.js +335 -0
  129. package/dist/commands/update.helpers.js.map +1 -0
  130. package/dist/commands/update.js +187 -0
  131. package/dist/commands/update.js.map +1 -0
  132. package/dist/core/config-loader.d.ts +47 -0
  133. package/dist/core/config-loader.d.ts.map +1 -0
  134. package/dist/core/config-loader.js +188 -0
  135. package/dist/core/config-loader.js.map +1 -0
  136. package/dist/core/config-merger.d.ts +29 -0
  137. package/dist/core/config-merger.d.ts.map +1 -0
  138. package/dist/core/config-merger.js +100 -0
  139. package/dist/core/config-merger.js.map +1 -0
  140. package/dist/core/config-migration.d.ts +64 -0
  141. package/dist/core/config-migration.d.ts.map +1 -0
  142. package/dist/core/config-migration.js +340 -0
  143. package/dist/core/config-migration.js.map +1 -0
  144. package/dist/core/config-new.d.ts +19 -0
  145. package/dist/core/config-new.d.ts.map +1 -0
  146. package/dist/core/config-new.js +58 -0
  147. package/dist/core/config-new.js.map +1 -0
  148. package/dist/core/config-schema.d.ts +221 -0
  149. package/dist/core/config-schema.d.ts.map +1 -0
  150. package/dist/core/config-schema.js +168 -0
  151. package/dist/core/config-schema.js.map +1 -0
  152. package/dist/core/config.d.ts +55 -0
  153. package/dist/core/config.d.ts.map +1 -0
  154. package/dist/core/config.js +143 -0
  155. package/dist/core/config.js.map +1 -0
  156. package/dist/core/dev-server.d.ts +29 -0
  157. package/dist/core/dev-server.d.ts.map +1 -0
  158. package/dist/core/dev-server.js +54 -0
  159. package/dist/core/dev-server.js.map +1 -0
  160. package/dist/core/discovery.d.ts +51 -0
  161. package/dist/core/discovery.d.ts.map +1 -0
  162. package/dist/core/discovery.js +247 -0
  163. package/dist/core/discovery.js.map +1 -0
  164. package/dist/core/env.d.ts +13 -0
  165. package/dist/core/env.d.ts.map +1 -0
  166. package/dist/core/env.js +75 -0
  167. package/dist/core/env.js.map +1 -0
  168. package/dist/core/git.d.ts +31 -0
  169. package/dist/core/git.d.ts.map +1 -0
  170. package/dist/core/git.js +56 -0
  171. package/dist/core/git.js.map +1 -0
  172. package/dist/core/paths.d.ts +86 -0
  173. package/dist/core/paths.d.ts.map +1 -0
  174. package/dist/core/paths.js +256 -0
  175. package/dist/core/paths.js.map +1 -0
  176. package/dist/core/tmux-config.d.ts +174 -0
  177. package/dist/core/tmux-config.d.ts.map +1 -0
  178. package/dist/core/tmux-config.js +545 -0
  179. package/dist/core/tmux-config.js.map +1 -0
  180. package/dist/core/tmux-config.legacy.d.ts +243 -0
  181. package/dist/core/tmux-config.legacy.d.ts.map +1 -0
  182. package/dist/core/tmux-config.legacy.js +896 -0
  183. package/dist/core/tmux-config.legacy.js.map +1 -0
  184. package/dist/core/tmux.d.ts +214 -0
  185. package/dist/core/tmux.d.ts.map +1 -0
  186. package/dist/core/tmux.js +712 -0
  187. package/dist/core/tmux.js.map +1 -0
  188. package/dist/core/toolchain-resolver.d.ts +51 -0
  189. package/dist/core/toolchain-resolver.d.ts.map +1 -0
  190. package/dist/core/toolchain-resolver.js +364 -0
  191. package/dist/core/toolchain-resolver.js.map +1 -0
  192. package/dist/core/worktree-status.d.ts +20 -0
  193. package/dist/core/worktree-status.d.ts.map +1 -0
  194. package/dist/core/worktree-status.js +67 -0
  195. package/dist/core/worktree-status.js.map +1 -0
  196. package/dist/i18n/index.d.ts +36 -0
  197. package/dist/i18n/index.d.ts.map +1 -0
  198. package/dist/i18n/index.js +157 -0
  199. package/dist/i18n/index.js.map +1 -0
  200. package/dist/i18n/locales/en.d.ts +866 -0
  201. package/dist/i18n/locales/en.d.ts.map +1 -0
  202. package/dist/i18n/locales/en.js +985 -0
  203. package/dist/i18n/locales/en.js.map +1 -0
  204. package/dist/i18n/locales/zh-CN.d.ts +865 -0
  205. package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
  206. package/dist/i18n/locales/zh-CN.js +985 -0
  207. package/dist/i18n/locales/zh-CN.js.map +1 -0
  208. package/dist/index.d.ts +2 -0
  209. package/dist/index.d.ts.map +1 -0
  210. package/dist/index.js +4 -0
  211. package/dist/index.js.map +1 -0
  212. package/dist/plugins/builtin/gradle.d.ts +9 -0
  213. package/dist/plugins/builtin/gradle.d.ts.map +1 -0
  214. package/dist/plugins/builtin/gradle.js +164 -0
  215. package/dist/plugins/builtin/gradle.js.map +1 -0
  216. package/dist/plugins/builtin/maven.d.ts +9 -0
  217. package/dist/plugins/builtin/maven.d.ts.map +1 -0
  218. package/dist/plugins/builtin/maven.js +127 -0
  219. package/dist/plugins/builtin/maven.js.map +1 -0
  220. package/dist/plugins/builtin/npm.d.ts +9 -0
  221. package/dist/plugins/builtin/npm.d.ts.map +1 -0
  222. package/dist/plugins/builtin/npm.js +238 -0
  223. package/dist/plugins/builtin/npm.js.map +1 -0
  224. package/dist/plugins/builtin/pip.d.ts +9 -0
  225. package/dist/plugins/builtin/pip.d.ts.map +1 -0
  226. package/dist/plugins/builtin/pip.js +210 -0
  227. package/dist/plugins/builtin/pip.js.map +1 -0
  228. package/dist/plugins/builtin/xcode.d.ts +12 -0
  229. package/dist/plugins/builtin/xcode.d.ts.map +1 -0
  230. package/dist/plugins/builtin/xcode.js +438 -0
  231. package/dist/plugins/builtin/xcode.js.map +1 -0
  232. package/dist/plugins/index.d.ts +13 -0
  233. package/dist/plugins/index.d.ts.map +1 -0
  234. package/dist/plugins/index.js +24 -0
  235. package/dist/plugins/index.js.map +1 -0
  236. package/dist/plugins/manager.d.ts +93 -0
  237. package/dist/plugins/manager.d.ts.map +1 -0
  238. package/dist/plugins/manager.js +270 -0
  239. package/dist/plugins/manager.js.map +1 -0
  240. package/dist/plugins/utils.d.ts +42 -0
  241. package/dist/plugins/utils.d.ts.map +1 -0
  242. package/dist/plugins/utils.js +175 -0
  243. package/dist/plugins/utils.js.map +1 -0
  244. package/dist/types/index.d.ts +104 -0
  245. package/dist/types/index.d.ts.map +1 -0
  246. package/dist/types/index.js +21 -0
  247. package/dist/types/index.js.map +1 -0
  248. package/dist/types/plugin.d.ts +200 -0
  249. package/dist/types/plugin.d.ts.map +1 -0
  250. package/dist/types/plugin.js +19 -0
  251. package/dist/types/plugin.js.map +1 -0
  252. package/dist/utils/logger.d.ts +42 -0
  253. package/dist/utils/logger.d.ts.map +1 -0
  254. package/dist/utils/logger.js +80 -0
  255. package/dist/utils/logger.js.map +1 -0
  256. package/docs/en/manual/04-command-reference/README.md +58 -0
  257. package/docs/en/manual/README.md +108 -0
  258. package/docs/zh-CN/manual/04-command-reference/README.md +58 -0
  259. package/docs/zh-CN/manual/README.md +108 -0
  260. package/package.json +65 -0
  261. package/shell/colyn.sh +55 -0
  262. package/shell/completion.bash +270 -0
  263. package/shell/completion.zsh +167 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/core/tmux.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * 工具链解析器
3
+ *
4
+ * 实现「按需发现」策略:
5
+ * - 所有命令遇到未配置的目录时,就地触发自动识别 + 用户选择流程
6
+ * - 支持单项目模式(根目录被某工具链匹配)
7
+ * - 支持 Mono Repo 模式(根目录无匹配,扫描一级子目录)
8
+ */
9
+ /**
10
+ * 工具链上下文 — 表示「当前应该操作的某个子项目」
11
+ */
12
+ export type ToolchainContext = {
13
+ /** 子项目在当前 worktree 中的绝对路径(供 PluginManager 使用) */
14
+ absolutePath: string;
15
+ /** 相对于 worktree 根目录的相对路径('.' 表示根目录) */
16
+ subPath: string;
17
+ /** 工具链名称(插件标识符),如 'npm'、'maven'、'xcode' */
18
+ toolchainName: string;
19
+ /** 工具链专属配置(来自 settings.toolchain.settings 或 projects[i].toolchain.settings) */
20
+ toolchainSettings: Record<string, unknown>;
21
+ };
22
+ /**
23
+ * 强制重新检测并配置工具链(用于 init 命令)
24
+ *
25
+ * 流程:
26
+ * 1. 检测 mainDirPath 根目录是否有工具链
27
+ * 2. 有 → 单项目模式,保存并返回
28
+ * 3. 无 → 扫描一级子目录,对每个子目录检测或提示用户选择
29
+ * 4. 有子目录工具链 → Mono Repo 模式,保存并返回
30
+ * 5. 全无 → 保存 toolchain=null,返回空数组
31
+ */
32
+ export declare function detectAndConfigureToolchains(projectRoot: string, mainDirPath: string, nonInteractive?: boolean): Promise<ToolchainContext[]>;
33
+ /**
34
+ * 解析工具链上下文(用于 add/merge/release/repair 命令)
35
+ *
36
+ * 读取已配置的工具链,处理新发现的子目录,返回所有要操作的子项目。
37
+ *
38
+ * @param projectRoot 项目根目录(.colyn 的父目录)
39
+ * @param worktreePath 当前操作的 worktree 路径(mainDir 或某个 worktree 目录)
40
+ * @param nonInteractive 非交互模式(默认 false)
41
+ */
42
+ export declare function resolveToolchains(projectRoot: string, worktreePath: string, nonInteractive?: boolean): Promise<ToolchainContext[]>;
43
+ /**
44
+ * 保存 repairSettings 的结果回 settings 文件
45
+ *
46
+ * @param projectRoot 项目根目录
47
+ * @param subPath 子项目路径('.' 表示单项目根目录)
48
+ * @param updatedToolchainSettings 更新后的工具链专属配置
49
+ */
50
+ export declare function saveRepairSettingsResult(projectRoot: string, subPath: string, updatedToolchainSettings: Record<string, unknown>): Promise<void>;
51
+ //# sourceMappingURL=toolchain-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolchain-resolver.d.ts","sourceRoot":"","sources":["../../src/core/toolchain-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C,CAAC;AAgIF;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,cAAc,UAAQ,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgE7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,cAAc,UAAQ,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4I7B;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -0,0 +1,364 @@
1
+ /**
2
+ * 工具链解析器
3
+ *
4
+ * 实现「按需发现」策略:
5
+ * - 所有命令遇到未配置的目录时,就地触发自动识别 + 用户选择流程
6
+ * - 支持单项目模式(根目录被某工具链匹配)
7
+ * - 支持 Mono Repo 模式(根目录无匹配,扫描一级子目录)
8
+ */
9
+ import * as fs from 'fs/promises';
10
+ import * as path from 'path';
11
+ import Enquirer from 'enquirer';
12
+ const { prompt } = Enquirer;
13
+ import { pluginManager } from '../plugins/index.js';
14
+ import { loadProjectConfig, saveConfigFile, findConfigFilePath } from './config-loader.js';
15
+ import { CURRENT_CONFIG_VERSION } from './config-schema.js';
16
+ import { outputInfo } from '../utils/logger.js';
17
+ import { t } from '../i18n/index.js';
18
+ /**
19
+ * 扫描子目录时跳过的目录名(不可能包含子项目)
20
+ */
21
+ const SKIP_DIRS = new Set([
22
+ 'node_modules',
23
+ 'dist',
24
+ 'build',
25
+ 'target',
26
+ 'vendor',
27
+ 'coverage',
28
+ '.git',
29
+ '.colyn',
30
+ 'worktrees',
31
+ ]);
32
+ /**
33
+ * 获取目录下的一级子目录(非隐藏、非跳过)
34
+ */
35
+ async function getSubdirectories(dirPath) {
36
+ try {
37
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
38
+ const subdirs = [];
39
+ for (const entry of entries) {
40
+ if (!entry.isDirectory())
41
+ continue;
42
+ if (entry.name.startsWith('.'))
43
+ continue;
44
+ if (SKIP_DIRS.has(entry.name))
45
+ continue;
46
+ subdirs.push(entry.name);
47
+ }
48
+ return subdirs;
49
+ }
50
+ catch {
51
+ return [];
52
+ }
53
+ }
54
+ /**
55
+ * 检查目录是否存在
56
+ */
57
+ async function directoryExists(dirPath) {
58
+ try {
59
+ const stat = await fs.stat(dirPath);
60
+ return stat.isDirectory();
61
+ }
62
+ catch {
63
+ return false;
64
+ }
65
+ }
66
+ /**
67
+ * 交互式选择工具链(或无工具链)
68
+ * @param subPath 子目录路径(用于展示)
69
+ * @param nonInteractive 非交互模式下直接返回 null
70
+ */
71
+ async function promptForToolchain(subPath, nonInteractive = false) {
72
+ if (nonInteractive) {
73
+ return null;
74
+ }
75
+ const allPlugins = pluginManager.getAllPlugins();
76
+ const choices = [
77
+ { name: '__none__', message: t('toolchain.noToolchain') },
78
+ ...allPlugins.map((p) => ({ name: p.name, message: p.displayName })),
79
+ ];
80
+ outputInfo(t('toolchain.unrecognizedDirectory', { path: subPath }));
81
+ const response = await prompt({
82
+ type: 'select',
83
+ name: 'toolchain',
84
+ message: t('toolchain.selectForDirectory', { path: subPath }),
85
+ choices,
86
+ stdout: process.stderr,
87
+ });
88
+ if (response.toolchain === '__none__') {
89
+ return null;
90
+ }
91
+ return response.toolchain;
92
+ }
93
+ /**
94
+ * 保存工具链配置到 settings 文件
95
+ */
96
+ async function saveToolchainToSettings(projectRoot, toolchain) {
97
+ const existing = await loadProjectConfig(projectRoot);
98
+ const settings = existing ?? { version: CURRENT_CONFIG_VERSION };
99
+ settings.toolchain = toolchain;
100
+ delete settings.projects;
101
+ const configDir = path.join(projectRoot, '.colyn');
102
+ const settingsFilePath = (await findConfigFilePath(configDir)) ?? path.join(configDir, 'settings.json');
103
+ await saveConfigFile(settingsFilePath, settings);
104
+ }
105
+ /**
106
+ * 保存 Mono Repo 子项目列表到 settings 文件
107
+ */
108
+ async function saveProjectsToSettings(projectRoot, projects) {
109
+ const existing = await loadProjectConfig(projectRoot);
110
+ const settings = existing ?? { version: CURRENT_CONFIG_VERSION };
111
+ settings.projects = projects;
112
+ delete settings.toolchain;
113
+ const configDir = path.join(projectRoot, '.colyn');
114
+ const settingsFilePath = (await findConfigFilePath(configDir)) ?? path.join(configDir, 'settings.json');
115
+ await saveConfigFile(settingsFilePath, settings);
116
+ }
117
+ /**
118
+ * 检测目录下的工具链(尝试所有已注册插件)
119
+ * @returns 第一个匹配的插件名,或 null
120
+ */
121
+ async function detectSingleToolchain(dirPath) {
122
+ const detected = await pluginManager.detectPlugins(dirPath);
123
+ return detected.length > 0 ? detected[0] : null;
124
+ }
125
+ /**
126
+ * 强制重新检测并配置工具链(用于 init 命令)
127
+ *
128
+ * 流程:
129
+ * 1. 检测 mainDirPath 根目录是否有工具链
130
+ * 2. 有 → 单项目模式,保存并返回
131
+ * 3. 无 → 扫描一级子目录,对每个子目录检测或提示用户选择
132
+ * 4. 有子目录工具链 → Mono Repo 模式,保存并返回
133
+ * 5. 全无 → 保存 toolchain=null,返回空数组
134
+ */
135
+ export async function detectAndConfigureToolchains(projectRoot, mainDirPath, nonInteractive = false) {
136
+ // 1. 检测根目录工具链
137
+ const rootToolchain = await detectSingleToolchain(mainDirPath);
138
+ if (rootToolchain !== null) {
139
+ // 单项目模式
140
+ const toolchainConfig = { type: rootToolchain, settings: {} };
141
+ await saveToolchainToSettings(projectRoot, toolchainConfig);
142
+ outputInfo(t('toolchain.singleProjectDetected', { toolchain: rootToolchain }));
143
+ return [
144
+ {
145
+ absolutePath: mainDirPath,
146
+ subPath: '.',
147
+ toolchainName: rootToolchain,
148
+ toolchainSettings: {},
149
+ },
150
+ ];
151
+ }
152
+ // 2. 检测一级子目录
153
+ const subdirs = await getSubdirectories(mainDirPath);
154
+ const projects = [];
155
+ const contexts = [];
156
+ let hasAnyToolchain = false;
157
+ for (const subDir of subdirs) {
158
+ const subDirPath = path.join(mainDirPath, subDir);
159
+ const detected = await detectSingleToolchain(subDirPath);
160
+ let selectedToolchain = detected;
161
+ if (detected === null) {
162
+ selectedToolchain = await promptForToolchain(subDir, nonInteractive);
163
+ }
164
+ if (selectedToolchain !== null) {
165
+ hasAnyToolchain = true;
166
+ projects.push({ path: subDir, toolchain: { type: selectedToolchain, settings: {} } });
167
+ contexts.push({
168
+ absolutePath: subDirPath,
169
+ subPath: subDir,
170
+ toolchainName: selectedToolchain,
171
+ toolchainSettings: {},
172
+ });
173
+ }
174
+ else {
175
+ projects.push({ path: subDir, toolchain: null });
176
+ }
177
+ }
178
+ if (hasAnyToolchain) {
179
+ // Mono Repo 模式
180
+ await saveProjectsToSettings(projectRoot, projects);
181
+ outputInfo(t('toolchain.monoRepoDetected', { count: contexts.length }));
182
+ return contexts;
183
+ }
184
+ if (subdirs.length > 0 && !nonInteractive) {
185
+ // 有子目录但都没有选择工具链,保存空项目列表(避免重复提示)
186
+ await saveProjectsToSettings(projectRoot, projects);
187
+ return [];
188
+ }
189
+ // 完全无工具链
190
+ await saveToolchainToSettings(projectRoot, null);
191
+ return [];
192
+ }
193
+ /**
194
+ * 解析工具链上下文(用于 add/merge/release/repair 命令)
195
+ *
196
+ * 读取已配置的工具链,处理新发现的子目录,返回所有要操作的子项目。
197
+ *
198
+ * @param projectRoot 项目根目录(.colyn 的父目录)
199
+ * @param worktreePath 当前操作的 worktree 路径(mainDir 或某个 worktree 目录)
200
+ * @param nonInteractive 非交互模式(默认 false)
201
+ */
202
+ export async function resolveToolchains(projectRoot, worktreePath, nonInteractive = false) {
203
+ const settings = await loadProjectConfig(projectRoot);
204
+ // 情况 1:settings 中 toolchain 已明确定义(含 null)
205
+ if (settings && settings.toolchain !== undefined) {
206
+ if (settings.toolchain === null) {
207
+ // 明确无工具链
208
+ return [];
209
+ }
210
+ // 单项目模式
211
+ return [
212
+ {
213
+ absolutePath: worktreePath,
214
+ subPath: '.',
215
+ toolchainName: settings.toolchain.type,
216
+ toolchainSettings: settings.toolchain.settings ?? {},
217
+ },
218
+ ];
219
+ }
220
+ // 情况 2:settings 中 projects 已定义(Mono Repo 模式)
221
+ if (settings && settings.projects !== undefined) {
222
+ const contexts = [];
223
+ const updatedProjects = [...settings.projects];
224
+ // 已配置的子项目
225
+ const configuredPaths = new Set(settings.projects.map((p) => p.path));
226
+ for (const project of settings.projects) {
227
+ if (project.toolchain === null)
228
+ continue; // 明确无工具链
229
+ const subDirAbsPath = path.join(worktreePath, project.path);
230
+ if (!(await directoryExists(subDirAbsPath))) {
231
+ outputInfo(t('toolchain.subProjectSkipped', { path: project.path }));
232
+ continue;
233
+ }
234
+ contexts.push({
235
+ absolutePath: subDirAbsPath,
236
+ subPath: project.path,
237
+ toolchainName: project.toolchain.type,
238
+ toolchainSettings: project.toolchain.settings ?? {},
239
+ });
240
+ }
241
+ // 扫描 worktreePath 中新增的子目录(settings 中未记录)
242
+ const subdirs = await getSubdirectories(worktreePath);
243
+ let hasNewDiscoveries = false;
244
+ for (const subDir of subdirs) {
245
+ if (configuredPaths.has(subDir))
246
+ continue;
247
+ const subDirPath = path.join(worktreePath, subDir);
248
+ const detected = await detectSingleToolchain(subDirPath);
249
+ let selectedToolchain = detected;
250
+ if (detected === null) {
251
+ selectedToolchain = await promptForToolchain(subDir, nonInteractive);
252
+ }
253
+ updatedProjects.push({ path: subDir, toolchain: selectedToolchain !== null ? { type: selectedToolchain, settings: {} } : null });
254
+ hasNewDiscoveries = true;
255
+ if (selectedToolchain !== null) {
256
+ contexts.push({
257
+ absolutePath: subDirPath,
258
+ subPath: subDir,
259
+ toolchainName: selectedToolchain,
260
+ toolchainSettings: {},
261
+ });
262
+ }
263
+ }
264
+ if (hasNewDiscoveries) {
265
+ await saveProjectsToSettings(projectRoot, updatedProjects);
266
+ }
267
+ return contexts;
268
+ }
269
+ // 情况 3:settings 中两者都未定义(尚未检测)→ 触发按需发现
270
+ // 检测根目录
271
+ const rootToolchain = await detectSingleToolchain(worktreePath);
272
+ if (rootToolchain !== null) {
273
+ // 单项目模式
274
+ const toolchainConfig = { type: rootToolchain, settings: {} };
275
+ await saveToolchainToSettings(projectRoot, toolchainConfig);
276
+ return [
277
+ {
278
+ absolutePath: worktreePath,
279
+ subPath: '.',
280
+ toolchainName: rootToolchain,
281
+ toolchainSettings: {},
282
+ },
283
+ ];
284
+ }
285
+ // 扫描子目录
286
+ const subdirs = await getSubdirectories(worktreePath);
287
+ const projects = [];
288
+ const contexts = [];
289
+ let hasAnyToolchain = false;
290
+ for (const subDir of subdirs) {
291
+ const subDirPath = path.join(worktreePath, subDir);
292
+ const detected = await detectSingleToolchain(subDirPath);
293
+ let selectedToolchain = detected;
294
+ if (detected === null) {
295
+ selectedToolchain = await promptForToolchain(subDir, nonInteractive);
296
+ }
297
+ if (selectedToolchain !== null) {
298
+ hasAnyToolchain = true;
299
+ projects.push({ path: subDir, toolchain: { type: selectedToolchain, settings: {} } });
300
+ contexts.push({
301
+ absolutePath: subDirPath,
302
+ subPath: subDir,
303
+ toolchainName: selectedToolchain,
304
+ toolchainSettings: {},
305
+ });
306
+ }
307
+ else {
308
+ projects.push({ path: subDir, toolchain: null });
309
+ }
310
+ }
311
+ if (hasAnyToolchain) {
312
+ await saveProjectsToSettings(projectRoot, projects);
313
+ return contexts;
314
+ }
315
+ if (subdirs.length > 0 && !nonInteractive) {
316
+ await saveProjectsToSettings(projectRoot, projects);
317
+ return [];
318
+ }
319
+ // 完全无工具链
320
+ await saveToolchainToSettings(projectRoot, null);
321
+ return [];
322
+ }
323
+ /**
324
+ * 保存 repairSettings 的结果回 settings 文件
325
+ *
326
+ * @param projectRoot 项目根目录
327
+ * @param subPath 子项目路径('.' 表示单项目根目录)
328
+ * @param updatedToolchainSettings 更新后的工具链专属配置
329
+ */
330
+ export async function saveRepairSettingsResult(projectRoot, subPath, updatedToolchainSettings) {
331
+ const settings = await loadProjectConfig(projectRoot);
332
+ if (!settings)
333
+ return;
334
+ if (subPath === '.') {
335
+ // 单项目模式:更新 settings.toolchain.settings
336
+ if (settings.toolchain && settings.toolchain !== null) {
337
+ settings.toolchain = {
338
+ ...settings.toolchain,
339
+ settings: updatedToolchainSettings,
340
+ };
341
+ }
342
+ }
343
+ else {
344
+ // Mono Repo 模式:找到对应子项目并更新其 toolchain.settings
345
+ if (settings.projects) {
346
+ settings.projects = settings.projects.map((p) => {
347
+ if (p.path === subPath && p.toolchain !== null) {
348
+ return {
349
+ ...p,
350
+ toolchain: {
351
+ ...p.toolchain,
352
+ settings: updatedToolchainSettings,
353
+ },
354
+ };
355
+ }
356
+ return p;
357
+ });
358
+ }
359
+ }
360
+ const configDir = path.join(projectRoot, '.colyn');
361
+ const settingsFilePath = (await findConfigFilePath(configDir)) ?? path.join(configDir, 'settings.json');
362
+ await saveConfigFile(settingsFilePath, settings);
363
+ }
364
+ //# sourceMappingURL=toolchain-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolchain-resolver.js","sourceRoot":"","sources":["../../src/core/toolchain-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export type WorktreeStatus = 'idle' | 'running' | 'waiting-confirm' | 'finish';
2
+ export declare const VALID_STATUSES: WorktreeStatus[];
3
+ /**
4
+ * 获取指定 worktree 的状态
5
+ * @param configDir .colyn 目录路径
6
+ * @param worktreeDir worktree 目录名(主分支用 "main")
7
+ */
8
+ export declare function getWorktreeStatus(configDir: string, worktreeDir: string): Promise<{
9
+ status: WorktreeStatus;
10
+ updatedAt: string | null;
11
+ }>;
12
+ /**
13
+ * 设置指定 worktree 的状态,并同步更新全局索引
14
+ * @param configDir .colyn 目录路径
15
+ * @param worktreeDir worktree 目录名(主分支用 "main")
16
+ * @param projectPath 项目根目录绝对路径
17
+ * @param status 要设置的状态值
18
+ */
19
+ export declare function setWorktreeStatus(configDir: string, worktreeDir: string, projectPath: string, status: WorktreeStatus): Promise<void>;
20
+ //# sourceMappingURL=worktree-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-status.d.ts","sourceRoot":"","sources":["../../src/core/worktree-status.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAE/E,eAAO,MAAM,cAAc,EAAE,cAAc,EAAqD,CAAC;AAqDjG;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAO/D;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,67 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as os from 'os';
3
+ import * as path from 'path';
4
+ export const VALID_STATUSES = ['idle', 'running', 'waiting-confirm', 'finish'];
5
+ async function readProjectStatusFile(configDir) {
6
+ const filePath = path.join(configDir, 'status.json');
7
+ try {
8
+ const content = await fs.readFile(filePath, 'utf-8');
9
+ return JSON.parse(content);
10
+ }
11
+ catch {
12
+ return { updatedAt: new Date(0).toISOString(), worktrees: {} };
13
+ }
14
+ }
15
+ async function writeProjectStatusFile(configDir, data) {
16
+ await fs.mkdir(configDir, { recursive: true });
17
+ const filePath = path.join(configDir, 'status.json');
18
+ await fs.writeFile(filePath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
19
+ }
20
+ async function readGlobalStatusFile() {
21
+ const filePath = path.join(os.homedir(), '.colyn-status.json');
22
+ try {
23
+ const content = await fs.readFile(filePath, 'utf-8');
24
+ return JSON.parse(content);
25
+ }
26
+ catch {
27
+ return {};
28
+ }
29
+ }
30
+ async function writeGlobalStatusFile(data) {
31
+ const filePath = path.join(os.homedir(), '.colyn-status.json');
32
+ await fs.writeFile(filePath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
33
+ }
34
+ // ─── 公开 API ──────────────────────────────────────────────────────────────
35
+ /**
36
+ * 获取指定 worktree 的状态
37
+ * @param configDir .colyn 目录路径
38
+ * @param worktreeDir worktree 目录名(主分支用 "main")
39
+ */
40
+ export async function getWorktreeStatus(configDir, worktreeDir) {
41
+ const data = await readProjectStatusFile(configDir);
42
+ const entry = data.worktrees[worktreeDir];
43
+ if (!entry) {
44
+ return { status: 'idle', updatedAt: null };
45
+ }
46
+ return { status: entry.status, updatedAt: entry.updatedAt };
47
+ }
48
+ /**
49
+ * 设置指定 worktree 的状态,并同步更新全局索引
50
+ * @param configDir .colyn 目录路径
51
+ * @param worktreeDir worktree 目录名(主分支用 "main")
52
+ * @param projectPath 项目根目录绝对路径
53
+ * @param status 要设置的状态值
54
+ */
55
+ export async function setWorktreeStatus(configDir, worktreeDir, projectPath, status) {
56
+ const now = new Date().toISOString();
57
+ // 更新项目级 status.json
58
+ const projectData = await readProjectStatusFile(configDir);
59
+ projectData.worktrees[worktreeDir] = { status, updatedAt: now };
60
+ projectData.updatedAt = now;
61
+ await writeProjectStatusFile(configDir, projectData);
62
+ // 更新全局 ~/.colyn-status.json
63
+ const globalData = await readGlobalStatusFile();
64
+ globalData[projectPath] = { updatedAt: now };
65
+ await writeGlobalStatusFile(globalData);
66
+ }
67
+ //# sourceMappingURL=worktree-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-status.js","sourceRoot":"","sources":["../../src/core/worktree-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * i18n initialization and exports
3
+ */
4
+ import i18next from 'i18next';
5
+ import { type TranslationKeys } from './locales/en.js';
6
+ /**
7
+ * Initialize i18n with language detection from all sources
8
+ * This should be called as early as possible in the CLI entry point
9
+ * @param configDir .colyn directory path (optional)
10
+ */
11
+ export declare function initI18n(configDir?: string): Promise<void>;
12
+ /**
13
+ * Get nested value from object using dot notation
14
+ */
15
+ type NestedKeyOf<T> = T extends object ? {
16
+ [K in keyof T & string]: T[K] extends object ? `${K}` | `${K}.${NestedKeyOf<T[K]>}` : `${K}`;
17
+ }[keyof T & string] : never;
18
+ type TranslationKey = NestedKeyOf<TranslationKeys>;
19
+ /**
20
+ * Translation function with type safety
21
+ */
22
+ export declare function t(key: TranslationKey, options?: Record<string, string | number>): string;
23
+ /**
24
+ * Get current language
25
+ */
26
+ export declare function getCurrentLanguage(): string;
27
+ /**
28
+ * Check if current language is Chinese
29
+ */
30
+ export declare function isChinese(): boolean;
31
+ /**
32
+ * Export i18next instance for advanced usage
33
+ */
34
+ export { i18next };
35
+ export type { TranslationKey, TranslationKeys };
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAM,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAiI3D;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAShE;AAED;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAClC;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACxC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACpC,GAAG,CAAC,EAAE;CACX,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAEnD;;GAEG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAExF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,CAAC;AAGnB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}