ccjk 13.6.7 → 14.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 (51) hide show
  1. package/dist/chunks/api-cli.mjs +4 -2
  2. package/dist/chunks/api-config-selector.mjs +2 -4
  3. package/dist/chunks/auto-fix.mjs +3 -1
  4. package/dist/chunks/ccjk-all.mjs +5 -2
  5. package/dist/chunks/ccjk-mcp.mjs +5 -2
  6. package/dist/chunks/ccjk-setup.mjs +4 -1
  7. package/dist/chunks/ccr.mjs +5 -8
  8. package/dist/chunks/check-updates.mjs +1 -4
  9. package/dist/chunks/claude-code-incremental-manager.mjs +4 -6
  10. package/dist/chunks/code-type-resolver.mjs +878 -0
  11. package/dist/chunks/codex-config-switch.mjs +0 -1
  12. package/dist/chunks/codex-provider-manager.mjs +0 -1
  13. package/dist/chunks/codex.mjs +2 -2
  14. package/dist/chunks/config-switch.mjs +2 -4
  15. package/dist/chunks/config.mjs +1144 -5
  16. package/dist/chunks/config2.mjs +6 -4
  17. package/dist/chunks/config3.mjs +4 -2
  18. package/dist/chunks/doctor.mjs +1 -1
  19. package/dist/chunks/evolution.mjs +47 -27
  20. package/dist/chunks/features.mjs +2 -3
  21. package/dist/chunks/index10.mjs +115 -12
  22. package/dist/chunks/init.mjs +44 -17
  23. package/dist/chunks/installer.mjs +2 -2
  24. package/dist/chunks/mcp-cli.mjs +18 -19
  25. package/dist/chunks/mcp.mjs +6 -7
  26. package/dist/chunks/package.mjs +1 -1
  27. package/dist/chunks/platform.mjs +1 -1
  28. package/dist/chunks/quick-setup.mjs +2 -5
  29. package/dist/chunks/slash-commands.mjs +1 -1
  30. package/dist/chunks/status.mjs +63 -16
  31. package/dist/chunks/uninstall.mjs +1 -3
  32. package/dist/chunks/update.mjs +4 -5
  33. package/dist/cli.mjs +58 -17
  34. package/dist/i18n/locales/en/configuration.json +6 -2
  35. package/dist/i18n/locales/en/menu.json +7 -0
  36. package/dist/i18n/locales/zh-CN/configuration.json +6 -2
  37. package/dist/i18n/locales/zh-CN/menu.json +7 -0
  38. package/dist/index.d.mts +64 -17
  39. package/dist/index.d.ts +64 -17
  40. package/dist/index.mjs +12 -720
  41. package/dist/shared/{ccjk.DHaUdzX3.mjs → ccjk.B6VCKdyy.mjs} +2 -2
  42. package/dist/shared/ccjk.BO45TPXJ.mjs +807 -0
  43. package/dist/shared/{ccjk.B4aXNclK.mjs → ccjk.CVjfbEIj.mjs} +1 -1
  44. package/dist/shared/{ccjk.Dz0ssUQx.mjs → ccjk.Dh6Be-ef.mjs} +1 -1
  45. package/package.json +1 -1
  46. package/dist/chunks/claude-code-config-manager.mjs +0 -811
  47. package/dist/chunks/claude-config.mjs +0 -286
  48. package/dist/chunks/intent-engine.mjs +0 -142
  49. package/dist/chunks/smart-defaults.mjs +0 -425
  50. package/dist/shared/ccjk.DJuyfrlL.mjs +0 -348
  51. package/dist/shared/ccjk.yYQMbHH3.mjs +0 -115
@@ -1,28 +1,17 @@
1
1
  import a from './index5.mjs';
2
2
  import { g as getMcpServices } from '../shared/ccjk.DKXs7Fbm.mjs';
3
3
  import { i18n } from './index2.mjs';
4
- import { r as readMcpConfig } from './claude-config.mjs';
5
- import { i as installMcpService, u as uninstallMcpService } from '../shared/ccjk.DHaUdzX3.mjs';
4
+ import { r as readMcpConfig } from './config.mjs';
5
+ import { i as installMcpService, u as uninstallMcpService } from '../shared/ccjk.B6VCKdyy.mjs';
6
6
  import '../shared/ccjk.BAGoDD49.mjs';
