okit-cli 0.0.1

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 (88) hide show
  1. package/README.md +222 -0
  2. package/dist/commands/check.d.ts +13 -0
  3. package/dist/commands/check.d.ts.map +1 -0
  4. package/dist/commands/check.js +259 -0
  5. package/dist/commands/check.js.map +1 -0
  6. package/dist/commands/claude.d.ts +10 -0
  7. package/dist/commands/claude.d.ts.map +1 -0
  8. package/dist/commands/claude.js +504 -0
  9. package/dist/commands/claude.js.map +1 -0
  10. package/dist/commands/menu.d.ts +3 -0
  11. package/dist/commands/menu.d.ts.map +1 -0
  12. package/dist/commands/menu.js +152 -0
  13. package/dist/commands/menu.js.map +1 -0
  14. package/dist/commands/repo.d.ts +3 -0
  15. package/dist/commands/repo.d.ts.map +1 -0
  16. package/dist/commands/repo.js +266 -0
  17. package/dist/commands/repo.js.map +1 -0
  18. package/dist/commands/uninstall.d.ts +2 -0
  19. package/dist/commands/uninstall.d.ts.map +1 -0
  20. package/dist/commands/uninstall.js +125 -0
  21. package/dist/commands/uninstall.js.map +1 -0
  22. package/dist/commands/upgrade.d.ts +6 -0
  23. package/dist/commands/upgrade.d.ts.map +1 -0
  24. package/dist/commands/upgrade.js +204 -0
  25. package/dist/commands/upgrade.js.map +1 -0
  26. package/dist/config/i18n.d.ts +141 -0
  27. package/dist/config/i18n.d.ts.map +1 -0
  28. package/dist/config/i18n.js +316 -0
  29. package/dist/config/i18n.js.map +1 -0
  30. package/dist/config/registry.d.ts +24 -0
  31. package/dist/config/registry.d.ts.map +1 -0
  32. package/dist/config/registry.js +388 -0
  33. package/dist/config/registry.js.map +1 -0
  34. package/dist/config/user.d.ts +32 -0
  35. package/dist/config/user.d.ts.map +1 -0
  36. package/dist/config/user.js +72 -0
  37. package/dist/config/user.js.map +1 -0
  38. package/dist/executor/deps/BrewDependencyProvider.d.ts +8 -0
  39. package/dist/executor/deps/BrewDependencyProvider.d.ts.map +1 -0
  40. package/dist/executor/deps/BrewDependencyProvider.js +52 -0
  41. package/dist/executor/deps/BrewDependencyProvider.js.map +1 -0
  42. package/dist/executor/deps/DependencyProvider.d.ts +11 -0
  43. package/dist/executor/deps/DependencyProvider.d.ts.map +1 -0
  44. package/dist/executor/deps/DependencyProvider.js +3 -0
  45. package/dist/executor/deps/DependencyProvider.js.map +1 -0
  46. package/dist/executor/deps/NpmDependencyProvider.d.ts +12 -0
  47. package/dist/executor/deps/NpmDependencyProvider.d.ts.map +1 -0
  48. package/dist/executor/deps/NpmDependencyProvider.js +78 -0
  49. package/dist/executor/deps/NpmDependencyProvider.js.map +1 -0
  50. package/dist/executor/deps/PipxDependencyProvider.d.ts +8 -0
  51. package/dist/executor/deps/PipxDependencyProvider.d.ts.map +1 -0
  52. package/dist/executor/deps/PipxDependencyProvider.js +32 -0
  53. package/dist/executor/deps/PipxDependencyProvider.js.map +1 -0
  54. package/dist/executor/deps/UvToolDependencyProvider.d.ts +8 -0
  55. package/dist/executor/deps/UvToolDependencyProvider.d.ts.map +1 -0
  56. package/dist/executor/deps/UvToolDependencyProvider.js +35 -0
  57. package/dist/executor/deps/UvToolDependencyProvider.js.map +1 -0
  58. package/dist/executor/plan/ExecutionPlanner.d.ts +13 -0
  59. package/dist/executor/plan/ExecutionPlanner.d.ts.map +1 -0
  60. package/dist/executor/plan/ExecutionPlanner.js +109 -0
  61. package/dist/executor/plan/ExecutionPlanner.js.map +1 -0
  62. package/dist/executor/plan/TopologicalSorter.d.ts +3 -0
  63. package/dist/executor/plan/TopologicalSorter.d.ts.map +1 -0
  64. package/dist/executor/plan/TopologicalSorter.js +49 -0
  65. package/dist/executor/plan/TopologicalSorter.js.map +1 -0
  66. package/dist/executor/plan/registryDeps.d.ts +3 -0
  67. package/dist/executor/plan/registryDeps.d.ts.map +1 -0
  68. package/dist/executor/plan/registryDeps.js +22 -0
  69. package/dist/executor/plan/registryDeps.js.map +1 -0
  70. package/dist/executor/runner.d.ts +13 -0
  71. package/dist/executor/runner.d.ts.map +1 -0
  72. package/dist/executor/runner.js +430 -0
  73. package/dist/executor/runner.js.map +1 -0
  74. package/dist/main.d.ts +3 -0
  75. package/dist/main.d.ts.map +1 -0
  76. package/dist/main.js +244 -0
  77. package/dist/main.js.map +1 -0
  78. package/dist/utils/sound.d.ts +10 -0
  79. package/dist/utils/sound.d.ts.map +1 -0
  80. package/dist/utils/sound.js +36 -0
  81. package/dist/utils/sound.js.map +1 -0
  82. package/dist/web/api/config.js +73 -0
  83. package/dist/web/api/stats.js +130 -0
  84. package/dist/web/public/app.js +284 -0
  85. package/dist/web/public/index.html +367 -0
  86. package/dist/web/public/styles.css +1004 -0
  87. package/dist/web/server.js +41 -0
  88. package/package.json +61 -0
