ccjk 14.1.2 → 14.1.5

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 (75) hide show
  1. package/dist/chunks/api-cli.mjs +5 -5
  2. package/dist/chunks/api-config-selector.mjs +18 -5
  3. package/dist/chunks/api-providers.mjs +24 -9
  4. package/dist/chunks/auto-updater.mjs +13 -13
  5. package/dist/chunks/boost.mjs +1 -1
  6. package/dist/chunks/ccjk-all.mjs +4 -4
  7. package/dist/chunks/ccjk-config.mjs +78 -1
  8. package/dist/chunks/ccjk-mcp.mjs +4 -4
  9. package/dist/chunks/ccjk-setup.mjs +4 -4
  10. package/dist/chunks/ccr.mjs +11 -11
  11. package/dist/chunks/check-updates.mjs +3 -3
  12. package/dist/chunks/claude-code-incremental-manager.mjs +8 -6
  13. package/dist/chunks/claude-config.mjs +73 -0
  14. package/dist/chunks/claude-wrapper.mjs +1 -1
  15. package/dist/chunks/cli-hook.mjs +76 -1
  16. package/dist/chunks/code-type-resolver.mjs +14 -13
  17. package/dist/chunks/codex-config-switch.mjs +2 -2
  18. package/dist/chunks/codex-provider-manager.mjs +2 -2
  19. package/dist/chunks/codex.mjs +3 -3
  20. package/dist/chunks/config-switch.mjs +5 -5
  21. package/dist/chunks/config.mjs +531 -158
  22. package/dist/chunks/config2.mjs +22 -20
  23. package/dist/chunks/config3.mjs +6 -6
  24. package/dist/chunks/constants.mjs +20 -13
  25. package/dist/chunks/doctor.mjs +1 -1
  26. package/dist/chunks/features.mjs +59 -4
  27. package/dist/chunks/fs-operations.mjs +2 -14
  28. package/dist/chunks/index.mjs +1 -1
  29. package/dist/chunks/index10.mjs +115 -100
  30. package/dist/chunks/init.mjs +121 -53
  31. package/dist/chunks/installer.mjs +28 -21
  32. package/dist/chunks/mcp-cli.mjs +6 -6
  33. package/dist/chunks/mcp.mjs +6 -6
  34. package/dist/chunks/package.mjs +1 -1
  35. package/dist/chunks/platform.mjs +3 -3
  36. package/dist/chunks/prompts.mjs +9 -7
  37. package/dist/chunks/quick-actions.mjs +1 -1
  38. package/dist/chunks/quick-provider.mjs +23 -31
  39. package/dist/chunks/quick-setup.mjs +3 -4
  40. package/dist/chunks/simple-config.mjs +57 -16
  41. package/dist/chunks/slash-commands.mjs +1 -1
  42. package/dist/chunks/smart-guide.mjs +23 -10
  43. package/dist/chunks/status.mjs +28 -24
  44. package/dist/chunks/update.mjs +19 -18
  45. package/dist/chunks/upgrade.mjs +88 -5
  46. package/dist/chunks/version-checker.mjs +2 -2
  47. package/dist/chunks/zero-config.mjs +121 -16
  48. package/dist/cli.mjs +50 -27
  49. package/dist/i18n/locales/en/configuration.json +5 -3
  50. package/dist/i18n/locales/en/language.json +1 -1
  51. package/dist/i18n/locales/en/menu.json +8 -7
  52. package/dist/i18n/locales/en/multi-config.json +1 -1
  53. package/dist/i18n/locales/zh-CN/configuration.json +5 -3
  54. package/dist/i18n/locales/zh-CN/language.json +1 -1
  55. package/dist/i18n/locales/zh-CN/menu.json +8 -7
  56. package/dist/i18n/locales/zh-CN/multi-config.json +1 -1
  57. package/dist/index.d.mts +13 -11
  58. package/dist/index.d.ts +13 -11
  59. package/dist/index.mjs +7 -7
  60. package/dist/shared/{ccjk.B6VCKdyy.mjs → ccjk.BXTrU9TN.mjs} +31 -68
  61. package/dist/shared/{ccjk.DScm_NnL.mjs → ccjk.Ccrqt7u2.mjs} +30 -1
  62. package/dist/shared/{ccjk.CVjfbEIj.mjs → ccjk.DZtwozOG.mjs} +1 -1
  63. package/dist/shared/{ccjk.D6wx-rxT.mjs → ccjk.Dxgd2vjc.mjs} +3 -3
  64. package/dist/shared/{ccjk.BO45TPXJ.mjs → ccjk.K8c6VnM2.mjs} +2 -2
  65. package/dist/shared/{ccjk.BJENIVf7.mjs → ccjk.MpkxXQJL.mjs} +179 -19
  66. package/dist/shared/{ccjk.Dh6Be-ef.mjs → ccjk.ygJzcD-n.mjs} +28 -24
  67. package/package.json +1 -30
  68. package/dist/chunks/auto-fix.mjs +0 -253
  69. package/dist/chunks/auto-init.mjs +0 -311
  70. package/dist/chunks/auto-upgrade.mjs +0 -152
  71. package/dist/chunks/migrator.mjs +0 -178
  72. package/dist/shared/ccjk.DDq2hqA5.mjs +0 -158
  73. package/dist/shared/ccjk.KPLeMP-o.mjs +0 -79
  74. package/templates/common/workflow/essential/en/agents/planner.md +0 -116
  75. package/templates/common/workflow/essential/zh-CN/agents/planner.md +0 -116
@@ -3,31 +3,31 @@ import process__default from 'node:process';
3
3
  import a from './index5.mjs';
4
4
  import { i as inquirer } from './index6.mjs';
5
5
  import { M as MCP_SERVICE_CONFIGS, g as getMcpServices } from '../shared/ccjk.DKXs7Fbm.mjs';
