ccjk 14.1.10 → 14.2.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 (119) hide show
  1. package/dist/chunks/agent-teams.mjs +1 -1
  2. package/dist/chunks/api-cli.mjs +1 -1
  3. package/dist/chunks/api-config-selector.mjs +3 -3
  4. package/dist/chunks/ccjk-all.mjs +1 -1
  5. package/dist/chunks/ccjk-mcp.mjs +1 -1
  6. package/dist/chunks/ccjk-setup.mjs +1 -1
  7. package/dist/chunks/ccr.mjs +8 -8
  8. package/dist/chunks/check-updates.mjs +1 -1
  9. package/dist/chunks/claude-code-incremental-manager.mjs +3 -3
  10. package/dist/chunks/claude-config.mjs +1 -1
  11. package/dist/chunks/codex-config-switch.mjs +1 -1
  12. package/dist/chunks/codex-provider-manager.mjs +1 -1
  13. package/dist/chunks/config-switch.mjs +1 -1
  14. package/dist/chunks/config.mjs +19 -3
  15. package/dist/chunks/config2.mjs +1 -1
  16. package/dist/chunks/config3.mjs +1 -1
  17. package/dist/chunks/doctor.mjs +175 -6
  18. package/dist/chunks/features.mjs +3 -3
  19. package/dist/chunks/index10.mjs +19 -5
  20. package/dist/chunks/init.mjs +5 -5
  21. package/dist/chunks/mcp-cli.mjs +3 -3
  22. package/dist/chunks/mcp.mjs +3 -3
  23. package/dist/chunks/package.mjs +1 -1
  24. package/dist/chunks/quick-provider.mjs +1 -1
  25. package/dist/chunks/quick-setup.mjs +5 -5
  26. package/dist/chunks/simple-config.mjs +1 -1
  27. package/dist/chunks/smart-guide.mjs +1 -1
  28. package/dist/chunks/update.mjs +6 -6
  29. package/dist/chunks/zero-config.mjs +7 -4
  30. package/dist/cli.mjs +0 -0
  31. package/dist/index.d.mts +3 -0
  32. package/dist/index.d.ts +3 -0
  33. package/dist/index.mjs +1 -1
  34. package/dist/shared/{ccjk.BJ3Zpjo5.mjs → ccjk.BCzOWT1L.mjs} +3 -2
  35. package/dist/shared/{ccjk.B8oqkakg.mjs → ccjk.BLsIiTqO.mjs} +1 -1
  36. package/dist/shared/{ccjk.Hwoicrh8.mjs → ccjk.BXv8aYs1.mjs} +1 -1
  37. package/dist/shared/{ccjk.B9OuS4xZ.mjs → ccjk.CfKJnpbB.mjs} +1 -1
  38. package/dist/shared/{ccjk.BzxpiEPF.mjs → ccjk.Cgv_cFVX.mjs} +2 -2
  39. package/dist/shared/{ccjk.Di1IYU3u.mjs → ccjk.DDL-4C-k.mjs} +47 -10
  40. package/dist/shared/{ccjk.BEiR3L4C.mjs → ccjk.DOw7Fawt.mjs} +3 -3
  41. package/dist/shared/{ccjk.tI_s2uSh.mjs → ccjk.f3TBLJSt.mjs} +1 -1
  42. package/dist/templates/agents/README.md +78 -0
  43. package/dist/templates/common/error-prevention.md +267 -0
  44. package/dist/templates/common/karpathy-baseline.md +83 -0
  45. package/dist/templates/common/output-styles/zh-CN/carmack-mode.md +381 -0
  46. package/dist/templates/common/output-styles/zh-CN/dhh-mode.md +265 -0
  47. package/dist/templates/common/output-styles/zh-CN/evan-you-mode.md +539 -0
  48. package/dist/templates/common/output-styles/zh-CN/jobs-mode.md +369 -0
  49. package/dist/templates/common/output-styles/zh-CN/linus-mode.md +135 -0
  50. package/dist/templates/common/output-styles/zh-CN/uncle-bob-mode.md +221 -0
  51. package/dist/templates/common/workflow/continuousDelivery/en/continuous-delivery.md +628 -0
  52. package/dist/templates/common/workflow/continuousDelivery/zh-CN/continuous-delivery.md +628 -0
  53. package/dist/templates/common/workflow/essential/en/agents/ccjk-config-agent.md +187 -0
  54. package/dist/templates/common/workflow/essential/en/agents/ccjk-mcp-agent.md +191 -0
  55. package/dist/templates/common/workflow/essential/en/agents/ccjk-skill-agent.md +249 -0
  56. package/dist/templates/common/workflow/essential/en/agents/ccjk-workflow-agent.md +277 -0
  57. package/dist/templates/common/workflow/essential/en/agents/get-current-datetime.md +29 -0
  58. package/dist/templates/common/workflow/essential/en/agents/init-architect.md +115 -0
  59. package/dist/templates/common/workflow/essential/en/agents/ui-ux-designer.md +91 -0
  60. package/dist/templates/common/workflow/essential/en/feat.md +92 -0
  61. package/dist/templates/common/workflow/essential/en/goal.md +147 -0
  62. package/dist/templates/common/workflow/essential/en/init-project.md +53 -0
  63. package/dist/templates/common/workflow/essential/zh-CN/agents/get-current-datetime.md +29 -0
  64. package/dist/templates/common/workflow/essential/zh-CN/agents/init-architect.md +115 -0
  65. package/dist/templates/common/workflow/essential/zh-CN/agents/ui-ux-designer.md +91 -0
  66. package/dist/templates/common/workflow/essential/zh-CN/feat.md +315 -0
  67. package/dist/templates/common/workflow/essential/zh-CN/goal.md +146 -0
  68. package/dist/templates/common/workflow/essential/zh-CN/init-project.md +53 -0
  69. package/dist/templates/common/workflow/git/en/git-cleanBranches.md +102 -0
  70. package/dist/templates/common/workflow/git/en/git-commit.md +205 -0
  71. package/dist/templates/common/workflow/git/en/git-rollback.md +90 -0
  72. package/dist/templates/common/workflow/git/en/git-worktree.md +276 -0
  73. package/dist/templates/common/workflow/git/zh-CN/git-cleanBranches.md +102 -0
  74. package/dist/templates/common/workflow/git/zh-CN/git-commit.md +205 -0
  75. package/dist/templates/common/workflow/git/zh-CN/git-rollback.md +90 -0
  76. package/dist/templates/common/workflow/git/zh-CN/git-worktree.md +276 -0
  77. package/dist/templates/common/workflow/interview/en/interview.md +67 -0
  78. package/dist/templates/common/workflow/interview/zh-CN/interview.md +67 -0
  79. package/dist/templates/common/workflow/linearMethod/en/linear-method.md +651 -0
  80. package/dist/templates/common/workflow/linearMethod/zh-CN/linear-method.md +752 -0
  81. package/dist/templates/common/workflow/refactoringMaster/en/refactoring-master.md +516 -0
  82. package/dist/templates/common/workflow/refactoringMaster/zh-CN/refactoring-master.md +812 -0
  83. package/dist/templates/common/workflow/sixStep/en/workflow.md +83 -0
  84. package/dist/templates/common/workflow/sixStep/zh-CN/workflow.md +359 -0
  85. package/dist/templates/common/workflow/specFirstTDD/en/spec-first-tdd.md +364 -0
  86. package/dist/templates/common/workflow/specFirstTDD/zh-CN/spec-first-tdd.md +366 -0
  87. package/dist/templates/hooks/README.md +212 -0
  88. package/dist/templates/hooks/git-workflow-hooks.md +551 -0
  89. package/dist/templates/hooks/post-test-coverage.md +434 -0
  90. package/dist/templates/hooks/pre-commit-black.md +274 -0
  91. package/dist/templates/hooks/pre-commit-eslint.md +153 -0
  92. package/dist/templates/hooks/pre-commit-gofmt.md +284 -0
  93. package/dist/templates/hooks/pre-commit-prettier.md +212 -0
  94. package/dist/templates/hooks/pre-commit-type-check.md +377 -0
  95. package/dist/templates/skills/ccjk-init.md +154 -0
  96. package/dist/templates/skills/ccjk-mcp-setup.md +205 -0
  97. package/dist/templates/skills/ccjk-troubleshoot.md +228 -0
  98. package/dist/templates/skills/django-patterns.md +1016 -0
  99. package/dist/templates/skills/git-workflow.md +748 -0
  100. package/dist/templates/skills/go-idioms.md +963 -0
  101. package/dist/templates/skills/nextjs-optimization.md +694 -0
  102. package/dist/templates/skills/python-pep8.md +852 -0
  103. package/dist/templates/skills/react-patterns.md +686 -0
  104. package/dist/templates/skills/rust-patterns.md +1057 -0
  105. package/dist/templates/skills/security-best-practices.md +1413 -0
  106. package/dist/templates/skills/testing-best-practices.md +1315 -0
  107. package/dist/templates/skills/ts-best-practices.md +354 -0
  108. package/package.json +40 -43
  109. package/templates/common/karpathy-baseline.md +83 -0
  110. package/templates/common/output-styles/zh-CN/carmack-mode.md +14 -0
  111. package/templates/common/output-styles/zh-CN/dhh-mode.md +14 -0
  112. package/templates/common/output-styles/zh-CN/evan-you-mode.md +14 -0
  113. package/templates/common/output-styles/zh-CN/jobs-mode.md +14 -0
  114. package/templates/common/output-styles/zh-CN/linus-mode.md +14 -0
  115. package/templates/common/output-styles/zh-CN/uncle-bob-mode.md +14 -0
  116. package/templates/common/workflow/linearMethod/zh-CN/linear-method.md +2 -0
  117. package/templates/common/workflow/refactoringMaster/zh-CN/refactoring-master.md +2 -0
  118. package/templates/common/workflow/sixStep/zh-CN/workflow.md +2 -0
  119. package/templates/common/workflow/specFirstTDD/zh-CN/spec-first-tdd.md +2 -0
