ccjk 13.5.7 → 13.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/chunks/agent-teams.mjs +3 -3
  2. package/dist/chunks/agent.mjs +2 -2
  3. package/dist/chunks/agents.mjs +3 -3
  4. package/dist/chunks/api-cli.mjs +5 -5
  5. package/dist/chunks/api-providers.mjs +1 -1
  6. package/dist/chunks/api.mjs +4 -4
  7. package/dist/chunks/auto-bootstrap.mjs +1 -1
  8. package/dist/chunks/auto-fix.mjs +17 -5
  9. package/dist/chunks/auto-fixer.mjs +3 -3
  10. package/dist/chunks/auto-init.mjs +3 -3
  11. package/dist/chunks/auto-updater.mjs +7 -7
  12. package/dist/chunks/banner.mjs +2 -2
  13. package/dist/chunks/boost.mjs +5 -5
  14. package/dist/chunks/ccjk-agents.mjs +2 -2
  15. package/dist/chunks/ccjk-all.mjs +6 -6
  16. package/dist/chunks/ccjk-config.mjs +2 -2
  17. package/dist/chunks/ccjk-hooks.mjs +3 -3
  18. package/dist/chunks/ccjk-mcp.mjs +4 -4
  19. package/dist/chunks/ccjk-setup.mjs +4 -4
  20. package/dist/chunks/ccjk-skills.mjs +4 -4
  21. package/dist/chunks/ccr.mjs +16 -16
  22. package/dist/chunks/ccu.mjs +2 -2
  23. package/dist/chunks/check-updates.mjs +8 -8
  24. package/dist/chunks/claude-code-config-manager.mjs +5 -5
  25. package/dist/chunks/claude-code-incremental-manager.mjs +6 -6
  26. package/dist/chunks/claude-config.mjs +2 -2
  27. package/dist/chunks/claude-wrapper.mjs +1 -1
  28. package/dist/chunks/cli-hook.mjs +5 -5
  29. package/dist/chunks/codex-config-switch.mjs +6 -6
  30. package/dist/chunks/codex-provider-manager.mjs +7 -7
  31. package/dist/chunks/codex-uninstaller.mjs +2 -2
  32. package/dist/chunks/codex.mjs +7 -7
  33. package/dist/chunks/commands.mjs +2 -2
  34. package/dist/chunks/commands2.mjs +2 -2
  35. package/dist/chunks/commit.mjs +3 -3
  36. package/dist/chunks/completion.mjs +2 -2
  37. package/dist/chunks/config-consolidator.mjs +2 -2
  38. package/dist/chunks/config-switch.mjs +8 -8
  39. package/dist/chunks/config.mjs +20 -9
  40. package/dist/chunks/config2.mjs +4 -4
  41. package/dist/chunks/config3.mjs +3 -3
  42. package/dist/chunks/constants.mjs +1 -1
  43. package/dist/chunks/context.mjs +3 -3
  44. package/dist/chunks/dashboard.mjs +2 -2
  45. package/dist/chunks/doctor.mjs +4 -4
  46. package/dist/chunks/evolution.mjs +2 -2
  47. package/dist/chunks/features.mjs +8 -8
  48. package/dist/chunks/help.mjs +1 -1
  49. package/dist/chunks/impact.mjs +1 -1
  50. package/dist/chunks/index.mjs +18 -19
  51. package/dist/chunks/index10.mjs +5145 -528
  52. package/dist/chunks/index11.mjs +1061 -569
  53. package/dist/chunks/index12.mjs +193 -1146
  54. package/dist/chunks/index13.mjs +607 -937
  55. package/dist/chunks/index14.mjs +951 -136
  56. package/dist/chunks/index15.mjs +185 -209
  57. package/dist/chunks/index2.mjs +7623 -12
  58. package/dist/chunks/index3.mjs +160 -19081
  59. package/dist/chunks/index4.mjs +19 -18
  60. package/dist/chunks/index5.mjs +12 -7623
  61. package/dist/chunks/index6.mjs +19077 -156
  62. package/dist/chunks/index7.mjs +565 -1551
  63. package/dist/chunks/index8.mjs +1535 -5166
  64. package/dist/chunks/init.mjs +1107 -1101
  65. package/dist/chunks/installer.mjs +5 -5
  66. package/dist/chunks/installer2.mjs +2 -2
  67. package/dist/chunks/interview.mjs +4 -4
  68. package/dist/chunks/manager.mjs +1 -1
  69. package/dist/chunks/marketplace.mjs +3 -3
  70. package/dist/chunks/mcp-cli.mjs +9 -9
  71. package/dist/chunks/mcp.mjs +10 -10
  72. package/dist/chunks/memory-check.mjs +2 -2
  73. package/dist/chunks/memory-paths.mjs +2 -2
  74. package/dist/chunks/memory-sync.mjs +2 -2
  75. package/dist/chunks/memory.mjs +4 -4
  76. package/dist/chunks/metrics-display.mjs +1 -1
  77. package/dist/chunks/migrator.mjs +1 -1
  78. package/dist/chunks/monitor.mjs +2 -2
  79. package/dist/chunks/notification.mjs +4 -4
  80. package/dist/chunks/onboarding.mjs +4 -4
  81. package/dist/chunks/package.mjs +1 -1
  82. package/dist/chunks/paradigm.mjs +1 -1
  83. package/dist/chunks/permission-manager.mjs +2 -2
  84. package/dist/chunks/permissions.mjs +3 -3
  85. package/dist/chunks/persistence-manager.mjs +3 -3
  86. package/dist/chunks/platform.mjs +1 -1
  87. package/dist/chunks/plugin.mjs +2 -2
  88. package/dist/chunks/prompts.mjs +5 -5
  89. package/dist/chunks/providers.mjs +2 -2
  90. package/dist/chunks/quick-actions.mjs +3 -3
  91. package/dist/chunks/quick-provider.mjs +4 -4
  92. package/dist/chunks/quick-setup.mjs +11 -11
  93. package/dist/chunks/remote.mjs +5 -5
  94. package/dist/chunks/session-manager.mjs +1 -1
  95. package/dist/chunks/session.mjs +2 -2
  96. package/dist/chunks/sessions.mjs +1 -1
  97. package/dist/chunks/silent-updater.mjs +1 -1
  98. package/dist/chunks/simple-config.mjs +1 -1
  99. package/dist/chunks/skill2.mjs +3 -3
  100. package/dist/chunks/skills-sync.mjs +5 -5
  101. package/dist/chunks/skills.mjs +3 -3
  102. package/dist/chunks/slash-commands.mjs +3 -3
  103. package/dist/chunks/startup.mjs +1 -1
  104. package/dist/chunks/stats.mjs +2 -2
  105. package/dist/chunks/status.mjs +3 -3
  106. package/dist/chunks/team.mjs +3 -3
  107. package/dist/chunks/thinking.mjs +4 -4
  108. package/dist/chunks/trace.mjs +2 -2
  109. package/dist/chunks/uninstall.mjs +8 -8
  110. package/dist/chunks/update.mjs +12 -12
  111. package/dist/chunks/upgrade-manager.mjs +3 -3
  112. package/dist/chunks/upgrade.mjs +1 -1
  113. package/dist/chunks/version-checker.mjs +4 -4
  114. package/dist/chunks/vim.mjs +3 -3
  115. package/dist/chunks/workflows.mjs +1 -1
  116. package/dist/chunks/wsl.mjs +1 -1
  117. package/dist/chunks/zero-config.mjs +3 -3
  118. package/dist/cli.mjs +195 -185
  119. package/dist/index.mjs +8 -8
  120. package/dist/shared/{ccjk.BJMRY2Ra.mjs → ccjk.8oaxX4iR.mjs} +1 -1
  121. package/dist/shared/{ccjk.8VhZ_dEO.mjs → ccjk.Bq8TqZG_.mjs} +1 -1
  122. package/dist/shared/{ccjk.Bb9Mpi2O.mjs → ccjk.C1hANZTu.mjs} +1 -1
  123. package/dist/shared/{ccjk.KpFl2RDA.mjs → ccjk.C4m4ypdk.mjs} +5 -5
  124. package/dist/shared/{ccjk.I6IuYdc_.mjs → ccjk.CQd7SKNC.mjs} +2 -2
  125. package/dist/shared/{ccjk.Cjj8SVrn.mjs → ccjk.CiKtBUW_.mjs} +1 -1
  126. package/dist/shared/{ccjk.DKBI0lAR.mjs → ccjk.Cv13QsGp.mjs} +3 -3
  127. package/dist/shared/{ccjk.D8BqKRwH.mjs → ccjk.CwsecBYP.mjs} +4 -4
  128. package/dist/shared/{ccjk.DCw2WnZU.mjs → ccjk.D75wivnp.mjs} +1 -1
  129. package/dist/shared/{ccjk.DZ4ehAHg.mjs → ccjk.DDq2hqA5.mjs} +24 -4
  130. package/dist/shared/{ccjk.BIxuVL3_.mjs → ccjk.DGllfVCZ.mjs} +3 -3
  131. package/dist/shared/{ccjk.BWFpnOr3.mjs → ccjk.DZ2LLOa-.mjs} +1 -1
  132. package/dist/shared/{ccjk.eDO9cM5o.mjs → ccjk.DbigonEQ.mjs} +1 -1
  133. package/dist/shared/{ccjk.CIObNAcl.mjs → ccjk.Dhu8ia5S.mjs} +1 -1
  134. package/dist/shared/{ccjk.CHUEFqmw.mjs → ccjk.DlTXS9rP.mjs} +1 -1
  135. package/dist/shared/{ccjk.CxAFICpL.mjs → ccjk.DvAP4XfP.mjs} +4 -4
  136. package/dist/shared/{ccjk.BOu1yav7.mjs → ccjk.KPLeMP-o.mjs} +1 -1
  137. package/dist/shared/{ccjk.D8ZLYSZZ.mjs → ccjk.vO3d1ABk.mjs} +1 -1
  138. package/dist/templates/claude-code/common/settings.json +0 -1
  139. package/package.json +68 -65
  140. package/templates/claude-code/common/settings.json +0 -1