6
- import { SETTINGS_FILE, API_DEFAULT_URL, DEFAULT_CODE_TOOL_TYPE, CODE_TOOL_BANNERS, isClaudeFamilyCodeTool, CODE_TOOL_INFO } from './constants.mjs';
6
+ import { SETTINGS_FILE, API_DEFAULT_URL, DEFAULT_CODE_TOOL_TYPE, CODE_TOOL_BANNERS, isClaudeFamilyCodeTool, CODE_TOOL_INFO, ZCF_CONFIG_FILE } from './constants.mjs';
7
7
  import { ensureI18nInitialized, i18n } from './index2.mjs';
8
8
  import { displayBannerWithInfo, padToDisplayWidth } from './banner.mjs';
9
- import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
9
+ import { readZcfConfig, updateZcfConfig, updateTomlConfig } from './ccjk-config.mjs';
10
10
  import { readCcrConfig, backupCcrConfig, createDefaultCcrConfig, writeCcrConfig, configureCcrProxy, setupCcrConfiguration } from './config2.mjs';
11
11
  import { exec } from 'node:child_process';
12
12
  import { promisify } from 'node:util';
13
13
  import { updateCcr } from './auto-updater.mjs';
14
14
  import { w as wrapCommandWithSudo, i as isWindows, b as isTermux } from './platform.mjs';
15
- import { v as setMyclaudeProviderProfiles, p as promptApiConfigurationAction, n as addCompletedOnboarding, l as setPrimaryApiKey, x as ensureClaudeDir, y as clearMyclaudeProviderProfiles, h as getExistingApiConfig, q as switchToOfficialLogin, b as backupExistingConfig, k as copyConfigFiles, t as applyAiLanguageDirective, i as configureApi, d as backupMcpConfig, e as buildMcpServerConfig, r as readMcpConfig, z as replaceMcpServers, f as fixWindowsMcpConfig, w as writeMcpConfig, A as syncMcpPermissions } from './config.mjs';
15
+ import { y as setMyclaudeProviderProfiles, p as promptApiConfigurationAction, q as addCompletedOnboarding, o as setPrimaryApiKey, z as ensureClaudeDir, A as clearMyclaudeProviderProfiles, h as getExistingApiConfig, t as switchToOfficialLogin, b as backupExistingConfig, k as copyConfigFiles, v as applyAiLanguageDirective, i as configureApi, d as backupMcpConfig, e as buildMcpServerConfig, r as readMcpConfig, B as replaceMcpServers, f as fixWindowsMcpConfig, w as writeMcpConfig, D as syncMcpPermissions } from './config.mjs';
16
16
  import { h as runCodexFullInit } from './codex.mjs';
17
17
  import { p as parseOrchestrationLevel, a as resolveStartupCodeType, r as resolveCodeType, w as writeOrchestrationPolicy } from './code-type-resolver.mjs';
18
18
  import { exists } from './fs-operations.mjs';
19
19
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
20
- import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.DDq2hqA5.mjs';
21
- import { m as modifyApiConfigPartially, a as configureApiCompletely, c as configureOutputStyle, f as formatApiKeyDisplay } from '../shared/ccjk.Dh6Be-ef.mjs';
20
+ import { W as WORKFLOW_CONFIG_BASE, n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, s as selectAndInstallWorkflows } from '../shared/ccjk.MpkxXQJL.mjs';
21
+ import { m as modifyApiConfigPartially, a as configureApiCompletely, c as configureOutputStyle, f as formatApiKeyDisplay } from '../shared/ccjk.ygJzcD-n.mjs';
22
22
  import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.DGllfVCZ.mjs';
23
23
  import { getInstallationStatus, installMyclaude, installClaudeCode } from './installer.mjs';
24
24
  import { s as selectMcpServices } from '../shared/ccjk.BI-hdI7P.mjs';
25
25
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
26
26
  import { resolveAiOutputLanguage } from './prompts.mjs';
27
+ import { r as resolveClaudeFamilySettingsTarget } from '../shared/ccjk.Ccrqt7u2.mjs';
27
28
  import { g as getRuntimeVersion } from '../shared/ccjk.gDEDGD_t.mjs';
28
29
  import { p as promptBoolean } from '../shared/ccjk.DZ2LLOa-.mjs';
29
30
  import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
30
- import { W as WORKFLOW_CONFIG_BASE, s as selectAndInstallWorkflows } from '../shared/ccjk.BJENIVf7.mjs';
31
31
  import { c as checkSuperpowersInstalled, i as installSuperpowers } from '../shared/ccjk.Bq8TqZG_.mjs';
32
32
 
33
33
  const execAsync$1 = promisify(exec);