@@ -6,7 +6,7 @@ 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, e as backupMcpConfig, w as writeMcpConfig, M as MCP_SERVICE_CONFIGS } from './config.mjs';
9
- export { m as mcpInstall, a as mcpList, b as mcpSearch, c as mcpUninstall } from '../shared/ccjk.B9OuS4xZ.mjs';
9
+ export { m as mcpInstall, a as mcpList, b as mcpSearch, c as mcpUninstall } from '../shared/ccjk.CfKJnpbB.mjs';
10
10
  import { r as readCodexConfig, d as backupCodexComplete, w as writeCodexConfig, c as applyCodexPlatformCommand } from './codex.mjs';
11
11
  import { i as isWindows, k as getSystemRoot } from './platform.mjs';
12
12
  import '../shared/ccjk.BAGoDD49.mjs';
@@ -34,8 +34,8 @@ import 'child_process';
34
34
  import 'node:path';
35
35
  import 'buffer';
36
36
  import 'string_decoder';
37
- import '../shared/ccjk.Di1IYU3u.mjs';
38
- import '../shared/ccjk.tI_s2uSh.mjs';
37
+ import '../shared/ccjk.DDL-4C-k.mjs';
38
+ import '../shared/ccjk.f3TBLJSt.mjs';
39
39
  import './index8.mjs';