7
7
  import 'node:child_process';
8
8
  import 'node:process';
9
9
  import 'node:fs';
10
10
  import 'node:url';
11
11
  import '../shared/ccjk.bQ7Dh1g4.mjs';
12
- import './constants.mjs';
13
- import 'node:os';
14
- import './json-config.mjs';
15
12
  import '../shared/ccjk.RyizuzOI.mjs';
16
- import './fs-operations.mjs';
17
- import 'node:crypto';
18
- import 'node:fs/promises';
19
- import './platform.mjs';
20
- import './main.mjs';
21
- import 'module';
22
- import 'node:path';
23
- import 'node:stream';
24
- import 'node:readline';
25
13
  import './index6.mjs';
14
+ import 'node:readline';
26
15
  import 'stream';
27
16
  import 'node:tty';
28
17
  import 'node:async_hooks';
@@ -31,17 +20,27 @@ import 'node:util';
31
20
  import 'tty';
32
21
  import 'fs';
33
22
  import 'child_process';
23
+ import 'node:path';
24
+ import 'node:os';
25
+ import 'node:crypto';
34
26
  import 'buffer';
35
27
  import 'string_decoder';
28
+ import './constants.mjs';
29
+ import './json-config.mjs';
30
+ import './fs-operations.mjs';
31
+ import 'node:fs/promises';
32
+ import './platform.mjs';
33
+ import './main.mjs';
34
+ import 'module';
35
+ import 'node:stream';
36
+ import '../shared/ccjk.DScm_NnL.mjs';
37
+ import './ccjk-config.mjs';
38
+ import '../shared/ccjk.BBtCGd_g.mjs';
39
+ import './index3.mjs';
36
40
  import './codex.mjs';
37
41
  import './index8.mjs';
38
42
  import '../shared/ccjk.DeWpAShp.mjs';
39
43
  import '../shared/ccjk.CxpGa6MC.mjs';
40
- import '../shared/ccjk.BBtCGd_g.mjs';
41
- import './ccjk-config.mjs';
42
- import './index3.mjs';
43
- import './config.mjs';
44
- import '../shared/ccjk.DScm_NnL.mjs';
45
44
  import '../shared/ccjk.BFQ7yr5S.mjs';
46
45
  import './prompts.mjs';
47
46
  import '../shared/ccjk.gDEDGD_t.mjs';
@@ -5,11 +5,11 @@ import { readZcfConfig } from './ccjk-config.mjs';
5
5
  import 'node:child_process';
6
6
  import 'node:process';
7
7
  import { M as MCP_SERVICE_TIERS, i as isCoreService, g as getServicesByTier, c as checkMcpPerformance, f as formatPerformanceWarning, a as calculateResourceUsage, b as getOptimizationSuggestions, d as getMcpTierConfig } from './mcp-performance.mjs';
8
- import { r as readMcpConfig, b as backupMcpConfig, w as writeMcpConfig } from './claude-config.mjs';
9
- export { m as mcpInstall, a as mcpList, b as mcpSearch, c as mcpUninstall } from '../shared/ccjk.B4aXNclK.mjs';
8
+ import { r as readMcpConfig, d as backupMcpConfig, w as writeMcpConfig } from './config.mjs';
9
+ export { m as mcpInstall, a as mcpList, b as mcpSearch, c as mcpUninstall } from '../shared/ccjk.CVjfbEIj.mjs';
10
10
  import { M as MCP_SERVICE_CONFIGS } from '../shared/ccjk.DKXs7Fbm.mjs';
11
11
  import { r as readCodexConfig, e as backupCodexComplete, w as writeCodexConfig, g as applyCodexPlatformCommand } from './codex.mjs';
12
- import { i as isWindows, m as getSystemRoot } from './platform.mjs';
12
+ import { i as isWindows, l as getSystemRoot } from './platform.mjs';
13
13
  import '../shared/ccjk.BAGoDD49.mjs';
14
14
  import 'node:os';
15
15
  import '../shared/ccjk.bQ7Dh1g4.mjs';
@@ -35,15 +35,14 @@ import 'child_process';
35
35
  import 'node:path';