@@ -716,7 +716,7 @@ async function handleMultiConfigurations(options, codeToolType) {
716
716
  await validateApiConfigs(configs);
717
717
  if (codeToolType === "claude-code") {
718
718
  await handleClaudeCodeConfigs(configs);
719
- } else if (codeToolType === "myclaude") {
719
+ } else if (codeToolType === "clavue") {
720
720
  await handleMyclaudeConfigs(configs);
721
721
  } else if (codeToolType === "codex") {
722
722
  await handleCodexConfigs(configs);
@@ -768,7 +768,7 @@ async function validateApiConfigs(configs) {
768
768
  }
769
769
  }
770
770
  async function handleClaudeCodeConfigs(configs) {
771
- const { ClaudeCodeConfigManager } = await import('./config.mjs').then(function (n) { return n.E; });
771
+ const { ClaudeCodeConfigManager } = await import('./config.mjs').then(function (n) { return n.G; });
772
772
  const addedProfiles = [];
773
773
  for (const config of configs) {
774
774
  if (config.type === "ccr_proxy") {
@@ -807,7 +807,7 @@ async function handleMyclaudeConfigs(configs) {
807
807
  const activeProfile = profiles.find((_, index) => configs[index]?.default) || profiles[0];
808
808
  setMyclaudeProviderProfiles(profiles, activeProfile?.id);
809
809
  const summary = profiles.map((profile) => `${profile.name} [${profile.provider}]`).join(", ");
810
- console.log(a.gray(` \u2022 ~/.claude.json: ${summary}`));
810
+ console.log(a.gray(` \u2022 ~/.clavue/.clavue.json: ${summary}`));
811
811
  }
812
812
  async function handleCodexConfigs(configs) {
813
813
  const { addProviderToExisting } = await import('./codex-provider-manager.mjs');
@@ -859,7 +859,7 @@ async function handleCodexConfigs(configs) {
859
859
  }
860
860
  async function saveSingleConfigToToml(apiConfig, provider, options) {
861
861
  try {
862
- const { ClaudeCodeConfigManager } = await import('./config.mjs').then(function (n) { return n.E; });
862
+ const { ClaudeCodeConfigManager } = await import('./config.mjs').then(function (n) { return n.G; });
863
863
  const profile = await convertSingleConfigToProfile(apiConfig, provider, options);
864
864
  const result = await ClaudeCodeConfigManager.addProfile(profile);
865
865
  if (result.success) {
@@ -885,7 +885,7 @@ async function saveSingleConfigToToml(apiConfig, provider, options) {
885
885
  }
886
886
  }
887
887
  async function buildClaudeCodeProfile(params) {
888
- const { ClaudeCodeConfigManager } = await import('./config.mjs').then(function (n) { return n.E; });
888
+ const { ClaudeCodeConfigManager } = await import('./config.mjs').then(function (n) { return n.G; });
889
889
  let {
890
890
  url: baseUrl,
891
891
  authType,
@@ -986,10 +986,24 @@ async function convertToCodexProvider(config) {
986
986
  }
987
987
 
988
988
  const ccjkVersion = getRuntimeVersion();
989
+ function getDefaultArchetypeProfile(codeToolType) {
990
+ if (codeToolType === "clavue") {
991
+ return {
992
+ id: "pc-dev",
993
+ name: "PC Software Development",
994
+ goal: "Use Clavue as the primary execution runtime for coding, debugging, testing, and shipping"
995
+ };
996
+ }
997
+ return {
998
+ id: "pc-dev",
999
+ name: "PC Software Development",
1000
+ goal: "Build, debug, test, and ship software efficiently"
1001
+ };
1002
+ }
989
1003
  function getSetupCompletionGuidance(codeToolType) {
990
- if (codeToolType === "myclaude") {
1004
+ if (codeToolType === "clavue") {
991
1005
  return {
992
- step1: i18n.t("configuration:guidanceStep1", { runtime: "myclaude" }),
1006
+ step1: i18n.t("configuration:guidanceStep1", { runtime: "clavue" }),
993
1007
  step1Detail: i18n.t("configuration:guidanceStep1MyclaudeDetail"),
994
1008
  step1Detail2: i18n.t("configuration:guidanceStep1MyclaudeDetail2"),
995
1009
  step2: i18n.t("configuration:guidanceStep2"),
@@ -997,7 +1011,9 @@ function getSetupCompletionGuidance(codeToolType) {
997
1011
  step3: i18n.t("configuration:guidanceStep3Myclaude"),
998
1012
  step3Command: i18n.t("configuration:guidanceStep3MyclaudeCommand"),
999
1013
  step4: i18n.t("configuration:guidanceStep4"),
1000
- step4Command: i18n.t("configuration:guidanceStep4Command")
1014
+ step4Command: i18n.t("configuration:guidanceStep4Command"),
1015
+ step5: i18n.t("configuration:guidanceStep5"),
1016
+ step5Command: i18n.t("configuration:guidanceStep5Command")
1001
1017
  };
1002
1018
  }
1003
1019
  const runtimeLabel = CODE_TOOL_INFO[codeToolType]?.name || "Claude Code";
@@ -1010,7 +1026,9 @@ function getSetupCompletionGuidance(codeToolType) {
1010
1026
  step3: i18n.t("configuration:guidanceStep3"),
1011
1027
  step3Command: i18n.t("configuration:guidanceStep3Command"),
1012
1028
  step4: i18n.t("configuration:guidanceStep4"),
1013
- step4Command: i18n.t("configuration:guidanceStep4Command")
1029
+ step4Command: i18n.t("configuration:guidanceStep4Command"),
1030
+ step5: i18n.t("configuration:guidanceStep5"),
1031
+ step5Command: i18n.t("configuration:guidanceStep5Command")
1014
1032
  };
1015
1033
  }
1016
1034
  async function init(options = {}) {
@@ -1089,7 +1107,7 @@ async function init(options = {}) {
1089
1107
  return apiMode;
1090
1108
  }
1091
1109
  async function handleCustomApiConfiguration(existingConfig) {
1092
- if (codeToolType === "claude-code" || codeToolType === "myclaude") {
1110
+ if (codeToolType === "claude-code" || codeToolType === "clavue") {
1093
1111
  const { configureIncrementalManagement } = await import('./claude-code-incremental-manager.mjs');
1094
1112
  await configureIncrementalManagement();
1095
1113
  return null;
@@ -1103,12 +1121,12 @@ async function init(options = {}) {
1103
1121
  return await configureApiCompletely();
1104
1122
  } else if (customConfigAction === "keep-existing") {
1105
1123
  try {
1106
- addCompletedOnboarding();
1124
+ addCompletedOnboarding(codeToolType);
1107
1125
  } catch (error) {
1108
1126
  console.error(a.red(i18n.t("errors:failedToSetOnboarding")), error);
1109
1127
  }
1110
1128
  try {
1111
- setPrimaryApiKey();
1129
+ setPrimaryApiKey(codeToolType);
1112
1130
  } catch (error) {
1113
1131
  const { ensureI18nInitialized, i18n: i18nModule } = await import('./index2.mjs');
1114
1132
  ensureI18nInitialized();
@@ -1164,7 +1182,8 @@ async function init(options = {}) {
1164
1182
  configLang = await resolveTemplateLanguage(
1165
1183
  options.configLang,
1166
1184
  zcfConfig,
1167
- options.skipPrompt
1185
+ options.skipPrompt,
1186
+ codeToolType
1168
1187
  );
1169
1188
  }
1170
1189
  }
@@ -1237,7 +1256,7 @@ async function init(options = {}) {
1237
1256
  }
1238
1257
  } else {
1239
1258
  if (options.skipPrompt) {
1240
- if (codeToolType === "myclaude") {
1259
+ if (codeToolType === "clavue") {
1241
1260
  await installMyclaude(true);
1242
1261
  } else {
1243
1262
  await installClaudeCode(true);
@@ -1248,7 +1267,7 @@ async function init(options = {}) {
1248
1267
  defaultValue: true
1249
1268
  });
1250
1269
  if (shouldInstall) {
1251
- if (codeToolType === "myclaude") {
1270
+ if (codeToolType === "clavue") {
1252
1271
  await installMyclaude(false);
1253
1272
  } else {
1254
1273
  await installClaudeCode(false);
@@ -1262,22 +1281,23 @@ async function init(options = {}) {
1262
1281
  await checkClaudeCodeVersionAndPrompt(options.skipPrompt);
1263
1282
  }
1264
1283
  }
1265
- ensureClaudeDir();
1266
- if (existsSync(SETTINGS_FILE) && needsMigration()) {
1284
+ ensureClaudeDir(codeToolType);
1285
+ if (needsMigration(codeToolType)) {
1267
1286
  if (options.skipPrompt) {
1268
1287
  console.log(a.yellow("\n\u26A0\uFE0F Problematic configuration detected. Auto-fixing...\n"));
1269
- const result = migrateSettingsForTokenRetrieval();
1288
+ const result = migrateSettingsForTokenRetrieval(codeToolType);
1270
1289
  displayMigrationResult(result);
1271
1290
  } else {
1272
1291
  const shouldMigrate = await promptMigration();
1273
1292
  if (shouldMigrate) {
1274
- const result = migrateSettingsForTokenRetrieval();
1293
+ const result = migrateSettingsForTokenRetrieval(codeToolType);
1275
1294
  displayMigrationResult(result);
1276
1295
  }
1277
1296
  }
1278
1297
  }
1279
1298
  let action = "new";
1280
- if (existsSync(SETTINGS_FILE) && !options.force) {
1299
+ const runtimeTarget = resolveClaudeFamilySettingsTarget(codeToolType);
1300
+ if (existsSync(runtimeTarget.settingsFile) && !options.force) {
1281
1301
  if (options.skipPrompt) {
1282
1302
  action = options.configAction || "backup";
1283
1303
  if (action === "skip") {
@@ -1309,7 +1329,7 @@ async function init(options = {}) {
1309
1329
  } else if (options.skipPrompt && options.configAction) {
1310
1330
  action = options.configAction;
1311
1331
  }
1312
- const isNewInstall = !existsSync(SETTINGS_FILE);
1332
+ const isNewInstall = !existsSync(runtimeTarget.settingsFile);
1313
1333
  if (!options.skipPrompt && (isNewInstall || ["backup", "merge", "new"].includes(action))) {
1314
1334
  const isZh = i18n.language === "zh-CN";
1315
1335
  console.log("");
@@ -1405,21 +1425,21 @@ async function init(options = {}) {
1405
1425
  const defaultCcrConfig = createDefaultCcrConfig();
1406
1426
  writeCcrConfig(defaultCcrConfig);
1407
1427
  console.log(a.green(`\u2714 ${i18n.t("ccr:ccrConfigSuccess")}`));
1408
- await configureCcrProxy(defaultCcrConfig);
1428
+ await configureCcrProxy(defaultCcrConfig, codeToolType);
1409
1429
  console.log(a.green(`\u2714 ${i18n.t("ccr:proxyConfigSuccess")}`));
1410
1430
  try {
1411
- addCompletedOnboarding();
1431
+ addCompletedOnboarding(codeToolType);
1412
1432
  } catch (error) {
1413
1433
  console.error(a.red(i18n.t("errors:failedToSetOnboarding")), error);
1414
1434
  }
1415
1435
  apiConfig = null;
1416
1436
  }
1417
1437
  } else {
1418
- const existingApiConfig = getExistingApiConfig();
1438
+ const existingApiConfig = getExistingApiConfig(codeToolType);
1419
1439
  const apiMode = await selectApiConfigurationMode();
1420
1440
  switch (apiMode) {
1421
1441
  case "official": {
1422
- const success = switchToOfficialLogin();
1442
+ const success = switchToOfficialLogin(codeToolType);
1423
1443
  if (success) {
1424
1444
  console.log(a.green(`\u2714 ${i18n.t("api:officialLoginConfigured")}`));
1425
1445
  apiConfig = null;
@@ -1438,7 +1458,7 @@ async function init(options = {}) {
1438
1458
  } else {
1439
1459
  console.log(a.green(`\u2714 ${i18n.t("ccr:ccrAlreadyInstalled")}`));
1440
1460
  }
1441
- const ccrConfigured = await setupCcrConfiguration();
1461
+ const ccrConfigured = await setupCcrConfiguration(codeToolType);
1442
1462
  if (ccrConfigured) {
1443
1463
  console.log(a.green(`\u2714 ${i18n.t("ccr:ccrSetupComplete")}`));
1444
1464
  apiConfig = null;
@@ -1455,45 +1475,45 @@ async function init(options = {}) {
1455
1475
  }
1456
1476
  }
1457
1477
  if (["backup", "docs-only", "merge"].includes(action)) {
1458
- const backupDir = backupExistingConfig();
1478
+ const backupDir = backupExistingConfig(codeToolType);
1459
1479
  if (backupDir) {
1460
1480
  console.log(a.gray(`\u2714 ${i18n.t("configuration:backupSuccess")}: ${backupDir}`));
1461
1481
  }
1462
1482
  }
1463
1483
  if (action === "docs-only") {
1464
- copyConfigFiles(true);
1484
+ copyConfigFiles(true, codeToolType);
1465
1485
  if (options.skipPrompt) {
1466
1486
  if (options.workflows !== false) {
1467
- await selectAndInstallWorkflows(configLang, options.workflows);
1487
+ await selectAndInstallWorkflows(configLang, options.workflows, { codeToolType });
1468
1488
  }
1469
1489
  } else {
1470
- await selectAndInstallWorkflows(configLang);
1490
+ await selectAndInstallWorkflows(configLang, void 0, { codeToolType });
1471
1491
  }
1472
1492
  } else if (["backup", "merge", "new"].includes(action)) {
1473
- copyConfigFiles(false);
1493
+ copyConfigFiles(false, codeToolType);
1474
1494
  if (options.skipPrompt) {
1475
1495
  if (options.workflows !== false) {
1476
- await selectAndInstallWorkflows(configLang, options.workflows);
1496
+ await selectAndInstallWorkflows(configLang, options.workflows, { codeToolType });
1477
1497
  }
1478
1498
  } else {
1479
- await selectAndInstallWorkflows(configLang);
1499
+ await selectAndInstallWorkflows(configLang, void 0, { codeToolType });
1480
1500
  }
1481
1501
  }
1482
- applyAiLanguageDirective(aiOutputLang);
1502
+ applyAiLanguageDirective(aiOutputLang, codeToolType);
1483
1503
  if (options.skipPrompt) {
1484
1504
  if (options.outputStyles !== false) {
1485
- await configureOutputStyle(options.outputStyles, options.defaultOutputStyle);
1505
+ await configureOutputStyle(options.outputStyles, options.defaultOutputStyle, codeToolType);
1486
1506
  }
1487
1507
  } else {
1488
- await configureOutputStyle();
1508
+ await configureOutputStyle(void 0, void 0, codeToolType);
1489
1509
  }
1490
1510
  if (apiConfig && action !== "docs-only") {
1491
- const configuredApi = configureApi(apiConfig);
1511
+ const configuredApi = configureApi(apiConfig, codeToolType);
1492
1512
  if (configuredApi) {
1493
1513
  console.log(a.green(`\u2714 ${i18n.t("api:apiConfigSuccess")}`));
1494
1514
  console.log(a.gray(` URL: ${configuredApi.url}`));
1495
1515
  console.log(a.gray(` Key: ${formatApiKeyDisplay(configuredApi.key)}`));
1496
- if (codeToolType === "myclaude") {
1516
+ if (codeToolType === "clavue") {
1497
1517
  try {
1498
1518
  if (!configuredApi.authType) {
1499
1519
  throw new Error("Configured API is missing authType");
@@ -1529,7 +1549,7 @@ async function init(options = {}) {
1529
1549
  }
1530
1550
  ], profile.id || profile.name);
1531
1551
  } catch (error) {
1532
- console.log(a.yellow(`\u26A0 Failed to write myclaude provider profile: ${error}`));
1552
+ console.log(a.yellow(`\u26A0 Failed to write Clavue provider profile: ${error}`));
1533
1553
  }
1534
1554
  } else if (codeToolType === "claude-code") {
1535
1555
  clearMyclaudeProviderProfiles();
@@ -1537,14 +1557,15 @@ async function init(options = {}) {
1537
1557
  }
1538
1558
  }
1539
1559
  const hasModelParams = options.apiModel || options.apiHaikuModel || options.apiSonnetModel || options.apiOpusModel;
1540
- if (hasModelParams && action !== "docs-only" && (codeToolType === "claude-code" || codeToolType === "myclaude")) {
1560
+ if (hasModelParams && action !== "docs-only" && (codeToolType === "claude-code" || codeToolType === "clavue")) {
1541
1561
  if (options.skipPrompt) {
1542
- const { updateCustomModel } = await import('./config.mjs').then(function (n) { return n.D; });
1562
+ const { updateCustomModel } = await import('./config.mjs').then(function (n) { return n.F; });
1543
1563
  updateCustomModel(
1544
1564
  options.apiModel || void 0,
1545
1565
  options.apiHaikuModel || void 0,
1546
1566
  options.apiSonnetModel || void 0,
1547
- options.apiOpusModel || void 0
1567
+ options.apiOpusModel || void 0,
1568
+ codeToolType
1548
1569
  );
1549
1570
  console.log(a.green(`\u2714 ${i18n.t("api:modelConfigSuccess")}`));
1550
1571
  if (options.apiModel) {
@@ -1585,7 +1606,7 @@ async function init(options = {}) {
1585
1606
  }
1586
1607
  }
1587
1608
  if (selectedServices.length > 0) {
1588
- const mcpBackupPath = backupMcpConfig();
1609
+ const mcpBackupPath = backupMcpConfig(codeToolType);
1589
1610
  if (mcpBackupPath) {
1590
1611
  console.log(a.gray(`\u2714 ${i18n.t("mcp:mcpBackupSuccess")}: ${mcpBackupPath}`));
1591
1612
  }
@@ -1636,12 +1657,12 @@ async function init(options = {}) {
1636
1657
  }
1637
1658
  newServers[service.id] = config;
1638
1659
  }
1639
- const existingConfig = readMcpConfig();
1660
+ const existingConfig = readMcpConfig(codeToolType);
1640
1661
  let mergedConfig = replaceMcpServers(existingConfig, newServers);
1641
1662
  mergedConfig = fixWindowsMcpConfig(mergedConfig);
1642
1663
  try {
1643
- writeMcpConfig(mergedConfig);
1644
- syncMcpPermissions();
1664
+ writeMcpConfig(mergedConfig, codeToolType);
1665
+ syncMcpPermissions(codeToolType);
1645
1666
  console.log(a.green(`\u2714 ${i18n.t("mcp:mcpConfigSuccess")}`));
1646
1667
  const { checkMcpPerformance, formatPerformanceWarning } = await import('./mcp-performance.mjs').then(function (n) { return n.e; });
1647
1668
  const serviceCount = Object.keys(newServers).length;
@@ -1724,7 +1745,7 @@ async function init(options = {}) {
1724
1745
  }
1725
1746
  try {
1726
1747
  const { injectSmartGuide } = await import('./smart-guide.mjs');
1727
- const smartGuideSuccess = await injectSmartGuide(configLang);
1748
+ const smartGuideSuccess = await injectSmartGuide(configLang, codeToolType);
1728
1749
  if (smartGuideSuccess) {
1729
1750
  console.log(a.green(`\u2714 ${i18n.t("smartGuide:enabled")}`));
1730
1751
  }
@@ -1756,6 +1777,50 @@ async function init(options = {}) {
1756
1777
  aiOutputLang,
1757
1778
  codeToolType
1758
1779
  });
1780
+ const defaultArchetype = getDefaultArchetypeProfile(codeToolType);
1781
+ const runtimeDistribution = codeToolType === "clavue" ? "clavue" : codeToolType === "claude-code" ? "claude-code" : "generic";
1782
+ updateTomlConfig(ZCF_CONFIG_FILE, {
1783
+ adaptation: {
1784
+ runtimeProfile: {
1785
+ target: codeToolType,
1786
+ distribution: runtimeDistribution,
1787
+ compatMode: codeToolType === "clavue" ? "native" : "compatible",
1788
+ providerStrategy: codeToolType === "clavue" ? "profile-based" : "env-based"
1789
+ },
1790
+ archetypeProfile: defaultArchetype,
1791
+ capabilityProfile: {
1792
+ coding: true,
1793
+ planning: true,
1794
+ taskTracking: true,
1795
+ memory: true,
1796
+ browserAutomation: false,
1797
+ research: true,
1798
+ documentAuthoring: false,
1799
+ serviceOps: false,
1800
+ multiAgent: codeToolType === "clavue"
1801
+ },
1802
+ policyProfile: {
1803
+ permissionPreset: "dev",
1804
+ verificationMode: "required",
1805
+ destructiveActionPolicy: "confirm",
1806
+ workflowFallbackMode: "graceful"
1807
+ },
1808
+ contextProfile: {
1809
+ memoryMode: "project-aware",
1810
+ compressionMode: "runtime-native",
1811
+ instructionLayering: "runtime-first"
1812
+ },
1813
+ profileSelection: {
1814
+ workflowPack: "desktop-engineering",
1815
+ toolPack: "typescript-node-react"
1816
+ },
1817
+ uiProfile: {
1818
+ language: configLang,
1819
+ outputStyle: "concise",
1820
+ operatorMode: "execution-first"
1821
+ }
1822
+ }
1823
+ });
1759
1824
  if (!options.skipPrompt) {
1760
1825
  const { importRecommendedEnv, importRecommendedPermissions } = await import('./simple-config.mjs');
1761
1826
  const confirmImport = await promptBoolean({
@@ -1831,6 +1896,9 @@ async function init(options = {}) {
1831
1896
  console.log(
1832
1897
  a.bold.green("\u2551") + padToDisplayWidth(` ${completionGuidance.step4} `, 44) + a.yellow(padToDisplayWidth(completionGuidance.step4Command, 18)) + a.bold.green("\u2551")
1833
1898
  );
1899
+ console.log(
1900
+ a.bold.green("\u2551") + padToDisplayWidth(` ${completionGuidance.step5} `, 44) + a.yellow(padToDisplayWidth(completionGuidance.step5Command, 18)) + a.bold.green("\u2551")
1901
+ );
1834
1902
  console.log(
1835
1903
  `${a.bold.green("\u2551")} ${a.bold.green("\u2551")}`
1836
1904
  );
@@ -125,12 +125,12 @@ ${i18n.t("installation:wslInstallSuccess")}`));
125
125
  }
126
126
  }
127
127
  async function isMyclaudeInstalled() {
128
- return await commandExists("myclaude");
128
+ return await commandExists("clavue");
129
129
  }
130
130
  async function installMyclaude(skipMethodSelection = false) {
131
131
  ensureI18nInitialized();
132
- const codeType = "myclaude";
133
- const codeTypeName = CODE_TOOL_INFO.myclaude.name;
132
+ const codeType = "clavue";
133
+ const codeTypeName = CODE_TOOL_INFO.clavue.name;
134
134
  const installed = await isMyclaudeInstalled();
135
135
  if (installed) {
136
136
  console.log(a.green(`\u2714 ${codeTypeName} ${i18n.t("installation:alreadyInstalled")}`));
@@ -145,12 +145,12 @@ async function installMyclaude(skipMethodSelection = false) {
145
145
  if (skipMethodSelection) {
146
146
  console.log(i18n.t("installation:installingWith", { method: "npm", codeType: codeTypeName }));
147
147
  try {
148
- const { command, args, usedSudo } = wrapCommandWithSudo("npm", ["install", "-g", "myclaude-code", "--force"]);
148
+ const { command, args, usedSudo } = wrapCommandWithSudo("npm", ["install", "-g", "clavue", "--force"]);
149
149
  if (usedSudo) {
150
150
  console.log(a.yellow(`\u2139 ${i18n.t("installation:usingSudo")}`));
151
151
  }
152
152
  await q(command, args);
153
- await q("myclaude", ["install", "--force"]);
153
+ await q("clavue", ["install", "--force"]);
154
154
  await setInstallMethod("npm", codeType);
155
155
  console.log(a.green(`\u2714 ${codeTypeName} ${i18n.t("installation:installSuccess")}`));
156
156
  const verification = await verifyInstallation(codeType);
@@ -214,7 +214,7 @@ async function installCodex(skipMethodSelection = false) {
214
214
  }
215
215
  }
216
216
  async function getInstallationStatus(codeType = "claude-code") {
217
- const hasGlobal = codeType === "claude-code" ? await isClaudeCodeInstalled() : codeType === "myclaude" ? await isMyclaudeInstalled() : await isCodexInstalled();
217
+ const hasGlobal = codeType === "claude-code" ? await isClaudeCodeInstalled() : codeType === "clavue" ? await isMyclaudeInstalled() : await isCodexInstalled();
218
218
  return {
219
219
  hasGlobal,
220
220
  hasLocal: false,
@@ -224,7 +224,7 @@ async function getInstallationStatus(codeType = "claude-code") {
224
224
  async function getInstallMethodFromConfig(codeType) {
225
225
  try {
226
226
  if (isClaudeFamilyCodeTool(codeType)) {
227
- const { readMcpConfig } = await import('./config.mjs').then(function (n) { return n.F; });
227
+ const { readMcpConfig } = await import('./config.mjs').then(function (n) { return n.H; });
228
228
  const config = readMcpConfig();
229
229
  return config?.installMethod || null;
230
230
  }
@@ -245,9 +245,9 @@ async function uninstallCodeTool(codeType) {
245
245
  }
246
246
  } catch {
247
247
  }
248
- } else if (codeType === "myclaude") {
248
+ } else if (codeType === "clavue") {
249
249
  try {
250
- const result = await q("brew", ["list", "--cask", "myclaude-code"]);
250
+ const result = await q("brew", ["list", "--cask", "clavue"]);
251
251
  if (result.exitCode === 0) {
252
252
  method = "homebrew";
253
253
  }
@@ -270,7 +270,7 @@ async function uninstallCodeTool(codeType) {
270
270
  const platform = getPlatform();
271
271
  if (platform === "macos" || platform === "linux") {
272
272
  try {
273
- const testResult = codeType === "claude-code" ? await q("brew", ["list", "--cask", "claude-code"]) : codeType === "myclaude" ? await q("brew", ["list", "--cask", "myclaude-code"]) : await q("brew", ["list", "--cask", "codex"]);
273
+ const testResult = codeType === "claude-code" ? await q("brew", ["list", "--cask", "claude-code"]) : codeType === "clavue" ? await q("brew", ["list", "--cask", "clavue"]) : await q("brew", ["list", "--cask", "codex"]);
274
274
  if (testResult.exitCode === 0) {
275
275
  method = "homebrew";
276
276
  }
@@ -286,7 +286,7 @@ async function uninstallCodeTool(codeType) {
286
286
  switch (method) {
287
287
  case "npm":
288
288
  case "npm-global": {
289
- const packageName = codeType === "claude-code" ? "@anthropic-ai/claude-code" : codeType === "myclaude" ? "myclaude-code" : "@openai/codex";
289
+ const packageName = codeType === "claude-code" ? "@anthropic-ai/claude-code" : codeType === "clavue" ? "clavue" : "@openai/codex";
290
290
  const { command, args, usedSudo } = wrapCommandWithSudo("npm", ["uninstall", "-g", packageName]);
291
291
  if (usedSudo) {
292
292
  spinner.info(i18n.t("installation:usingSudo"));
@@ -298,8 +298,8 @@ async function uninstallCodeTool(codeType) {
298
298
  case "homebrew": {
299
299
  if (codeType === "claude-code") {
300
300
  await q("brew", ["uninstall", "--cask", "claude-code"]);
301
- } else if (codeType === "myclaude") {
302
- await q("brew", ["uninstall", "--cask", "myclaude-code"]);
301
+ } else if (codeType === "clavue") {
302
+ await q("brew", ["uninstall", "--cask", "clavue"]);
303
303
  } else {
304
304
  await q("brew", ["uninstall", "--cask", "codex"]);
305
305
  }
@@ -348,13 +348,20 @@ async function uninstallCodeTool(codeType) {
348
348
  async function setInstallMethod(method, codeType = "claude-code") {
349
349
  try {
350
350
  if (isClaudeFamilyCodeTool(codeType)) {
351
- const { readMcpConfig, writeMcpConfig } = await import('./config.mjs').then(function (n) { return n.F; });
352
- let config = readMcpConfig();
351
+ const {
352
+ readClavueConfig,
353
+ readMcpConfig,
354
+ writeClavueConfig,
355
+ writeMcpConfig
356
+ } = await import('./config.mjs').then(function (n) { return n.H; });
357
+ const readConfig = codeType === "clavue" ? readClavueConfig : readMcpConfig;
358
+ const writeConfig = codeType === "clavue" ? writeClavueConfig : writeMcpConfig;
359
+ let config = readConfig();
353
360
  if (!config) {
354
361
  config = { mcpServers: {} };
355
362
  }
356
363
  config.installMethod = method === "npm" ? "npm-global" : method;
357
- writeMcpConfig(config);
364
+ writeConfig(config);
358
365
  }
359
366
  } catch (error) {
360
367
  console.error("Failed to set installMethod:", error);
@@ -395,7 +402,7 @@ function getInstallMethodOptions(codeType, recommendedMethods) {
395
402
  if (codeType === "codex" && !["npm", "homebrew"].includes(method)) {
396
403
  return false;
397
404
  }
398
- if (codeType === "myclaude" && method !== "npm") {
405
+ if (codeType === "clavue" && method !== "npm") {
399
406
  return false;
400
407
  }
401
408
  if (method === "homebrew")
@@ -444,15 +451,15 @@ async function executeInstallMethod(method, codeType) {
444
451
  try {
445
452
  switch (method) {
446
453
  case "npm": {
447
- const packageName = codeType === "claude-code" ? "@anthropic-ai/claude-code" : codeType === "myclaude" ? "myclaude-code" : "@openai/codex";
454
+ const packageName = codeType === "claude-code" ? "@anthropic-ai/claude-code" : codeType === "clavue" ? "clavue" : "@openai/codex";
448
455
  const { command, args, usedSudo } = wrapCommandWithSudo("npm", ["install", "-g", packageName, "--force"]);
449
456
  if (usedSudo) {
450
457
  spinner.info(i18n.t("installation:usingSudo"));
451
458
  spinner.start();
452
459
  }
453
460
  await q(command, args);
454
- if (codeType === "myclaude") {
455
- await q("myclaude", ["install", "--force"]);
461
+ if (codeType === "clavue") {
462
+ await q("clavue", ["install", "--force"]);
456
463
  }
457
464
  await setInstallMethod("npm", codeType);
458
465
  break;
@@ -460,7 +467,7 @@ async function executeInstallMethod(method, codeType) {
460
467
  case "homebrew": {
461
468
  if (codeType === "claude-code") {
462
469
  await q("brew", ["install", "--cask", "claude-code"]);
463
- } else if (codeType === "myclaude") {
470
+ } else if (codeType === "clavue") {
464
471
  spinner.stop();
465
472
  return await executeInstallMethod("npm", codeType);
466
473
  } else {
@@ -2,7 +2,7 @@ import a from './index5.mjs';
2
2
  import { g as getMcpServices } from '../shared/ccjk.DKXs7Fbm.mjs';
3
3
  import { i18n } from './index2.mjs';
4
4
  import { r as readMcpConfig } from './config.mjs';
5
- import { i as installMcpService, u as uninstallMcpService } from '../shared/ccjk.B6VCKdyy.mjs';
5
+ import { i as installMcpService, u as uninstallMcpService } from '../shared/ccjk.BXTrU9TN.mjs';
6
6
  import '../shared/ccjk.BAGoDD49.mjs';
7
7
  import 'node:child_process';
8
8
  import 'node:process';
@@ -26,17 +26,17 @@ import 'node:crypto';
26
26
  import 'buffer';
27
27
  import 'string_decoder';
28
28
  import './constants.mjs';
29
- import './json-config.mjs';
29
+ import './ccjk-config.mjs';
30
+ import '../shared/ccjk.BBtCGd_g.mjs';
31
+ import './index3.mjs';
30
32
  import './fs-operations.mjs';
31
33
  import 'node:fs/promises';
34
+ import './json-config.mjs';
35
+ import '../shared/ccjk.Ccrqt7u2.mjs';
32
36
  import './platform.mjs';
33
37
  import './main.mjs';
34
38
  import 'module';
35
39
  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';
40
40
  import './codex.mjs';
41
41
  import './index8.mjs';
42
42
  import '../shared/ccjk.DeWpAShp.mjs';
@@ -6,10 +6,10 @@ 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
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';
9
+ export { m as mcpInstall, a as mcpList, b as mcpSearch, c as mcpUninstall } from '../shared/ccjk.DZtwozOG.mjs';
10
10
  import { M as MCP_SERVICE_CONFIGS } from '../shared/ccjk.DKXs7Fbm.mjs';
11
- import { r as readCodexConfig, e as backupCodexComplete, w as writeCodexConfig, g as applyCodexPlatformCommand } from './codex.mjs';
12
- import { i as isWindows, l as getSystemRoot } from './platform.mjs';
11
+ import { r as readCodexConfig, f as backupCodexComplete, w as writeCodexConfig, d as applyCodexPlatformCommand } from './codex.mjs';
12
+ import { i as isWindows, k 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,8 +35,8 @@ import 'child_process';
35
35
  import 'node:path';
36
36
  import 'buffer';
37
37
  import 'string_decoder';
38
- import '../shared/ccjk.DScm_NnL.mjs';
39
- import '../shared/ccjk.B6VCKdyy.mjs';
38
+ import '../shared/ccjk.Ccrqt7u2.mjs';
39
+ import '../shared/ccjk.BXTrU9TN.mjs';
40
40
  import './index8.mjs';
41
41
  import '../shared/ccjk.DeWpAShp.mjs';
42
42
  import '../shared/ccjk.CxpGa6MC.mjs';
@@ -575,7 +575,7 @@ function getServiceTier(serviceId, tiers) {
575
575
  return caseInsensitiveMatch?.[1] || "ondemand";
576
576
  }
577
577
  async function mcpStatus(options = {}) {
578
- const { readMcpConfig } = await import('./config.mjs').then(function (n) { return n.F; });
578
+ const { readMcpConfig } = await import('./config.mjs').then(function (n) { return n.H; });
579
579
  const { readCodexConfig } = await import('./codex.mjs').then(function (n) { return n.q; });
580
580
  const { checkMcpPerformance, formatPerformanceWarning } = await import('./mcp-performance.mjs').then(function (n) { return n.e; });
581
581
  const { MCP_SERVICE_TIERS } = await import('./mcp-performance.mjs').then(function (n) { return n.m; });
@@ -1,3 +1,3 @@
1
- const version = "14.1.2";
1
+ const version = "14.1.5";
2
2
 
3
3
  export { version };