40
40
  import '../shared/ccjk.DeWpAShp.mjs';
41
41
  import '../shared/ccjk.CxpGa6MC.mjs';
@@ -1,3 +1,3 @@
1
- const version = "14.1.10";
1
+ const version = "14.2.0";
2
2
 
3
3
  export { version };
@@ -6,7 +6,7 @@ import { c as createApiClient } from '../shared/ccjk.D6ycHbak.mjs';
6
6
  import { readZcfConfig } from './ccjk-config.mjs';
7
7
  import { E as setMyclaudeProviderProfiles, j as configureApi, F as overwriteModelSettings } from './config.mjs';
8
8
  import { r as resolveClaudeFamilyModelSlots } from '../shared/ccjk.B2U7DsPy.mjs';
9
- import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from '../shared/ccjk.Di1IYU3u.mjs';
9
+ import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from '../shared/ccjk.DDL-4C-k.mjs';
10
10
  import { a as switchToProvider } from './codex.mjs';
11
11
  import { addProviderToExisting } from './codex-provider-manager.mjs';
12
12
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
@@ -37,7 +37,7 @@ import 'node:url';
37
37
  import '../shared/ccjk.BBtCGd_g.mjs';
38
38
  import './index3.mjs';
39
39
  import './config.mjs';
40
- import '../shared/ccjk.Di1IYU3u.mjs';
40
+ import '../shared/ccjk.DDL-4C-k.mjs';
41
41
  import './banner.mjs';
42
42
  import './config2.mjs';
43
43
  import '../shared/ccjk.DZ2LLOa-.mjs';
@@ -50,13 +50,13 @@ import '../shared/ccjk.CxpGa6MC.mjs';
50
50
  import './codex.mjs';
51
51
  import '../shared/ccjk.BFQ7yr5S.mjs';
52
52
  import './prompts.mjs';