@@ -683,7 +683,7 @@ async function analyzePythonDependencies(projectPath, packageManager) {
683
683
  const pyprojectPath = posix.join(projectPath, "pyproject.toml");
684
684
  if (await pathExists$5(pyprojectPath)) {
685
685
  try {
686
- const { parse } = await import('../chunks/index6.mjs');
686
+ const { parse } = await import('../chunks/index3.mjs');
687
687
  const content = await promises.readFile(pyprojectPath, "utf-8");
688
688
  const pyproject = parse(content);
689
689
  const deps = pyproject.tool?.poetry?.dependencies || {};
@@ -716,7 +716,7 @@ async function analyzePythonDependencies(projectPath, packageManager) {
716
716
  const pipfilePath = posix.join(projectPath, "Pipfile");
717
717
  if (await pathExists$5(pipfilePath)) {
718
718
  try {
719
- const { parse } = await import('../chunks/index6.mjs');
719
+ const { parse } = await import('../chunks/index3.mjs');
720
720
  const content = await promises.readFile(pipfilePath, "utf-8");
721
721
  const pipfile = parse(content);
722
722
  const deps = pipfile.packages || {};
@@ -824,7 +824,7 @@ async function analyzeRustDependencies(projectPath) {
824
824
  return { direct: [], all: [] };
825
825
  }
826
826
  try {
827
- const { parse } = await import('../chunks/index6.mjs');
827
+ const { parse } = await import('../chunks/index3.mjs');
828
828
  const content = await promises.readFile(cargoTomlPath, "utf-8");
829
829
  const cargoToml = parse(content);
830
830
  const direct = [];
@@ -1,7 +1,7 @@
1
- import a from '../chunks/index2.mjs';
2
- import { i as inquirer } from '../chunks/index3.mjs';
1
+ import a from '../chunks/index5.mjs';
2
+ import { i as inquirer } from '../chunks/index6.mjs';
3
3
  import { CLAUDE_DIR, SETTINGS_FILE } from '../chunks/constants.mjs';
4
- import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
4
+ import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
5
5
  import { f as getExistingApiConfig, e as configureApi, s as switchToOfficialLogin, b as backupExistingConfig, h as applyAiLanguageDirective } from '../chunks/config.mjs';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { updateZcfConfig } from '../chunks/ccjk-config.mjs';
@@ -9,7 +9,7 @@ import { exists, removeFile, ensureDir, copyFile } from '../chunks/fs-operations
9
9
  import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
10
10
  import { m as mergeAndCleanPermissions } from './ccjk.DScm_NnL.mjs';
11
11
  import { a as addNumbersToChoices } from './ccjk.BFQ7yr5S.mjs';
12
- import { p as promptBoolean } from './ccjk.BWFpnOr3.mjs';
12
+ import { p as promptBoolean } from './ccjk.DZ2LLOa-.mjs';
13
13
  import { j as join, d as dirname } from './ccjk.bQ7Dh1g4.mjs';
14
14
  import { existsSync } from 'node:fs';
15
15
  import { rm, mkdir, copyFile as copyFile$1 } from 'node:fs/promises';
@@ -87,7 +87,7 @@ async function platformSpecificImplementation() {
87
87
  }
88
88
 
89
89
  case 'linux': {
90
- const {isWsl} = await import('../chunks/index15.mjs');
90
+ const {isWsl} = await import('../chunks/index12.mjs');
91
91
  if (isWsl) {
92
92
  return import('../chunks/wsl.mjs');
93
93
  }
@@ -1,6 +1,6 @@
1
- import a from '../chunks/index2.mjs';
1
+ import a from '../chunks/index5.mjs';
2
2
  import { SETTINGS_FILE } from '../chunks/constants.mjs';
3
- import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
3
+ import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
4
4
  import { b as backupExistingConfig } from '../chunks/config.mjs';
5
5
  import { exists } from '../chunks/fs-operations.mjs';
6
6
  import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
@@ -24,6 +24,9 @@ function migrateSettingsForTokenRetrieval() {
24
24
  return result;
25
25
  }
26
26
  let modified = false;
27
+ const hasAdaptiveRouting = Boolean(
28
+ settings.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL || settings.env?.ANTHROPIC_DEFAULT_SONNET_MODEL || settings.env?.ANTHROPIC_DEFAULT_OPUS_MODEL
29
+ );
27
30
  if (settings.env) {
28
31
  if (settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL && !settings.env.ANTHROPIC_SMALL_FAST_MODEL) {
29
32
  settings.env.ANTHROPIC_SMALL_FAST_MODEL = settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
@@ -45,6 +48,16 @@ function migrateSettingsForTokenRetrieval() {
45
48
  }
46
49
  }
47
50
  }
51
+ if (settings.model === "default") {
52
+ delete settings.model;
53
+ result.changes.push('Removed invalid settings.model value "default"');
54
+ modified = true;
55
+ }
56
+ if (settings.model && hasAdaptiveRouting) {
57
+ delete settings.model;
58
+ result.changes.push("Removed settings.model to restore adaptive Haiku/Sonnet/Opus routing");
59
+ modified = true;
60
+ }
48
61
  if (!modified) {
49
62
  result.success = true;
50
63
  return result;
@@ -77,7 +90,14 @@ function needsMigration() {
77
90
  const hasMissingHaikuFastCompat = Boolean(
78
91
  settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL && !settings.env.ANTHROPIC_SMALL_FAST_MODEL
79
92
  );
80
- return Boolean(hasProblematicVar || hasExcessiveTimeout || hasMissingHaikuFastCompat);
93
+ const hasAdaptiveRouting = Boolean(
94
+ settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL || settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL || settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL
95
+ );
96
+ const hasInvalidDefaultModel = settings.model === "default";
97
+ const hasAdaptiveModelOverride = Boolean(settings.model && hasAdaptiveRouting);
98
+ return Boolean(
99
+ hasProblematicVar || hasExcessiveTimeout || hasMissingHaikuFastCompat || hasInvalidDefaultModel || hasAdaptiveModelOverride
100
+ );
81
101
  } catch {
82
102
  return false;
83
103
  }
@@ -122,7 +142,7 @@ function displayMigrationResult(result) {
122
142
  }
123
143
  async function promptMigration() {
124
144
  ensureI18nInitialized();
125
- const inquirer = await import('../chunks/index3.mjs').then(function (n) { return n.c; });
145
+ const inquirer = await import('../chunks/index6.mjs').then(function (n) { return n.c; });
126
146
  console.log(a.yellow("\n\u26A0\uFE0F Problematic configuration detected!\n"));
127
147
  console.log(a.gray("Your settings.json contains configurations that prevent Claude Code"));
128
148
  console.log(a.gray("from retrieving token counts, causing /compact failures.\n"));
@@ -1,6 +1,6 @@
1
1
  import process__default from 'node:process';
2
- import a from '../chunks/index2.mjs';
3
- import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
2
+ import a from '../chunks/index5.mjs';
3
+ import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
4
4
 
5
5
  function handleExitPromptError(error) {
6
6
  const isExitError = error instanceof Error && (error.name === "ExitPromptError" || error.message?.includes("ExitPromptError") || error.message?.includes("User force closed the prompt"));
@@ -22,4 +22,4 @@ function handleGeneralError(error) {
22
22
  process__default.exit(1);
23
23
  }
24
24
 
25
- export { handleGeneralError as a, handleExitPromptError as h };
25
+ export { handleExitPromptError as a, handleGeneralError as h };
@@ -1,7 +1,7 @@
1
1
  import { g as getDefaultExportFromCjs } from './ccjk.BAGoDD49.mjs';
2
2
  import require$$0 from 'node:async_hooks';
3
3
  import { r as requireCliSpinners } from './ccjk.DeWpAShp.mjs';
4
- import { r as requireCliWidth, a as requireWrapAnsi, b as requireStripAnsi } from '../chunks/index3.mjs';
4
+ import { r as requireCliWidth, a as requireWrapAnsi, b as requireStripAnsi } from '../chunks/index6.mjs';
5
5
  import readline__default from 'node:readline';
6
6
  import require$$0$1 from 'stream';
7
7
  import process__default from 'node:process';
@@ -6,7 +6,7 @@ import { Readable } from 'node:stream';
6
6
  import { pipeline } from 'node:stream/promises';
7
7
  import { extract } from 'tar';
8
8
  import { exec as q } from '../chunks/main.mjs';
9
- import { i18n } from '../chunks/index5.mjs';
9
+ import { i18n } from '../chunks/index2.mjs';
10
10
  import { writeFileAtomicAsync, exists, readJsonFile } from '../chunks/fs-operations.mjs';
11
11
  import { j as join } from './ccjk.bQ7Dh1g4.mjs';
12
12
 
@@ -1,4 +1,4 @@
1
- import { c as consola, o as ofetch } from './ccjk.DKBI0lAR.mjs';
1
+ import { c as consola, o as ofetch } from './ccjk.Cv13QsGp.mjs';
2
2
  import fs__default, { existsSync, readFileSync, mkdirSync, writeFileSync } from 'node:fs';
3
3
  import path__default, { join, dirname } from 'node:path';
4
4
  import { homedir } from 'node:os';
@@ -1,4 +1,4 @@
1
- import a from '../chunks/index2.mjs';
1
+ import a from '../chunks/index5.mjs';
2
2
 
3
3
  class ExecutionTracer {
4
4
  traces = /* @__PURE__ */ new Map();
@@ -1,8 +1,8 @@
1
- import a from '../chunks/index2.mjs';
2
- import { i as inquirer } from '../chunks/index3.mjs';
1
+ import a from '../chunks/index5.mjs';
2
+ import { i as inquirer } from '../chunks/index6.mjs';
3
3
  import { M as MCP_SERVICE_CONFIGS } from '../chunks/codex.mjs';
4
- import { i18n } from '../chunks/index5.mjs';
5
- import { d as displayInstalledMcpServices, b as isMcpServiceInstalled, i as installMcpService, u as uninstallMcpService } from './ccjk.KpFl2RDA.mjs';
4
+ import { i18n } from '../chunks/index2.mjs';
5
+ import { d as displayInstalledMcpServices, b as isMcpServiceInstalled, i as installMcpService, u as uninstallMcpService } from './ccjk.C4m4ypdk.mjs';
6
6
  import { existsSync, unlinkSync, statSync, mkdirSync, readFileSync } from 'node:fs';
7
7
  import { homedir } from 'node:os';
8
8
  import { writeFileAtomic } from '../chunks/fs-operations.mjs';
@@ -1,4 +1,4 @@
1
- import { l as logger } from './ccjk.BJMRY2Ra.mjs';
1
+ import { l as logger } from './ccjk.8oaxX4iR.mjs';
2
2
 
3
3
  class HookRegistry {
4
4
  hooks = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import { i18n } from '../chunks/index5.mjs';
1
+ import { i18n } from '../chunks/index2.mjs';
2
2
 
3
3
  var CloudErrorCode = /* @__PURE__ */ ((CloudErrorCode2) => {
4
4
  CloudErrorCode2["AUTH_ERROR"] = "AUTH_ERROR";
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
3
  "description": "CCJK settings template — auto-migrated on upgrade",
4
- "model": "default",
5
4
  "env": {
6
5
  "ANTHROPIC_MODEL": "",
7
6
  "ANTHROPIC_SMALL_FAST_MODEL": "",
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "ccjk",
3
3
  "type": "module",
4
- "version": "13.5.7",
4
+ "version": "13.6.0",
5
+ "packageManager": "pnpm@10.17.1",
5
6
  "description": "Production-ready AI dev environment for Claude Code, Codex, and modern coding workflows with 30-second onboarding, persistent memory, Agent Teams, remote control, and capability discovery.",
6
7
  "author": {
7
8
  "name": "CCJK Team",
@@ -80,69 +81,6 @@
80
81
  "engines": {
81
82
  "node": ">=20"
82
83
  },
83
- "dependencies": {
84
- "better-sqlite3": "^12.6.2",
85
- "fdir": "^6.5.0",
86
- "globby": "^14.1.0",
87
- "ioredis": "^5.9.3",
88
- "node-cron": "^4.2.1",
89
- "sql.js": "^1.14.0",
90
- "tar": "^7.5.9",
91
- "tinyglobby": "^0.2.15",
92
- "web-tree-sitter": "^0.26.5"
93
- },
94
- "devDependencies": {
95
- "@antfu/eslint-config": "^5.4.1",
96
- "@anthropic-ai/sdk": "^0.52.0",
97
- "@types/better-sqlite3": "^7.6.13",
98
- "@types/fs-extra": "^11.0.4",
99
- "@types/inquirer": "^9.0.9",
100
- "@types/node": "^22.18.6",
101
- "@types/node-cron": "^3.0.11",
102
- "@types/semver": "^7.7.1",
103
- "@types/uuid": "^11.0.0",
104
- "@typescript-eslint/eslint-plugin": "^6.0.0",
105
- "@typescript-eslint/parser": "^6.0.0",
106
- "@vitest/coverage-v8": "^3.2.4",
107
- "@vitest/ui": "^3.2.4",
108
- "ansis": "^4.2.0",
109
- "cac": "^6.7.14",
110
- "chokidar": "^4.0.3",
111
- "concurrently": "^9.2.1",
112
- "consola": "^3.4.2",
113
- "dayjs": "^1.11.19",
114
- "eslint": "^9.36.0",
115
- "eslint-plugin-format": "^1.4.0",
116
- "find-up-simple": "^1.0.1",
117
- "fs-extra": "^11.3.3",
118
- "gray-matter": "^4.0.3",
119
- "handlebars": "^4.7.8",
120
- "husky": "^9.1.7",
121
- "i18next": "^25.8.13",
122
- "i18next-fs-backend": "^2.6.1",
123
- "inquirer": "^12.9.6",
124
- "inquirer-toggle": "^1.0.1",
125
- "lint-staged": "^16.2.7",
126
- "lowdb": "^7.0.1",
127
- "nanoid": "^5.1.6",
128
- "ofetch": "^1.5.1",
129
- "ohash": "^1.1.4",
130
- "ora": "^8.2.0",
131
- "pathe": "^2.0.3",
132
- "pkgroll": "^2.26.3",
133
- "prettier": "^3.8.1",
134
- "semver": "^7.7.4",
135
- "shx": "^0.4.0",
136
- "smol-toml": "^1.6.0",
137
- "tinyexec": "^1.0.2",
138
- "trash": "^10.1.0",
139
- "tsx": "^4.21.0",
140
- "tweetnacl": "^1.0.3",
141
- "typescript": "^5.9.3",
142
- "unbuild": "^3.6.1",
143
- "uuid": "^11.1.0",
144
- "vitest": "^3.2.4"
145
- },
146
84
  "scripts": {
147
85
  "dev": "tsx ./src/cli.ts",
148
86
  "build": "unbuild",
@@ -150,6 +88,7 @@
150
88
  "typecheck": "tsc --noEmit",
151
89
  "release:verify": "node scripts/release-verify.mjs",
152
90
  "release:verify:full": "node scripts/release-verify.mjs --with-tests",
91
+ "prepublishOnly": "node scripts/validate-prepublish.mjs && pnpm contract:check && pnpm build",
153
92
  "lint": "eslint",
154
93
  "lint:fix": "eslint --fix",
155
94
  "test": "vitest",
@@ -171,6 +110,7 @@
171
110
  "test:integration:run": "NODE_ENV=test vitest run --config vitest.integration.config.ts",
172
111
  "test:integration:ui": "NODE_ENV=test vitest --config vitest.integration.config.ts --ui",
173
112
  "test:integration:coverage": "NODE_ENV=test vitest run --config vitest.integration.config.ts --coverage",
113
+ "prepare": "husky",
174
114
  "format": "prettier --write src/**/*.ts",
175
115
  "prepublish:fix": "node scripts/fix-package-catalog.mjs",
176
116
  "cleanup": "node scripts/cleanup.js",
@@ -205,5 +145,68 @@
205
145
  "i18n:check": "tsx scripts/check-i18n.ts",
206
146
  "i18n:report": "tsx scripts/check-i18n.ts --report",
207
147
  "contract:check": "node scripts/check-remote-contract.mjs"
148
+ },
149
+ "dependencies": {
150
+ "better-sqlite3": "^12.6.2",
151
+ "fdir": "^6.5.0",
152
+ "globby": "^14.1.0",
153
+ "ioredis": "^5.9.3",
154
+ "node-cron": "^4.2.1",
155
+ "sql.js": "^1.14.0",
156
+ "tar": "^7.5.9",
157
+ "tinyglobby": "^0.2.15",
158
+ "web-tree-sitter": "^0.26.5"
159
+ },
160
+ "devDependencies": {
161
+ "@antfu/eslint-config": "^5.4.1",
162
+ "@anthropic-ai/sdk": "^0.52.0",
163
+ "@types/better-sqlite3": "^7.6.13",
164
+ "@types/fs-extra": "^11.0.4",
165
+ "@types/inquirer": "^9.0.9",
166
+ "@types/node": "^22.18.6",
167
+ "@types/node-cron": "^3.0.11",
168
+ "@types/semver": "^7.7.1",
169
+ "@types/uuid": "^11.0.0",
170
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
171
+ "@typescript-eslint/parser": "^6.0.0",
172
+ "@vitest/coverage-v8": "^3.2.4",
173
+ "@vitest/ui": "^3.2.4",
174
+ "ansis": "^4.2.0",
175
+ "cac": "^6.7.14",
176
+ "chokidar": "^4.0.3",
177
+ "concurrently": "^9.2.1",
178
+ "consola": "^3.4.2",
179
+ "dayjs": "^1.11.19",
180
+ "eslint": "^9.36.0",
181
+ "eslint-plugin-format": "^1.4.0",
182
+ "find-up-simple": "^1.0.1",
183
+ "fs-extra": "^11.3.3",
184
+ "gray-matter": "^4.0.3",
185
+ "handlebars": "^4.7.8",
186
+ "husky": "^9.1.7",
187
+ "i18next": "^25.8.13",
188
+ "i18next-fs-backend": "^2.6.1",
189
+ "inquirer": "^12.9.6",
190
+ "inquirer-toggle": "^1.0.1",
191
+ "lint-staged": "^16.2.7",
192
+ "lowdb": "^7.0.1",
193
+ "nanoid": "^5.1.6",
194
+ "ofetch": "^1.5.1",
195
+ "ohash": "^1.1.4",
196
+ "ora": "^8.2.0",
197
+ "pathe": "^2.0.3",
198
+ "pkgroll": "^2.26.3",
199
+ "prettier": "^3.8.1",
200
+ "semver": "^7.7.4",
201
+ "shx": "^0.4.0",
202
+ "smol-toml": "^1.6.0",
203
+ "tinyexec": "^1.0.2",
204
+ "trash": "^10.1.0",
205
+ "tsx": "^4.21.0",
206
+ "tweetnacl": "^1.0.3",
207
+ "typescript": "^5.9.3",
208
+ "unbuild": "^3.6.1",
209
+ "uuid": "^11.1.0",
210
+ "vitest": "^3.2.4"
208
211
  }
209
- }
212
+ }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
3
  "description": "CCJK settings template — auto-migrated on upgrade",
4
- "model": "default",
5
4
  "env": {
6
5
  "ANTHROPIC_MODEL": "",
7
6
  "ANTHROPIC_SMALL_FAST_MODEL": "",