package/README.md ADDED
@@ -0,0 +1,222 @@
1
+ # OKIT
2
+
3
+ macOS 开发工具管理器,提供一站式的安装、升级、卸载、依赖排序与常用配置能力。
4
+
5
+ 适合场景:
6
+ - 新机器快速初始化开发环境
7
+ - 团队统一工具安装方式
8
+ - 需要在命令行完成常规维护
9
+
10
+ ---
11
+
12
+ ## 快速安装(推荐)
13
+
14
+ ```bash
15
+ curl -fsSL https://raw.githubusercontent.com/dolphin-molt/okit/refs/heads/main/install.sh | bash
16
+ ```
17
+
18
+ 安装完成后即可使用:
19
+
20
+ ```bash
21
+ okit
22
+ ```
23
+
24
+ ---
25
+
26
+ ## 重要说明
27
+
28
+ - 仅支持 macOS。
29
+ - 会安装到 `/usr/local/bin/okit`(必要时会提示 sudo)。
30
+ - 配置文件目录为 `~/.okit`。
31
+ - 默认使用 HTTPS 下载 Release 二进制。
32
+
33
+ ---
34
+
35
+ ## 常用命令
36
+
37
+ ```bash
38
+ okit # 进入交互式菜单
39
+ okit upgrade # 升级 OKIT 或工具
40
+ okit uninstall # 卸载 OKIT
41
+ okit repo # Repo 设置与创建
42
+ okit claude # Claude 配置与运行
43
+ ```
44
+
45
+ 查看版本:
46
+
47
+ ```bash
48
+ okit -V
49
+ ```
50
+
51
+ ---
52
+
53
+ ## 交互式菜单使用
54
+
55
+ 进入 `okit` 后你可以进行:
56
+
57
+ - 安装工具
58
+ - 升级工具
59
+ - 卸载工具
60
+ - Claude 配置管理
61
+ - Repo 设置与创建
62
+
63
+ 菜单内支持的快捷键会在界面提示中显示。
64
+
65
+ ---
66
+
67
+ ## Repo 功能(GitHub)
68
+
69
+ 目前仅支持 GitHub。
70
+
71
+ 功能包括:
72
+ - 一键设置 Git + GitHub 凭据
73
+ - 创建远程仓库
74
+ - 自动绑定 `origin`(HTTPS)
75
+ - 可选首次推送
76
+
77
+ 推荐流程:
78
+
79
+ 1. 运行 `okit repo`
80
+ 2. 选择 “一键设置(Git + GitHub)”
81
+ 3. 回到菜单选择 “新建仓库”
82
+
83
+ 注意:
84
+ - GitHub Token 会保存在 `~/.okit/user.json`。
85
+ - 同时会写入系统 Keychain,以便 HTTPS 推送免输入。
86
+
87
+ ---
88
+
89
+ ## Claude 配置
90
+
91
+ 配置文件:`~/.okit/claude-profiles.json`
92
+
93
+ 示例:
94
+
95
+ ```json
96
+ [
97
+ {
98
+ "name": "Volcengine",
99
+ "baseUrl": "https://ark.cn-beijing.volces.com/api/coding",
100
+ "authToken": "YOUR_TOKEN",
101
+ "models": ["model-a", "model-b"]
102
+ }
103
+ ]
104
+ ```
105
+
106
+ 常用命令:
107
+
108
+ ```bash
109
+ okit claude
110
+ ```
111
+
112
+ 说明:
113
+ - Agent Teams 实验开关使用配置项管理(默认开启)。
114
+ - 通过 TUI 配置:`okit claude` → `Agent Teams 开关`。
115
+ - `okit claude` 运行时会根据该配置注入(或移除)`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`。
116
+ - 队友显示模式支持 `auto`(默认)/`in-process`/`tmux`,通过 TUI 配置:`okit claude` → `队友显示模式`。
117
+
118
+ ---
119
+
120
+ ## 配置文件说明
121
+
122
+ `~/.okit/user.json` 保存用户偏好与凭据(示例):
123
+
124
+ ```json
125
+ {
126
+ "language": "zh",
127
+ "git": {
128
+ "name": "Your Name",
129
+ "email": "you@example.com"
130
+ },
131
+ "repo": {
132
+ "github": {
133
+ "username": "your-github",
134
+ "token": "ghp_xxx"
135
+ }
136
+ }
137
+ }
138
+ ```
139
+
140
+ `~/.okit/registry.json` 保存可安装工具清单,可自定义:
141
+ - 同名工具会覆盖默认配置
142
+ - 新增工具会被追加
143
+ - 默认新增工具不会丢失
144
+
145
+ ---
146
+
147
+ ## 安装脚本高级用法
148
+
149
+ 指定版本安装:
150
+
151
+ ```bash
152
+ OKIT_VERSION=v0.0.1 curl -fsSL https://raw.githubusercontent.com/dolphin-molt/okit/refs/heads/main/install.sh | bash
153
+ ```
154
+
155
+ 设置下载超时(秒):
156
+
157
+ ```bash
158
+ OKIT_DOWNLOAD_TIMEOUT=1200 curl -fsSL https://raw.githubusercontent.com/dolphin-molt/okit/refs/heads/main/install.sh | bash
159
+ ```
160
+
161
+ ---
162
+
163
+ ## 卸载说明
164
+
165
+ 执行:
166
+
167
+ ```bash
168
+ okit uninstall
169
+ ```
170
+
171
+ 卸载时会:
172
+ - 自动查找并删除多个可能的 `okit` 路径
173
+ - 如需 sudo 会询问是否执行
174
+ - 可选删除 `~/.okit` 配置目录
175
+
176
+ ---
177
+
178
+ ## 常见问题
179
+
180
+ Q: 下载 Release 二进制失败怎么办?
181
+
182
+ - 可重试执行安装脚本(默认带重试与超时)
183
+ - 手动指定版本号再安装
184
+
185
+ Q: 为什么我卸载后 `okit` 还能用?
186
+
187
+ - 可能存在多个安装路径
188
+ - 重新执行 `okit uninstall` 并允许 sudo 删除即可
189
+
190
+ Q: token 是否会写到环境变量?
191
+
192
+ - 不会
193
+ - 仅保存在 `~/.okit/user.json` 与系统 Keychain
194
+
195
+ ---
196
+
197
+ ## 开发者说明
198
+
199
+ 本地开发:
200
+
201
+ ```bash
202
+ npm run dev
203
+ ```
204
+
205
+ 本地构建:
206
+
207
+ ```bash
208
+ npm run build
209
+ npm run pkg
210
+ ```
211
+
212
+ 发布 Release(自动打包):
213
+
214
+ ```bash
215
+ scripts/publish-release.sh v0.0.1 --auto-notes
216
+ ```
217
+
218
+ ---
219
+
220
+ ## 许可证
221
+
222
+ MIT
@@ -0,0 +1,13 @@
1
+ export interface CheckResult {
2
+ name: string;
3
+ installed: boolean;
4
+ version?: string;
5
+ outdated?: boolean;
6
+ availableVersion?: string;
7
+ authOk?: boolean;
8
+ authMsg?: string;
9
+ }
10
+ export declare function runCheck(options?: {
11
+ json?: boolean;
12
+ }): Promise<CheckResult[]>;
13
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsGD,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAgEvF"}
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runCheck = runCheck;
7
+ const execa_1 = __importDefault(require("execa"));
8
+ const kleur_1 = __importDefault(require("kleur"));
9
+ const ora_1 = __importDefault(require("ora"));
10
+ const fs_extra_1 = __importDefault(require("fs-extra"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const registry_1 = require("../config/registry");
13
+ const runner_1 = require("../executor/runner");
14
+ const i18n_1 = require("../config/i18n");
15
+ // 获取工具版本
16
+ async function getVersion(step) {
17
+ if (!step.versionCmd)
18
+ return undefined;
19
+ try {
20
+ const { stdout } = await execa_1.default.command(step.versionCmd, {
21
+ shell: true,
22
+ timeout: 10000,
23
+ });
24
+ return stdout.trim().replace(/\n.*/s, "");
25
+ }
26
+ catch {
27
+ return undefined;
28
+ }
29
+ }
30
+ // 检查授权状态
31
+ async function checkAuth(step) {
32
+ if (!step.authCheck)
33
+ return undefined;
34
+ try {
35
+ const { stdout, stderr } = await execa_1.default.command(step.authCheck, {
36
+ shell: true,
37
+ timeout: 15000,
38
+ });
39
+ const output = (stdout + "\n" + stderr).trim();
40
+ // gh auth status 成功退出 = 已登录
41
+ // docker info 成功 = daemon 运行中
42
+ return { ok: true, msg: output.split("\n")[0] };
43
+ }
44
+ catch (error) {
45
+ const output = ((error.stdout || "") + "\n" + (error.stderr || "")).trim();
46
+ return { ok: false, msg: output.split("\n")[0] || "auth check failed" };
47
+ }
48
+ }
49
+ // 获取 brew outdated 信息
50
+ async function getBrewOutdated() {
51
+ const outdated = new Map();
52
+ try {
53
+ const { stdout } = await execa_1.default.command("brew outdated --json=v2", {
54
+ shell: true,
55
+ timeout: 30000,
56
+ });
57
+ const data = JSON.parse(stdout);
58
+ // formulae
59
+ for (const pkg of data.formulae || []) {
60
+ const current = pkg.installed_versions?.[0] || "";
61
+ const latest = pkg.current_version || "";
62
+ if (latest && latest !== current) {
63
+ outdated.set(pkg.name, latest);
64
+ }
65
+ }
66
+ // casks
67
+ for (const pkg of data.casks || []) {
68
+ const latest = pkg.current_version || "";
69
+ if (latest) {
70
+ outdated.set(pkg.name, latest);
71
+ }
72
+ }
73
+ }
74
+ catch {
75
+ // brew outdated 失败不影响其他检查
76
+ }
77
+ return outdated;
78
+ }
79
+ // 从 install 命令中提取 brew 包名
80
+ function extractBrewName(step) {
81
+ const cmd = step.install;
82
+ // 匹配 brew install [--cask] <name>
83
+ const match = cmd.match(/brew install\s+(?:--cask\s+)?(\S+)/);
84
+ return match?.[1];
85
+ }
86
+ // 获取 npm -g outdated 信息
87
+ async function getNpmOutdated() {
88
+ const outdated = new Map();
89
+ try {
90
+ const { stdout } = await execa_1.default.command("npm outdated -g --json 2>/dev/null || true", {
91
+ shell: true,
92
+ timeout: 30000,
93
+ });
94
+ if (stdout.trim()) {
95
+ const data = JSON.parse(stdout);
96
+ for (const [name, info] of Object.entries(data)) {
97
+ if (info.latest) {
98
+ outdated.set(name, info.latest);
99
+ }
100
+ }
101
+ }
102
+ }
103
+ catch {
104
+ // npm outdated 失败不影响其他检查
105
+ }
106
+ return outdated;
107
+ }
108
+ // 从 install 命令中提取 npm 包名
109
+ function extractNpmPackage(step) {
110
+ const cmd = step.install;
111
+ // 匹配 npm install -g <pkg> 或 sudo npm install -g <pkg>
112
+ const match = cmd.match(/npm install\s+-g\s+(\S+)/);
113
+ return match?.[1];
114
+ }
115
+ async function runCheck(options = {}) {
116
+ const spinner = (0, ora_1.default)((0, i18n_1.t)("checkScanning")).start();
117
+ const registry = await (0, registry_1.loadRegistry)();
118
+ const steps = registry.steps;
119
+ const results = [];
120
+ // 并行获取 brew 和 npm 的过期信息
121
+ const [brewOutdated, npmOutdated] = await Promise.all([
122
+ getBrewOutdated(),
123
+ getNpmOutdated(),
124
+ ]);
125
+ spinner.text = (0, i18n_1.t)("checkRunning");
126
+ // 逐个检查工具
127
+ for (const step of steps) {
128
+ const installed = await (0, runner_1.checkStep)(step);
129
+ if (!installed) {
130
+ results.push({ name: step.name, installed: false });
131
+ continue;
132
+ }
133
+ const result = { name: step.name, installed: true };
134
+ // 版本
135
+ result.version = await getVersion(step);
136
+ // 是否有更新
137
+ const brewName = extractBrewName(step);
138
+ const npmPkg = extractNpmPackage(step);
139
+ if (brewName && brewOutdated.has(brewName)) {
140
+ result.outdated = true;
141
+ result.availableVersion = brewOutdated.get(brewName);
142
+ }
143
+ else if (npmPkg && npmOutdated.has(npmPkg)) {
144
+ result.outdated = true;
145
+ result.availableVersion = npmOutdated.get(npmPkg);
146
+ }
147
+ else {
148
+ result.outdated = false;
149
+ }
150
+ // 授权检查
151
+ const auth = await checkAuth(step);
152
+ if (auth) {
153
+ result.authOk = auth.ok;
154
+ result.authMsg = auth.msg;
155
+ }
156
+ results.push(result);
157
+ }
158
+ spinner.stop();
159
+ if (options.json) {
160
+ console.log(JSON.stringify(results, null, 2));
161
+ }
162
+ else {
163
+ printCheckReport(results);
164
+ }
165
+ // 保存检查结果日志
166
+ await saveCheckLog(results);
167
+ return results;
168
+ }
169
+ function printCheckReport(results) {
170
+ const installed = results.filter((r) => r.installed);
171
+ const notInstalled = results.filter((r) => !r.installed);
172
+ const outdated = results.filter((r) => r.outdated);
173
+ const authFailed = results.filter((r) => r.authOk === false);
174
+ console.log(kleur_1.default.cyan("\n" + "═".repeat(60)));
175
+ console.log(kleur_1.default.bold(kleur_1.default.cyan((0, i18n_1.t)("checkReportTitle"))));
176
+ console.log(kleur_1.default.cyan("═".repeat(60) + "\n"));
177
+ // 已安装的工具
178
+ if (installed.length > 0) {
179
+ console.log(kleur_1.default.bold(kleur_1.default.green(` ✓ ${(0, i18n_1.t)("checkInstalled")} (${installed.length})`)));
180
+ for (const r of installed) {
181
+ const version = r.version ? kleur_1.default.gray(` ${r.version}`) : "";
182
+ const update = r.outdated
183
+ ? kleur_1.default.yellow(` → ${r.availableVersion}`)
184
+ : "";
185
+ const auth = r.authOk === false
186
+ ? kleur_1.default.red(` [${(0, i18n_1.t)("checkAuthFailed")}]`)
187
+ : r.authOk === true
188
+ ? kleur_1.default.green(` [${(0, i18n_1.t)("checkAuthOk")}]`)
189
+ : "";
190
+ console.log(` ${r.name}${version}${update}${auth}`);
191
+ }
192
+ console.log();
193
+ }
194
+ // 未安装的工具
195
+ if (notInstalled.length > 0) {
196
+ console.log(kleur_1.default.bold(kleur_1.default.gray(` ○ ${(0, i18n_1.t)("checkNotInstalled")} (${notInstalled.length})`)));
197
+ for (const r of notInstalled) {
198
+ console.log(kleur_1.default.gray(` ${r.name}`));
199
+ }
200
+ console.log();
201
+ }
202
+ // 需要升级的工具
203
+ if (outdated.length > 0) {
204
+ console.log(kleur_1.default.bold(kleur_1.default.yellow(` ⬆ ${(0, i18n_1.t)("checkOutdated")} (${outdated.length})`)));
205
+ for (const r of outdated) {
206
+ console.log(kleur_1.default.yellow(` ${r.name} ${r.version || "?"} → ${r.availableVersion}`));
207
+ }
208
+ console.log();
209
+ }
210
+ // 授权失败的工具
211
+ if (authFailed.length > 0) {
212
+ console.log(kleur_1.default.bold(kleur_1.default.red(` ⚠ ${(0, i18n_1.t)("checkAuthIssues")} (${authFailed.length})`)));
213
+ for (const r of authFailed) {
214
+ console.log(kleur_1.default.red(` ${r.name}: ${r.authMsg}`));
215
+ }
216
+ console.log();
217
+ }
218
+ // 总结
219
+ console.log(kleur_1.default.bold((0, i18n_1.t)("checkSummary")));
220
+ console.log(` ${kleur_1.default.green("●")} ${(0, i18n_1.t)("checkInstalled")}: ${installed.length}/${results.length}`);
221
+ if (outdated.length > 0) {
222
+ console.log(` ${kleur_1.default.yellow("●")} ${(0, i18n_1.t)("checkOutdated")}: ${outdated.length}`);
223
+ }
224
+ if (authFailed.length > 0) {
225
+ console.log(` ${kleur_1.default.red("●")} ${(0, i18n_1.t)("checkAuthIssues")}: ${authFailed.length}`);
226
+ }
227
+ // 健康评分
228
+ const score = Math.round(((installed.length / results.length) * 70) +
229
+ ((1 - outdated.length / Math.max(installed.length, 1)) * 20) +
230
+ ((1 - authFailed.length / Math.max(installed.length, 1)) * 10));
231
+ const scoreColor = score >= 80 ? kleur_1.default.green : score >= 60 ? kleur_1.default.yellow : kleur_1.default.red;
232
+ console.log(` ${scoreColor("●")} ${(0, i18n_1.t)("checkHealthScore")}: ${scoreColor(String(score) + "/100")}`);
233
+ console.log();
234
+ // 建议
235
+ if (outdated.length > 0) {
236
+ console.log(kleur_1.default.gray(` ${(0, i18n_1.t)("checkHintUpgrade")}`));
237
+ }
238
+ if (authFailed.length > 0) {
239
+ console.log(kleur_1.default.gray(` ${(0, i18n_1.t)("checkHintAuth")}`));
240
+ }
241
+ if (notInstalled.length > 0 && installed.length < results.length * 0.5) {
242
+ console.log(kleur_1.default.gray(` ${(0, i18n_1.t)("checkHintInstall")}`));
243
+ }
244
+ console.log();
245
+ }
246
+ async function saveCheckLog(results) {
247
+ try {
248
+ await fs_extra_1.default.ensureDir(registry_1.LOGS_DIR);
249
+ const payload = {
250
+ generatedAt: new Date().toISOString(),
251
+ results,
252
+ };
253
+ await fs_extra_1.default.writeFile(path_1.default.join(registry_1.LOGS_DIR, "check-latest.json"), JSON.stringify(payload, null, 2));
254
+ }
255
+ catch {
256
+ // 日志写入失败不影响主流程
257
+ }
258
+ }
259
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type ClaudeTeammateMode = "auto" | "in-process" | "tmux";
2
+ type ClaudeRunOptions = {
3
+ teammateModeOverride?: ClaudeTeammateMode;
4
+ };
5
+ export declare function runClaudeCommand(mode: "run" | "switch", options?: ClaudeRunOptions): Promise<void>;
6
+ export declare function configureClaudeAgentTeams(enabled?: boolean): Promise<void>;
7
+ export declare function configureClaudeTeammateMode(mode?: ClaudeTeammateMode): Promise<void>;
8
+ export declare function addClaudeProfile(): Promise<void>;
9
+ export {};
10
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/commands/claude.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAEhE,KAAK,gBAAgB,GAAG;IACtB,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;CAC3C,CAAC;AAyCF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,KAAK,GAAG,QAAQ,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED,wBAAsB,yBAAyB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhF;AAED,wBAAsB,2BAA2B,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1F;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BtD"}