53
- import '../shared/ccjk.Hwoicrh8.mjs';
54
- import '../shared/ccjk.BzxpiEPF.mjs';
55
- import '../shared/ccjk.BJ3Zpjo5.mjs';
53
+ import '../shared/ccjk.BXv8aYs1.mjs';
54
+ import '../shared/ccjk.Cgv_cFVX.mjs';
55
+ import '../shared/ccjk.BCzOWT1L.mjs';
56
56
  import '../shared/ccjk.DGllfVCZ.mjs';
57
57
  import './installer.mjs';
58
58
  import '../shared/ccjk.CbWVbtb9.mjs';
59
- import '../shared/ccjk.B8oqkakg.mjs';
59
+ import '../shared/ccjk.BLsIiTqO.mjs';
60
60
  import '../shared/ccjk.B2U7DsPy.mjs';
61
61
  import '../shared/ccjk.Bq8TqZG_.mjs';
62
62
 
@@ -1,7 +1,7 @@
1
1
  import { readFileSync, existsSync } from 'node:fs';
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import { exec as q } from './main.mjs';
4
- import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from '../shared/ccjk.Di1IYU3u.mjs';
4
+ import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from '../shared/ccjk.DDL-4C-k.mjs';
5
5
  import { ensureDir, writeFileAtomic } from './fs-operations.mjs';
6
6
  import { o as mergeAndCleanPermissions } from './config.mjs';
7
7
  import { g as getPlatform } from './platform.mjs';
@@ -1,6 +1,6 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { readFile, writeFile } from 'node:fs/promises';
3
- import { r as resolveClaudeFamilySettingsTarget } from '../shared/ccjk.Di1IYU3u.mjs';
3
+ import { r as resolveClaudeFamilySettingsTarget } from '../shared/ccjk.DDL-4C-k.mjs';
4
4
  import './constants.mjs';
5
5
  import 'node:os';
6
6
  import './index2.mjs';
@@ -7,15 +7,15 @@ import { i18n } from './index2.mjs';
7
7
  import { displayBanner } from './banner.mjs';
8
8
  import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
9
9
  import { b as runCodexUpdate } from './codex.mjs';
10
- import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.Hwoicrh8.mjs';
11
- import { u as updatePromptOnly } from '../shared/ccjk.BzxpiEPF.mjs';
10
+ import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.BXv8aYs1.mjs';
11
+ import { u as updatePromptOnly } from '../shared/ccjk.Cgv_cFVX.mjs';
12
12
  import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.DGllfVCZ.mjs';
13
- import { a as installMcpServices } from '../shared/ccjk.tI_s2uSh.mjs';
13
+ import { a as installMcpServices } from '../shared/ccjk.f3TBLJSt.mjs';
14
14
  import { resolveAiOutputLanguage } from './prompts.mjs';
15
15
  import { g as getRuntimeVersion } from '../shared/ccjk.gDEDGD_t.mjs';
16
- import { r as resolveClaudeFamilySettingsTarget } from '../shared/ccjk.Di1IYU3u.mjs';
16
+ import { r as resolveClaudeFamilySettingsTarget } from '../shared/ccjk.DDL-4C-k.mjs';
17
17
  import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
18
- import { s as selectAndInstallWorkflows } from '../shared/ccjk.B8oqkakg.mjs';
18
+ import { s as selectAndInstallWorkflows } from '../shared/ccjk.BLsIiTqO.mjs';
19
19
  import '../shared/ccjk.BAGoDD49.mjs';
20
20
  import 'node:readline';
21
21
  import 'stream';
@@ -50,7 +50,7 @@ import '../shared/ccjk.DeWpAShp.mjs';
50
50
  import '../shared/ccjk.CxpGa6MC.mjs';
51
51
  import '../shared/ccjk.BFQ7yr5S.mjs';
52
52
  import '../shared/ccjk.DZ2LLOa-.mjs';
53
- import '../shared/ccjk.BJ3Zpjo5.mjs';
53
+ import '../shared/ccjk.BCzOWT1L.mjs';
54
54
 
55
55
  const ccjkVersion = getRuntimeVersion();