36
36
  import 'buffer';
37
37
  import 'string_decoder';
38
- import '../shared/ccjk.DHaUdzX3.mjs';
38
+ import '../shared/ccjk.DScm_NnL.mjs';
39
+ import '../shared/ccjk.B6VCKdyy.mjs';
39
40
  import './index8.mjs';
40
41
  import '../shared/ccjk.DeWpAShp.mjs';
41
42
  import '../shared/ccjk.CxpGa6MC.mjs';
42
43
  import './main.mjs';
43
44
  import 'module';
44
45
  import 'node:stream';
45
- import './config.mjs';
46
- import '../shared/ccjk.DScm_NnL.mjs';
47
46
  import '../shared/ccjk.BFQ7yr5S.mjs';
48
47
  import './prompts.mjs';
49
48
  import '../shared/ccjk.gDEDGD_t.mjs';
@@ -576,7 +575,7 @@ function getServiceTier(serviceId, tiers) {
576
575
  return caseInsensitiveMatch?.[1] || "ondemand";
577
576
  }
578
577
  async function mcpStatus(options = {}) {
579
- const { readMcpConfig } = await import('./claude-config.mjs').then(function (n) { return n.l; });
578
+ const { readMcpConfig } = await import('./config.mjs').then(function (n) { return n.E; });
580
579
  const { readCodexConfig } = await import('./codex.mjs').then(function (n) { return n.q; });
581
580
  const { checkMcpPerformance, formatPerformanceWarning } = await import('./mcp-performance.mjs').then(function (n) { return n.e; });
582
581
  const { MCP_SERVICE_TIERS } = await import('./mcp-performance.mjs').then(function (n) { return n.m; });
@@ -1,3 +1,3 @@
1
- const version = "13.6.7";
1
+ const version = "14.0.1";
2
2
 
3
3
  export { version };
@@ -392,4 +392,4 @@ const platform = {
392
392
  wrapCommandWithSudo: wrapCommandWithSudo
393
393
  };
394
394
 
395
- export { getHomebrewCommandPaths as a, isTermux as b, getTermuxPrefix as c, isWSL as d, getWSLInfo as e, findCommandPath as f, getPlatform as g, commandExists as h, isWindows as i, getRecommendedInstallMethods as j, findRealCommandPath as k, getMcpCommand as l, getSystemRoot as m, normalizeTomlPath as n, platform as p, shouldUseSudoForGlobalInstall as s, wrapCommandWithSudo as w };
395
+ export { getHomebrewCommandPaths as a, isTermux as b, getTermuxPrefix as c, isWSL as d, getWSLInfo as e, findCommandPath as f, getPlatform as g, commandExists as h, isWindows as i, getRecommendedInstallMethods as j, findRealCommandPath as k, getSystemRoot as l, getMcpCommand as m, normalizeTomlPath as n, platform as p, shouldUseSudoForGlobalInstall as s, wrapCommandWithSudo as w };
@@ -1,6 +1,6 @@
1
1
  import a from './index5.mjs';
2
2
  import { i as inquirer } from './index6.mjs';
3
- import { d as detectSmartDefaults } from './smart-defaults.mjs';
3
+ import { d as detectSmartDefaults } from './code-type-resolver.mjs';
4
4
  import { resolveSupportedLanguage, i18n } from './index2.mjs';
5
5
  import { updateZcfConfig } from './ccjk-config.mjs';
6
6
  import { g as getRuntimeVersion } from '../shared/ccjk.gDEDGD_t.mjs';
@@ -33,14 +33,12 @@ import './platform.mjs';
33
33
  import './main.mjs';
34
34
  import 'module';
35
35
  import 'node:stream';
36
- import '../shared/ccjk.DJuyfrlL.mjs';
37
36
  import 'node:url';
38
37
  import '../shared/ccjk.BBtCGd_g.mjs';
39
38
  import './index3.mjs';
40
39
  import '../shared/ccjk.DKXs7Fbm.mjs';
41
40
  import './banner.mjs';
42
41
  import './config2.mjs';
43
- import './claude-config.mjs';
44
42
  import './config.mjs';
45
43
  import '../shared/ccjk.DScm_NnL.mjs';
46
44
  import '../shared/ccjk.DZ2LLOa-.mjs';
@@ -52,9 +50,8 @@ import '../shared/ccjk.CxpGa6MC.mjs';
52
50
  import './codex.mjs';
53
51
  import '../shared/ccjk.BFQ7yr5S.mjs';
54
52
  import './prompts.mjs';
55
- import '../shared/ccjk.yYQMbHH3.mjs';
56
53
  import '../shared/ccjk.DDq2hqA5.mjs';
57
- import '../shared/ccjk.Dz0ssUQx.mjs';
54
+ import '../shared/ccjk.Dh6Be-ef.mjs';
58
55
  import '../shared/ccjk.DGllfVCZ.mjs';
59
56
  import './installer.mjs';
60
57
  import '../shared/ccjk.BI-hdI7P.mjs';
@@ -122,7 +122,7 @@ function getSlashCommands() {
122
122
  descriptionZh: "\u521B\u5EFA\u914D\u7F6E\u5907\u4EFD",
123
123
  category: "system",
124
124
  handler: async () => {
125
- const { backupExistingConfig } = await import('./config.mjs').then(function (n) { return n.j; });
125
+ const { backupExistingConfig } = await import('./config.mjs').then(function (n) { return n.B; });
126
126
  const backupPath = backupExistingConfig();
127
127
  if (backupPath) {
128
128
  console.log(a.green(`\u2705 Backup created: ${backupPath}`));
@@ -2,31 +2,49 @@ import { existsSync, readFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import process__default from 'node:process';
4
4
  import a from './index5.mjs';
5
- import { s as scanProject } from '../shared/ccjk.DJuyfrlL.mjs';
5
+ import { g as getRuntimeCapabilityDescriptor } from '../shared/ccjk.BO45TPXJ.mjs';
6
+ import { s as scanProject, r as resolveCodeType } from './code-type-resolver.mjs';
6
7
  import { MetricsDisplay } from './metrics-display.mjs';
7
8
  import { getContextPersistence } from './persistence.mjs';
8
9
  import { r as runHealthCheck } from '../shared/ccjk.xkKNsC02.mjs';
9
10
  import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
10
11
  import '../shared/ccjk.BAGoDD49.mjs';
11
12
  import 'node:child_process';
12
- import 'better-sqlite3';
13
+ import 'node:path';
14
+ import 'node:util';
15
+ import './index6.mjs';
16
+ import 'node:readline';
17
+ import 'stream';
18
+ import 'node:tty';
19
+ import 'node:async_hooks';
20
+ import '../shared/ccjk.Cjgrln_h.mjs';
21
+ import 'tty';
22
+ import 'fs';
23
+ import 'child_process';
24
+ import 'node:crypto';
25
+ import 'buffer';
26
+ import 'string_decoder';
13
27
  import './constants.mjs';
14
28
  import './index2.mjs';
15
29
  import 'node:url';
30
+ import './json-config.mjs';
31
+ import '../shared/ccjk.RyizuzOI.mjs';
32
+ import './fs-operations.mjs';
33
+ import 'node:fs/promises';
34
+ import './platform.mjs';
35
+ import './main.mjs';
36
+ import 'module';
37
+ import 'node:stream';
38
+ import './ccjk-config.mjs';
39
+ import '../shared/ccjk.BBtCGd_g.mjs';
40
+ import './index3.mjs';
41
+ import 'better-sqlite3';
16
42
  import './memory-check.mjs';
17
- import 'node:path';
18
- import 'fs';
19
43
  import 'constants';
20
- import 'stream';
21
44
  import 'util';
22
45
  import 'assert';
23
46
  import 'path';
24
47
  import './memory-paths.mjs';
25
- import '../shared/ccjk.BBtCGd_g.mjs';
26
- import './index3.mjs';
27
- import './fs-operations.mjs';
28
- import 'node:crypto';
29
- import 'node:fs/promises';
30
48
 
31
49
  const GRADE_COLORS = {
32
50
  S: (s) => a.magenta.bold(s),
@@ -83,7 +101,7 @@ function loadInstalledSettings() {
83
101
  }
84
102
  async function loadSmartDefaults() {
85
103
  try {
86
- const { detectSmartDefaults } = await import('./smart-defaults.mjs').then(function (n) { return n.s; });
104
+ const { detectSmartDefaults } = await import('./code-type-resolver.mjs').then(function (n) { return n.b; });
87
105
  return await detectSmartDefaults();
88
106
  } catch {
89
107
  return null;
@@ -121,7 +139,7 @@ function renderProjectSection(ctx) {
121
139
  }
122
140
  return lines;
123
141
  }
124
- function renderRuntimeSection(ctx) {
142
+ function renderRuntimeSection(ctx, capability) {
125
143
  const lines = [];
126
144
  lines.push(heading("Runtime"));
127
145
  const rt = ctx.runtime;
@@ -143,6 +161,31 @@ function renderRuntimeSection(ctx) {
143
161
  lines.push(` ${label("Environment:".padEnd(14))} ${a.gray("standard")}`);
144
162
  }
145
163
  lines.push(` ${label("Browser:".padEnd(14))} ${rt.hasBrowser ? a.green("available") : a.gray("unavailable")}`);
164
+ if (capability) {
165
+ const nativeFeatures = [
166
+ capability.native.agentLoop && "agent-loop",
167
+ capability.native.planTask && "plan/task",
168
+ capability.native.subagents && "subagents",
169
+ capability.native.slashCommands && "slash-commands",
170
+ capability.native.mcp && "mcp",
171
+ capability.native.permissions && "permissions",
172
+ capability.native.memory && "memory",
173
+ capability.native.ideIntegration && "ide",
174
+ capability.native.worktree && "worktree",
175
+ capability.native.statusline && "statusline"
176
+ ].filter(Boolean);
177
+ const managedByCcjk = [
178
+ capability.managedByCcjk.providerProfiles && "profiles",
179
+ capability.managedByCcjk.modelRouting && "models",
180
+ capability.managedByCcjk.configSync && "config-sync",
181
+ capability.managedByCcjk.permissionRepair && "permission-repair",
182
+ capability.managedByCcjk.mcpBundles && "mcp-bundles",
183
+ capability.managedByCcjk.doctor && "doctor"
184
+ ].filter(Boolean);
185
+ lines.push(` ${label("Ownership:".padEnd(14))} ${val(capability.ownership)}`);
186
+ lines.push(` ${label("Native:".padEnd(14))} ${nativeFeatures.length > 0 ? val(nativeFeatures.join(", ")) : a.gray("none")}`);
187
+ lines.push(` ${label("CCJK:".padEnd(14))} ${managedByCcjk.length > 0 ? val(managedByCcjk.join(", ")) : a.gray("none")}`);
188
+ }
146
189
  return lines;
147
190
  }
148
191
  function renderMcpSection(recommended, installed) {
@@ -325,24 +368,28 @@ function suggestNextAction(health, _ctx) {
325
368
  }
326
369
  async function statusCommand(options = {}) {
327
370
  try {
328
- const [ctx, defaults, installed, health] = await Promise.all([
371
+ const [ctx, defaults, installed, health, codeTool] = await Promise.all([
329
372
  scanProject(),
330
373
  loadSmartDefaults(),
331
374
  Promise.resolve(loadInstalledSettings()),
332
- runHealthCheck()
375
+ runHealthCheck(),
376
+ resolveCodeType()
333
377
  ]);
378
+ const capability = getRuntimeCapabilityDescriptor(codeTool);
334
379
  if (options.json) {
335
380
  console.log(JSON.stringify({
336
381
  project: ctx,
337
382
  smartDefaults: defaults,
338
383
  installed,
339
- health
384
+ health,
385
+ codeTool,
386
+ capability
340
387
  }, null, 2));
341
388
  return;
342
389
  }
343
390
  const sections = [];
344
391
  sections.push(renderProjectSection(ctx));
345
- sections.push(renderRuntimeSection(ctx));
392
+ sections.push(renderRuntimeSection(ctx, capability));
346
393
  if (defaults) {
347
394
  sections.push(renderMcpSection(defaults.mcpServices, installed.mcpServers));
348
395
  sections.push(renderHooksSection(defaults.recommendedHooks, installed.hooks));
@@ -3,7 +3,7 @@ import { i as inquirer } from './index6.mjs';
3
3
  import { ZCF_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, isCodeToolType } from './constants.mjs';
4
4
  import { i18n, ensureI18nInitialized, resolveSupportedLanguage } from './index2.mjs';
5
5
  import { readZcfConfig } from './ccjk-config.mjs';
6
- import { r as resolveCodeType } from '../shared/ccjk.yYQMbHH3.mjs';
6
+ import { r as resolveCodeType } from './code-type-resolver.mjs';
7
7
  import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.DGllfVCZ.mjs';
8
8
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
9
9
  import { p as promptBoolean } from '../shared/ccjk.DZ2LLOa-.mjs';
@@ -34,10 +34,8 @@ import './index3.mjs';
34
34
  import './fs-operations.mjs';
35
35
  import 'node:fs/promises';
36
36
  import '../shared/ccjk.RyizuzOI.mjs';
37
- import './smart-defaults.mjs';
38
37
  import 'node:child_process';
39
38
  import './platform.mjs';
40
- import '../shared/ccjk.DJuyfrlL.mjs';
41
39
  import '../shared/ccjk.DeWpAShp.mjs';
42
40
  import 'module';
43
41
  import 'node:stream';
@@ -6,13 +6,12 @@ import { SETTINGS_FILE, DEFAULT_CODE_TOOL_TYPE, resolveCodeToolType as resolveCo
6
6
  import { i18n } from './index2.mjs';
7
7
  import { displayBanner } from './banner.mjs';
8
8
  import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
9
- import { r as readMcpConfig } from './claude-config.mjs';
9
+ import { k as copyConfigFiles, r as readMcpConfig } from './config.mjs';
10
10
  import { c as runCodexUpdate } from './codex.mjs';
11
- import { f as copyConfigFiles } from './config.mjs';
12
11
  import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.DDq2hqA5.mjs';
13
- import { u as updatePromptOnly } from '../shared/ccjk.Dz0ssUQx.mjs';
12
+ import { u as updatePromptOnly } from '../shared/ccjk.Dh6Be-ef.mjs';
14
13
  import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.DGllfVCZ.mjs';
15
- import { a as installMcpServices } from '../shared/ccjk.DHaUdzX3.mjs';
14
+ import { a as installMcpServices } from '../shared/ccjk.B6VCKdyy.mjs';
16
15
  import { resolveAiOutputLanguage } from './prompts.mjs';
17
16
  import { g as getRuntimeVersion } from '../shared/ccjk.gDEDGD_t.mjs';
18
17
  import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
@@ -46,12 +45,12 @@ import './platform.mjs';
46
45
  import './main.mjs';
47
46
  import 'module';
48
47
  import 'node:stream';
48
+ import '../shared/ccjk.DScm_NnL.mjs';
49
49
  import './index8.mjs';
50
50
  import '../shared/ccjk.DeWpAShp.mjs';
51
51
  import '../shared/ccjk.CxpGa6MC.mjs';
52
52
  import '../shared/ccjk.BFQ7yr5S.mjs';
53
53
  import '../shared/ccjk.DZ2LLOa-.mjs';
54
- import '../shared/ccjk.DScm_NnL.mjs';
55
54
 
56
55
  const ccjkVersion = getRuntimeVersion();
57
56
  function resolveCodeToolType(optionValue, savedValue) {
package/dist/cli.mjs CHANGED
@@ -1964,6 +1964,57 @@ ${ansis.yellow("By Status:")}`);
1964
1964
  }
1965
1965
  ];
1966
1966
 
1967
+ const SPECIAL_STARTUP_COMMANDS = [
1968
+ "cloud",
1969
+ "c",
1970
+ "system",
1971
+ "sys",
1972
+ "plugin",
1973
+ "completion",
1974
+ "skills-sync",
1975
+ "agents-sync",
1976
+ "marketplace",
1977
+ "quick",
1978
+ "deep",
1979
+ "setup",
1980
+ "sync",
1981
+ "versions",
1982
+ "permissions",
1983
+ "config-scan",
1984
+ "workspace"
1985
+ ];
1986
+ const EXPLICIT_STARTUP_COMMANDS = /* @__PURE__ */ new Set([
1987
+ ...COMMANDS.flatMap((command) => {
1988
+ const primaryName = command.name.split(/[ <[]/, 1)[0]?.toLowerCase();
1989
+ const aliases = command.aliases?.map((alias) => alias.toLowerCase()) || [];
1990
+ return primaryName ? [primaryName, ...aliases] : aliases;
1991
+ }),
1992
+ ...SPECIAL_STARTUP_COMMANDS
1993
+ ]);
1994
+ function shouldBootstrapCloudServicesForArgs(args) {
1995
+ if (args.length === 0) {
1996
+ return false;
1997
+ }
1998
+ const optionArgsWithValue = /* @__PURE__ */ new Set(["-l", "--lang", "-g", "--all-lang", "-T", "--code-type"]);
1999
+ for (let index = 0; index < args.length; index += 1) {
2000
+ const arg = args[index];
2001
+ if (!arg) {
2002
+ continue;
2003
+ }
2004
+ if (optionArgsWithValue.has(arg)) {
2005
+ index += 1;
2006
+ continue;
2007
+ }
2008
+ if (arg.startsWith("--lang=") || arg.startsWith("--all-lang=") || arg.startsWith("--code-type=")) {
2009
+ continue;
2010
+ }
2011
+ if (arg.startsWith("-") || arg.startsWith("/")) {
2012
+ continue;
2013
+ }
2014
+ return EXPLICIT_STARTUP_COMMANDS.has(arg.toLowerCase());
2015
+ }
2016
+ return false;
2017
+ }
1967
2018
  async function registerSpecialCommands(cli) {
1968
2019
  cli.command("cloud [resource] [action]", "Cloud sync (skills/agents/plugins)").alias("c").option("--dry-run, -d", "Preview changes").option("--force, -f", "Force sync").action(async (resource, action, options) => {
1969
2020
  const resourceStr = resource || "menu";
@@ -2286,8 +2337,7 @@ async function tryQuickProviderLaunch() {
2286
2337
  }
2287
2338
  function bootstrapCloudServices() {
2288
2339
  const args = process.argv.slice(2);
2289
- const isInteractiveMenu = args.length === 0 || args.length === 1 && ["-l", "--lang"].includes(args[0]);
2290
- if (isInteractiveMenu) {
2340
+ if (!shouldBootstrapCloudServicesForArgs(args)) {
2291
2341
  return;
2292
2342
  }
2293
2343
  setImmediate(async () => {
@@ -2432,21 +2482,12 @@ async function runLazyCli() {
2432
2482
  return;
2433
2483
  }
2434
2484
  const args = process__default.argv.slice(2);
2435
- if (args.length > 0) {
2436
- if (args[0].startsWith("/")) {
2437
- spinner?.stop();
2438
- const { executeSlashCommand } = await import('./chunks/slash-commands.mjs');
2439
- const slashHandled = await executeSlashCommand(args.join(" "));
2440
- if (slashHandled) {
2441
- return;
2442
- }
2443
- } else {
2444
- const { handleIntentRecognition } = await import('./chunks/intent-engine.mjs');
2445
- const intentHandled = await handleIntentRecognition();
2446
- if (intentHandled) {
2447
- spinner?.stop();
2448
- return;
2449
- }
2485
+ if (args.length > 0 && args[0].startsWith("/")) {
2486
+ spinner?.stop();
2487
+ const { executeSlashCommand } = await import('./chunks/slash-commands.mjs');
2488
+ const slashHandled = await executeSlashCommand(args.join(" "));
2489
+ if (slashHandled) {
2490
+ return;
2450
2491
  }
2451
2492
  }
2452
2493
  const cac = (await import('./chunks/index7.mjs')).default;
@@ -87,13 +87,17 @@
87
87
  "windowsMcpConfigFixed": "Windows MCP configuration fixed",
88
88
  "setupCompleteTitle": "✅ CCJK Configuration Complete!",
89
89
  "nextSteps": "🎯 Next Steps:",
90
- "guidanceStep1": "1. Open Claude Code and use slash commands:",
90
+ "guidanceStep1": "1. Open {{runtime}} and use slash commands:",
91
91
  "guidanceStep1Detail": "/ccjk:feat - Feature Dev /ccjk:git-commit - Smart Commit",
92
- "guidanceStep1Detail2": "/ccjk:init-project - Init Project /ccjk - View All",
92
+ "guidanceStep1Detail2": "/ccjk:init-project - Init Project /commands - View installed",
93
+ "guidanceStep1MyclaudeDetail": "/ccjk:feat - Feature Dev /ccjk:init-project - Init Project",
94
+ "guidanceStep1MyclaudeDetail2": "/commit - Smart Commit /workflow - Plan Feature",
93
95
  "guidanceStep2": "2. Example:",
94
96
  "guidanceStep2Example": "/ccjk:feat implement user login feature",
95
97
  "guidanceStep3": "3. View all features:",
96
98
  "guidanceStep3Command": "npx ccjk features",
99
+ "guidanceStep3Myclaude": "3. View installed commands:",
100
+ "guidanceStep3MyclaudeCommand": "/commands",
97
101
  "guidanceStep4": "4. Having issues? Run:",
98
102
  "guidanceStep4Command": "npx ccjk doctor",
99
103
  "migration": {
@@ -144,6 +144,13 @@
144
144
  "config": "Primary config: ~/.claude/settings.json",
145
145
  "menuTitle": "Claude Control Center"
146
146
  },
147
+ "myclaude": {
148
+ "title": "myclaude Workspace",
149
+ "summary": "Provider-first control center with explicit runtime status at startup.",
150
+ "focus": "Provider profiles, routing state, model slots, and Claude-family compatible configuration.",
151
+ "config": "Primary config: ~/.claude.json (runtime) + ~/.ccjk/config.toml (reusable profiles)",
152
+ "menuTitle": "myclaude Control Center"
153
+ },
147
154
  "codex": {
148
155
  "title": "Codex Workspace",
149
156
  "summary": "Lean setup focused on provider wiring, prompts, MCP, and memory.",
@@ -85,13 +85,17 @@
85
85
  "windowsMcpConfigFixed": "Windows MCP 配置已修复",
86
86
  "setupCompleteTitle": "✅ CCJK 配置完成!",
87
87
  "nextSteps": "🎯 下一步:",
88
- "guidanceStep1": "1. 打开 Claude Code,使用斜杠命令:",
88
+ "guidanceStep1": "1. 打开 {{runtime}},使用斜杠命令:",
89
89
  "guidanceStep1Detail": "/ccjk:feat - 功能开发 /ccjk:git-commit - 智能提交",
90
- "guidanceStep1Detail2": "/ccjk:init-project - 初始化项目 /ccjk - 查看全部",
90
+ "guidanceStep1Detail2": "/ccjk:init-project - 初始化项目 /commands - 查看已安装",
91
+ "guidanceStep1MyclaudeDetail": "/ccjk:feat - 功能开发 /ccjk:init-project - 初始化项目",
92
+ "guidanceStep1MyclaudeDetail2": "/commit - 智能提交 /workflow - 规划功能",
91
93
  "guidanceStep2": "2. 示例:",
92
94
  "guidanceStep2Example": "/ccjk:feat 实现用户登录功能",
93
95
  "guidanceStep3": "3. 查看所有功能:",
94
96
  "guidanceStep3Command": "npx ccjk features",
97
+ "guidanceStep3Myclaude": "3. 查看已安装命令:",
98
+ "guidanceStep3MyclaudeCommand": "/commands",
95
99
  "guidanceStep4": "4. 遇到问题?运行:",
96
100
  "guidanceStep4Command": "npx ccjk doctor",
97
101
  "migration": {
@@ -157,6 +157,13 @@
157
157
  "focus": "核心初始化、配置管理与工具专属操作。",
158
158
  "config": "使用当前激活工具的配置档案。",
159
159
  "menuTitle": "CCJK 控制中心"
160
+ },
161
+ "myclaude": {
162
+ "title": "myclaude 工作台",
163
+ "summary": "面向 Provider 的控制中心,启动时应明确展示当前运行态。",
164
+ "focus": "Provider 档案、路由状态、模型槽位与 Claude 家族兼容配置。",
165
+ "config": "主配置文件:~/.claude.json(运行态) + ~/.ccjk/config.toml(可复用档案)",
166
+ "menuTitle": "myclaude 控制中心"
160
167
  }
161
168
  },
162
169
  "menu": {