56
56
  function resolveCodeToolType(optionValue, savedValue) {
@@ -8,8 +8,8 @@ import { d as dirname } from '../shared/ccjk.bQ7Dh1g4.mjs';
8
8
  import { isCodeToolType, isClaudeFamilyCodeTool, CODEX_CONFIG_FILE, ZCF_CONFIG_FILE } from './constants.mjs';
9
9
  import { i18n } from './index2.mjs';
10
10
  import { readZcfConfig, buildUpdatedTomlConfig, stringifyTomlConfig } from './ccjk-config.mjs';
11
- import { e as ensureClaudeFamilyCoreFeatures } from '../shared/ccjk.BEiR3L4C.mjs';
12
- import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from '../shared/ccjk.Di1IYU3u.mjs';
11
+ import { e as ensureClaudeFamilyCoreFeatures } from '../shared/ccjk.DOw7Fawt.mjs';
12
+ import { r as resolveClaudeFamilySettingsTarget, a as applyTrustedOperatorPermissions, n as normalizeClaudeFamilySettings } from '../shared/ccjk.DDL-4C-k.mjs';
13
13
  import { h as buildCodexGoalsFeatureConfigContent } from './codex.mjs';
14
14
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
15
15
  import '../shared/ccjk.BAGoDD49.mjs';
@@ -39,7 +39,7 @@ import './platform.mjs';
39
39
  import './main.mjs';
40
40
  import 'module';
41
41
  import 'node:stream';
42
- import '../shared/ccjk.B8oqkakg.mjs';
42
+ import '../shared/ccjk.BLsIiTqO.mjs';
43
43
  import '../shared/ccjk.DFRPtmK_.mjs';
44
44
  import './auto-updater.mjs';
45
45
  import './index8.mjs';
@@ -47,7 +47,7 @@ import '../shared/ccjk.DeWpAShp.mjs';
47
47
  import '../shared/ccjk.DZ2LLOa-.mjs';
48
48
  import './version-checker.mjs';
49
49
  import '../shared/ccjk.CxpGa6MC.mjs';
50
- import '../shared/ccjk.BJ3Zpjo5.mjs';
50
+ import '../shared/ccjk.BCzOWT1L.mjs';
51
51
  import './prompts.mjs';
52
52
  import '../shared/ccjk.gDEDGD_t.mjs';
53
53
 
@@ -630,6 +630,9 @@ function applyPreset(preset, currentSettings) {
630
630
  ...existingPermissions,
631
631
  ...preset.permissions.filter((permission) => !existingPermissions.includes(permission))
632
632
  ];
633
+ if (preset.id === "dev" || preset.id === "max") {
634
+ applyTrustedOperatorPermissions(newSettings);
635
+ }
633
636
  if (preset.env) {
634
637
  newSettings.env = { ...newSettings.env };
635
638
  for (const [key, value] of Object.entries(preset.env)) {
package/dist/cli.mjs CHANGED
File without changes
package/dist/index.d.mts CHANGED
@@ -3946,7 +3946,10 @@ interface ClaudeSettings {
3946
3946
  /** Permissions configuration */
3947
3947
  permissions?: {
3948
3948
  allow?: string[];
3949
+ ask?: string[];
3949
3950
  deny?: string[];
3951
+ defaultMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'auto' | string;
3952
+ trustedOperatorMode?: boolean;
3950
3953
  };
3951
3954
  /** Chat configuration */
3952
3955
  chat?: {
package/dist/index.d.ts CHANGED
@@ -3946,7 +3946,10 @@ interface ClaudeSettings {
3946
3946
  /** Permissions configuration */
3947
3947
  permissions?: {
3948
3948
  allow?: string[];
3949
+ ask?: string[];
3949
3950
  deny?: string[];
3951
+ defaultMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'auto' | string;
3952
+ trustedOperatorMode?: boolean;
3950
3953
  };
3951
3954
  /** Chat configuration */
3952
3955
  chat?: {
package/dist/index.mjs CHANGED
@@ -47,7 +47,7 @@ import './chunks/index3.mjs';
47
47
  import './chunks/fs-operations.mjs';
48
48
  import 'node:fs/promises';
49
49
  import './chunks/json-config.mjs';
50
- import './shared/ccjk.Di1IYU3u.mjs';
50
+ import './shared/ccjk.DDL-4C-k.mjs';
51
51
  import './chunks/main.mjs';
52
52
  import 'module';
53
53
 
@@ -3,7 +3,7 @@ import a from '../chunks/index5.mjs';
3
3
  import { i as inquirer } from '../chunks/index6.mjs';
4
4
  import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
5
5
  import { updateZcfConfig } from '../chunks/ccjk-config.mjs';
6
- import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from './ccjk.Di1IYU3u.mjs';
6
+ import { r as resolveClaudeFamilySettingsTarget, n as normalizeClaudeFamilySettings } from './ccjk.DDL-4C-k.mjs';
7
7
  import { exists, removeFile, ensureDir, copyFile } from '../chunks/fs-operations.mjs';
8
8
  import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
9
9
  import { o as mergeAndCleanPermissions } from '../chunks/config.mjs';
@@ -97,8 +97,9 @@ function setGlobalDefaultOutputStyle(styleId, codeTool) {
97
97
  const updatedSettings = {
98
98
  ...existingSettings,
99
99
  outputStyle: styleId,
100
- // Ensure clean permissions
100
+ // Ensure clean permissions without dropping trusted-operator mode fields.
101
101
  permissions: {
102
+ ...existingSettings.permissions || {},
102
103
  allow: cleanedPermissions
103
104
  }
104
105
  };
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import a from '../chunks/index5.mjs';
5
5
  import { i as inquirer } from '../chunks/index6.mjs';
6
6
  import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
7
- import { r as resolveClaudeFamilySettingsTarget } from './ccjk.Di1IYU3u.mjs';
7
+ import { r as resolveClaudeFamilySettingsTarget } from './ccjk.DDL-4C-k.mjs';
8
8
  import { j as join, d as dirname } from './ccjk.bQ7Dh1g4.mjs';
9
9
 
10
10
  const WORKFLOW_CONFIG_BASE = [
@@ -1,6 +1,6 @@
1
1
  import a from '../chunks/index5.mjs';
2
2
  import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
3
- import { r as resolveClaudeFamilySettingsTarget, h as hasInvalidStatusLineConfig, n as normalizeClaudeFamilySettings } from './ccjk.Di1IYU3u.mjs';
3
+ import { r as resolveClaudeFamilySettingsTarget, h as hasInvalidStatusLineConfig, n as normalizeClaudeFamilySettings } from './ccjk.DDL-4C-k.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';
@@ -2,7 +2,7 @@ import a from '../chunks/index5.mjs';
2
2
  import { i as inquirer } from '../chunks/index6.mjs';
3
3
  import { M as MCP_SERVICE_CONFIGS } from '../chunks/config.mjs';
4
4
  import { i18n } from '../chunks/index2.mjs';
5
- import { d as displayInstalledMcpServices, b as isMcpServiceInstalled, i as installMcpService, u as uninstallMcpService } from './ccjk.tI_s2uSh.mjs';
5
+ import { d as displayInstalledMcpServices, b as isMcpServiceInstalled, i as installMcpService, u as uninstallMcpService } from './ccjk.f3TBLJSt.mjs';
6
6
  import { existsSync, unlinkSync, statSync, mkdirSync, readFileSync } from 'node:fs';
7
7
  import { homedir } from 'node:os';
8
8
  import { CLOUD_ENDPOINTS } from '../chunks/constants.mjs';
@@ -2,9 +2,9 @@ import a from '../chunks/index5.mjs';
2
2
  import { i as inquirer } from '../chunks/index6.mjs';
3
3
  import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
4
4
  import { i as getExistingApiConfig, j as configureApi, B as switchToOfficialLogin, b as backupExistingConfig, D as applyAiLanguageDirective } from '../chunks/config.mjs';
5
- import { c as configureOutputStyle } from './ccjk.BJ3Zpjo5.mjs';
5
+ import { c as configureOutputStyle } from './ccjk.BCzOWT1L.mjs';
6
6
  import { a as addNumbersToChoices } from './ccjk.BFQ7yr5S.mjs';
7
- import { r as resolveClaudeFamilySettingsTarget } from './ccjk.Di1IYU3u.mjs';
7
+ import { r as resolveClaudeFamilySettingsTarget } from './ccjk.DDL-4C-k.mjs';
8
8
 
9
9
  function validateApiKey(apiKey) {
10
10
  if (!apiKey || apiKey.trim() === "") {
@@ -2,9 +2,36 @@ import { CLAVUE_CONFIG_FILE, CLAVUE_SETTINGS_FILE, CLAVUE_DIR, ClAUDE_CONFIG_FIL
2
2
  import { readZcfConfig } from '../chunks/ccjk-config.mjs';
3
3
  import { j as join } from './ccjk.bQ7Dh1g4.mjs';
4
4
 
5
+ const TRUSTED_OPERATOR_ASK_RULES = [
6
+ "Bash(git push:*)",
7
+ "Bash(rm:*)",
8
+ "Bash(rm -rf:*)",
9
+ "Bash(git push --force:*)",
10
+ "Bash(git reset --hard:*)",
11
+ "Bash(npm publish:*)",
12
+ "Bash(npm login:*)",
13
+ "Bash(docker:*)",
14
+ "Bash(kubectl:*)",
15
+ "Bash(terraform apply:*)",
16
+ "Bash(gh release:*)",
17
+ "Bash(git tag:*)",
18
+ "Bash(gh pr merge:*)"
19
+ ];
5
20
  function hasOwn(object, key) {
6
21
  return Object.prototype.hasOwnProperty.call(object, key);
7
22
  }
23
+ function stringArray(value) {
24
+ return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
25
+ }
26
+ function mergeStringArray(existing, additions) {
27
+ const merged = stringArray(existing);
28
+ for (const item of additions) {
29
+ if (!merged.includes(item)) {
30
+ merged.push(item);
31
+ }
32
+ }
33
+ return merged;
34
+ }
8
35
  function isValidStatusLineConfig(value) {
9
36
  return Boolean(
10
37
  value && typeof value === "object" && !Array.isArray(value) && value.type === "command" && typeof value.command === "string"
@@ -20,18 +47,28 @@ function normalizeClaudeFamilySettings(settings) {
20
47
  return settings;
21
48
  }
22
49
  const mutableSettings = settings;
23
- if (!hasOwn(mutableSettings, "statusLine")) {
24
- return settings;
50
+ if (hasOwn(mutableSettings, "statusLine")) {
51
+ const statusLine = mutableSettings.statusLine;
52
+ if (statusLine && typeof statusLine === "object" && !Array.isArray(statusLine) && typeof statusLine.command === "string") {
53
+ mutableSettings.statusLine = {
54
+ ...statusLine,
55
+ type: "command"
56
+ };
57
+ } else {
58
+ delete mutableSettings.statusLine;
59
+ }
25
60
  }
26
- const statusLine = mutableSettings.statusLine;
27
- if (statusLine && typeof statusLine === "object" && !Array.isArray(statusLine) && typeof statusLine.command === "string") {
28
- mutableSettings.statusLine = {
29
- ...statusLine,
30
- type: "command"
31
- };
61
+ return settings;
62
+ }
63
+ function applyTrustedOperatorPermissions(settings) {
64
+ if (!settings || typeof settings !== "object" || Array.isArray(settings)) {
32
65
  return settings;
33
66
  }
34
- delete mutableSettings.statusLine;
67
+ const mutableSettings = settings;
68
+ mutableSettings.permissions = mutableSettings.permissions && typeof mutableSettings.permissions === "object" && !Array.isArray(mutableSettings.permissions) ? mutableSettings.permissions : {};
69
+ mutableSettings.permissions.defaultMode = "bypassPermissions";
70
+ mutableSettings.permissions.trustedOperatorMode = true;
71
+ mutableSettings.permissions.ask = mergeStringArray(mutableSettings.permissions.ask, TRUSTED_OPERATOR_ASK_RULES);
35
72
  return settings;
36
73
  }
37
74
 
@@ -60,4 +97,4 @@ function resolveClaudeFamilySettingsTarget(codeTool) {
60
97
  };
61
98
  }
62
99
 
63
- export { hasInvalidStatusLineConfig as h, normalizeClaudeFamilySettings as n, resolveClaudeFamilySettingsTarget as r };
100
+ export { applyTrustedOperatorPermissions as a, hasInvalidStatusLineConfig as h, normalizeClaudeFamilySettings as n, resolveClaudeFamilySettingsTarget as r };
@@ -1,11 +1,11 @@
1
1
  import { existsSync, readdirSync } from 'node:fs';
2
2
  import { r as readMcpConfig, f as fixWindowsMcpConfig, m as mergeMcpServers, w as writeMcpConfig, q as syncMcpPermissions, M as MCP_SERVICE_CONFIGS, h as buildMcpServerConfig } from '../chunks/config.mjs';
3
- import { s as selectAndInstallWorkflows, W as WORKFLOW_CONFIG_BASE } from './ccjk.B8oqkakg.mjs';
3
+ import { s as selectAndInstallWorkflows, W as WORKFLOW_CONFIG_BASE } from './ccjk.BLsIiTqO.mjs';
4
4
  import { i as isCcrInstalled, a as installCcr } from './ccjk.DFRPtmK_.mjs';
5
5
  import { readJsonConfig } from '../chunks/json-config.mjs';
6
- import { a as copyOutputStyles, s as setGlobalDefaultOutputStyle, g as getAvailableOutputStyles } from './ccjk.BJ3Zpjo5.mjs';
6
+ import { a as copyOutputStyles, s as setGlobalDefaultOutputStyle, g as getAvailableOutputStyles } from './ccjk.BCzOWT1L.mjs';
7
7
  import { c as commandExists } from '../chunks/platform.mjs';
8
- import { r as resolveClaudeFamilySettingsTarget } from './ccjk.Di1IYU3u.mjs';
8
+ import { r as resolveClaudeFamilySettingsTarget } from './ccjk.DDL-4C-k.mjs';
9
9
  import { j as join } from './ccjk.bQ7Dh1g4.mjs';
10
10
 
11
11
  const DEFAULT_CONFIG_LANG = "en";
@@ -6,7 +6,7 @@ import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
6
6
  import { r as readCodexConfig, c as applyCodexPlatformCommand, w as writeCodexConfig } from '../chunks/codex.mjs';
7
7
  import { exists } from '../chunks/fs-operations.mjs';
8
8
  import { i as isWindows, k as getSystemRoot } from '../chunks/platform.mjs';
9
- import { r as resolveClaudeFamilySettingsTarget } from './ccjk.Di1IYU3u.mjs';
9
+ import { r as resolveClaudeFamilySettingsTarget } from './ccjk.DDL-4C-k.mjs';
10
10
 
11
11
  function detectActiveTool() {
12
12
  const hasClavueConfig = exists(CLAVUE_CONFIG_FILE) || exists(CLAVUE_SETTINGS_FILE);
@@ -0,0 +1,78 @@
1
+ # Agent Templates
2
+
3
+ This directory contains agent definition templates for CCJK v8.0.0's multi-agent orchestration system.
4
+
5
+ ## Available Agents
6
+
7
+ | Agent ID | Name | Model | Category | Complexity |
8
+ |----------|------|-------|----------|------------|
9
+ | `typescript-architect` | TypeScript Architect | sonnet | development | advanced |
10
+ | `react-specialist` | React Specialist | sonnet | development | intermediate-advanced |
11
+ | `python-expert` | Python Expert | sonnet | development | intermediate-advanced |
12
+ | `go-expert` | Go Expert | sonnet | development | intermediate-advanced |
13
+ | `fullstack-developer` | Full-Stack Developer | sonnet | development | intermediate-advanced |
14
+ | `testing-automation-expert` | Testing Automation Expert | opus | quality-assurance | advanced |
15
+
16
+ ## Agent Template Structure
17
+
18
+ Each agent template follows this JSON structure:
19
+
20
+ ```json
21
+ {
22
+ "id": "unique-agent-id",
23
+ "name": {
24
+ "en": "English Name",
25
+ "zh-CN": "中文名称"
26
+ },
27
+ "description": {
28
+ "en": "English description",
29
+ "zh-CN": "中文描述"
30
+ },
31
+ "persona": "Detailed persona description (100+ words)",
32
+ "capabilities": ["list", "of", "capabilities"],
33
+ "skills": ["skill-id-1", "skill-id-2"],
34
+ "mcpServers": ["mcp-server-1", "mcp-server-2"],
35
+ "systemPrompt": "System prompt for the agent",
36
+ "instructions": [
37
+ "Specific instruction 1",
38
+ "Specific instruction 2"
39
+ ],
40
+ "triggers": [
41
+ "condition that triggers this agent",
42
+ "another trigger condition"
43
+ ],
44
+ "model": "sonnet|opus|haiku",
45
+ "metadata": {
46
+ "version": "1.0.0",
47
+ "author": "ccjk-team",
48
+ "category": "development|quality-assurance|devops",
49
+ "tags": ["tag1", "tag2"],
50
+ "complexity": "beginner|intermediate|advanced",
51
+ "experience_level": "beginner|intermediate|senior"
52
+ }
53
+ }
54
+ ```
55
+
56
+ ## Usage
57
+
58
+ These templates are used by CCJK's agent orchestration system to:
59
+
60
+ 1. **Agent Selection**: Choose the most appropriate agent based on user queries and triggers
61
+ 2. **Context Setup**: Configure the agent with proper persona, skills, and MCP servers
62
+ 3. **Instruction Following**: Provide specific guidelines for each agent's behavior
63
+ 4. **Model Assignment**: Use the optimal Claude model for each agent's complexity
64
+
65
+ ## Model Selection Strategy
66
+
67
+ - **Opus**: Complex reasoning tasks, advanced architecture decisions
68
+ - **Sonnet**: Balanced performance for most development tasks
69
+ - **Haiku**: Fast responses for simple operations and templates
70
+
71
+ ## Extending the System
72
+
73
+ To add new agents:
74
+
75
+ 1. Create a new JSON file following the template structure
76
+ 2. Define clear triggers and capabilities
77
+ 3. Choose appropriate MCP servers for the agent's domain
78
+ 4. Update this README with the new agent information