zcf 3.2.3 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -14
- package/dist/chunks/api-providers.mjs +76 -0
- package/dist/chunks/claude-code-config-manager.mjs +21 -7
- package/dist/chunks/claude-code-incremental-manager.mjs +210 -14
- package/dist/chunks/codex-config-switch.mjs +197 -12
- package/dist/chunks/codex-provider-manager.mjs +20 -9
- package/dist/chunks/codex-uninstaller.mjs +19 -24
- package/dist/chunks/commands.mjs +1 -1
- package/dist/chunks/features.mjs +637 -0
- package/dist/chunks/simple-config.mjs +182 -29
- package/dist/cli.mjs +13 -613
- package/dist/i18n/locales/en/api.json +6 -1
- package/dist/i18n/locales/en/codex.json +7 -0
- package/dist/i18n/locales/en/errors.json +1 -0
- package/dist/i18n/locales/en/multi-config.json +8 -1
- package/dist/i18n/locales/zh-CN/api.json +6 -1
- package/dist/i18n/locales/zh-CN/codex.json +7 -0
- package/dist/i18n/locales/zh-CN/errors.json +1 -0
- package/dist/i18n/locales/zh-CN/multi-config.json +8 -1
- package/dist/index.d.mts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/templates/CLAUDE.md +191 -0
- package/templates/claude-code/CLAUDE.md +1 -0
- package/templates/claude-code/en/output-styles/engineer-professional.md +2 -1
- package/templates/claude-code/en/output-styles/laowang-engineer.md +1 -0
- package/templates/claude-code/en/output-styles/nekomata-engineer.md +1 -0
- package/templates/claude-code/en/output-styles/ojousama-engineer.md +1 -0
- package/templates/claude-code/zh-CN/output-styles/engineer-professional.md +2 -1
- package/templates/claude-code/zh-CN/output-styles/laowang-engineer.md +1 -0
- package/templates/claude-code/zh-CN/output-styles/nekomata-engineer.md +1 -0
- package/templates/claude-code/zh-CN/output-styles/ojousama-engineer.md +1 -0
- package/templates/codex/en/system-prompt/engineer-professional.md +2 -1
- package/templates/codex/en/system-prompt/laowang-engineer.md +1 -0
- package/templates/codex/en/system-prompt/nekomata-engineer.md +1 -0
- package/templates/codex/en/system-prompt/ojousama-engineer.md +1 -0
- package/templates/codex/zh-CN/system-prompt/engineer-professional.md +2 -1
- package/templates/codex/zh-CN/system-prompt/laowang-engineer.md +1 -0
- package/templates/codex/zh-CN/system-prompt/nekomata-engineer.md +1 -0
- package/templates/codex/zh-CN/system-prompt/ojousama-engineer.md +1 -0
|
@@ -43,6 +43,11 @@
|
|
|
43
43
|
"apiModeOfficial": "Use Official Login (No API Configuration)",
|
|
44
44
|
"apiModeCustom": "Custom API Configuration",
|
|
45
45
|
"apiModeCcr": "Use CCR Proxy",
|
|
46
|
+
"apiModeSwitch": "Switch API Configuration",
|
|
46
47
|
"apiModeSkip": "Skip",
|
|
47
|
-
"apiModePrompt": "Select API configuration mode"
|
|
48
|
+
"apiModePrompt": "Select API configuration mode",
|
|
49
|
+
"selectApiProvider": "Select API Provider",
|
|
50
|
+
"customProvider": "Custom Configuration",
|
|
51
|
+
"providerSelected": "Provider selected: {{name}}",
|
|
52
|
+
"enterProviderApiKey": "Enter API Key for {{provider}}"
|
|
48
53
|
}
|
|
@@ -70,8 +70,15 @@
|
|
|
70
70
|
"selectAction": "Select action",
|
|
71
71
|
"addProvider": "Add provider",
|
|
72
72
|
"editProvider": "Edit provider",
|
|
73
|
+
"copyProvider": "Copy provider",
|
|
73
74
|
"deleteProvider": "Delete provider",
|
|
74
75
|
"selectProviderToEdit": "Select provider to edit",
|
|
76
|
+
"selectProviderToCopy": "Select provider to copy",
|
|
77
|
+
"copyingProvider": "Copying provider: {{name}}",
|
|
78
|
+
"providerCopied": "✔ Successfully copied provider: {{name}}",
|
|
79
|
+
"providerCopyFailed": "❌ Failed to copy provider: {{error}}",
|
|
80
|
+
"providerModelPrompt": "Model name (e.g. gpt-5-codex)",
|
|
81
|
+
"providerModelRequired": "Model name is required",
|
|
75
82
|
"selectProvidersToDelete": "Select providers to delete (multiple)",
|
|
76
83
|
"selectAtLeastOne": "Please select at least one provider",
|
|
77
84
|
"cannotDeleteAll": "Cannot delete all providers, at least one must remain",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"invalidPermissionsConfig": "Invalid permissions configuration: expected object",
|
|
21
21
|
"invalidPermissionsAllow": "Invalid permissions.allow: expected array",
|
|
22
22
|
"invalidCodeType": "Invalid code type: \"{value}\". Valid options are: {validOptions}. Using default: {defaultValue}.",
|
|
23
|
+
"invalidProvider": "Invalid provider: {provider}. Available providers: {validProviders}",
|
|
23
24
|
"generalError": "Error",
|
|
24
25
|
"stackTrace": "Stack"
|
|
25
26
|
}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"currentDefaultProfile": "Current default profile: {{profile}}",
|
|
20
20
|
"addProfile": "Add Profile",
|
|
21
21
|
"editProfile": "Edit Profile",
|
|
22
|
+
"copyProfile": "Copy Profile",
|
|
22
23
|
"deleteProfile": "Delete Profile",
|
|
23
24
|
"selectAction": "Select action",
|
|
24
25
|
"addingNewProfile": "Adding New Profile",
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
"authType.api_key": "API Key",
|
|
36
37
|
"authType.auth_token": "Auth Token",
|
|
37
38
|
"authType.ccr_proxy": "CCR Proxy",
|
|
39
|
+
"ccrProxyOption": "Use CCR Proxy",
|
|
38
40
|
"profileAdded": "✔ Successfully added profile: {{name}}",
|
|
39
41
|
"profileAddFailed": "❌ Failed to add profile: {{error}}",
|
|
40
42
|
"profileDuplicatePrompt": "Profile '{{name}}' already exists in {{source}}, overwrite it?",
|
|
@@ -47,6 +49,10 @@
|
|
|
47
49
|
"profileUpdated": "✔ Successfully updated profile: {{name}}",
|
|
48
50
|
"profileUpdateFailed": "❌ Failed to update profile: {{error}}",
|
|
49
51
|
"selectProfileToEdit": "Select profile to edit",
|
|
52
|
+
"selectProfileToCopy": "Select profile to copy",
|
|
53
|
+
"copyingProfile": "Copying profile: {{name}}",
|
|
54
|
+
"profileCopied": "✔ Successfully copied profile: {{name}}",
|
|
55
|
+
"profileCopyFailed": "❌ Failed to copy profile: {{error}}",
|
|
50
56
|
"selectProfilesToDelete": "Select profiles to delete (multiple)",
|
|
51
57
|
"selectAtLeastOne": "Please select at least one profile",
|
|
52
58
|
"cannotDeleteAll": "Cannot delete all profiles, at least one must remain",
|
|
@@ -68,5 +74,6 @@
|
|
|
68
74
|
"configProfileAddFailed": "Failed to add profile \"{{name}}\": {{error}}",
|
|
69
75
|
"providerAddFailed": "Failed to add provider \"{{name}}\": {{error}}",
|
|
70
76
|
"invalidJson": "Invalid API configs JSON: {{error}}",
|
|
71
|
-
"fileReadFailed": "Failed to read API configs file: {{error}}"
|
|
77
|
+
"fileReadFailed": "Failed to read API configs file: {{error}}",
|
|
78
|
+
"providerOrTypeRequired": "Must provide either provider or type field"
|
|
72
79
|
}
|
|
@@ -43,6 +43,11 @@
|
|
|
43
43
|
"apiModeOfficial": "使用官方登录(不配置 API)",
|
|
44
44
|
"apiModeCustom": "自定义 API 配置",
|
|
45
45
|
"apiModeCcr": "使用CCR代理",
|
|
46
|
+
"apiModeSwitch": "切换 API 配置",
|
|
46
47
|
"apiModeSkip": "跳过",
|
|
47
|
-
"apiModePrompt": "请选择 API 配置模式"
|
|
48
|
+
"apiModePrompt": "请选择 API 配置模式",
|
|
49
|
+
"selectApiProvider": "请选择 API 供应商",
|
|
50
|
+
"customProvider": "自定义配置",
|
|
51
|
+
"providerSelected": "已选择供应商: {{name}}",
|
|
52
|
+
"enterProviderApiKey": "请输入 {{provider}} 的 API Key"
|
|
48
53
|
}
|
|
@@ -70,8 +70,15 @@
|
|
|
70
70
|
"selectAction": "请选择操作",
|
|
71
71
|
"addProvider": "添加供应商",
|
|
72
72
|
"editProvider": "编辑供应商",
|
|
73
|
+
"copyProvider": "复制供应商",
|
|
73
74
|
"deleteProvider": "删除供应商",
|
|
74
75
|
"selectProviderToEdit": "选择要编辑的供应商",
|
|
76
|
+
"selectProviderToCopy": "选择要复制的供应商",
|
|
77
|
+
"copyingProvider": "正在复制供应商:{{name}}",
|
|
78
|
+
"providerCopied": "✔ 已成功复制供应商:{{name}}",
|
|
79
|
+
"providerCopyFailed": "❌ 复制供应商失败:{{error}}",
|
|
80
|
+
"providerModelPrompt": "模型名称(如 gpt-5-codex)",
|
|
81
|
+
"providerModelRequired": "必须填写模型名称",
|
|
75
82
|
"selectProvidersToDelete": "选择要删除的供应商(多选)",
|
|
76
83
|
"selectAtLeastOne": "请至少选择一个供应商",
|
|
77
84
|
"cannotDeleteAll": "不能删除所有供应商,至少需要保留一个",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"invalidPermissionsConfig": "无效的权限配置:期望对象类型",
|
|
21
21
|
"invalidPermissionsAllow": "无效的 permissions.allow:期望数组类型",
|
|
22
22
|
"invalidCodeType": "无效的代码类型:\"{value}\"。可用的类型:{validOptions}。使用默认值:{defaultValue}。",
|
|
23
|
+
"invalidProvider": "无效的提供商:{provider}。可用的提供商:{validProviders}",
|
|
23
24
|
"generalError": "错误",
|
|
24
25
|
"stackTrace": "堆栈跟踪"
|
|
25
26
|
}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"currentDefaultProfile": "当前默认配置:{{profile}}",
|
|
20
20
|
"addProfile": "添加配置",
|
|
21
21
|
"editProfile": "编辑配置",
|
|
22
|
+
"copyProfile": "复制配置",
|
|
22
23
|
"deleteProfile": "删除配置",
|
|
23
24
|
"selectAction": "请选择操作",
|
|
24
25
|
"addingNewProfile": "添加新配置",
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
"authType.api_key": "API Key",
|
|
36
37
|
"authType.auth_token": "Auth Token",
|
|
37
38
|
"authType.ccr_proxy": "CCR 代理",
|
|
39
|
+
"ccrProxyOption": "使用 CCR 代理",
|
|
38
40
|
"profileAdded": "✔ 已成功添加配置:{{name}}",
|
|
39
41
|
"profileAddFailed": "❌ 添加配置失败:{{error}}",
|
|
40
42
|
"profileDuplicatePrompt": "配置「{{name}}」已经存在于{{source}},是否覆盖?",
|
|
@@ -47,6 +49,10 @@
|
|
|
47
49
|
"profileUpdated": "✔ 已成功更新配置:{{name}}",
|
|
48
50
|
"profileUpdateFailed": "❌ 更新配置失败:{{error}}",
|
|
49
51
|
"selectProfileToEdit": "选择要编辑的配置",
|
|
52
|
+
"selectProfileToCopy": "选择要复制的配置",
|
|
53
|
+
"copyingProfile": "正在复制配置:{{name}}",
|
|
54
|
+
"profileCopied": "✔ 已成功复制配置:{{name}}",
|
|
55
|
+
"profileCopyFailed": "❌ 复制配置失败:{{error}}",
|
|
50
56
|
"selectProfilesToDelete": "选择要删除的配置(多选)",
|
|
51
57
|
"selectAtLeastOne": "请至少选择一个配置",
|
|
52
58
|
"cannotDeleteAll": "不能删除所有配置,至少需要保留一个",
|
|
@@ -68,5 +74,6 @@
|
|
|
68
74
|
"configProfileAddFailed": "添加配置文件 \"{{name}}\" 失败:{{error}}",
|
|
69
75
|
"providerAddFailed": "添加提供商 \"{{name}}\" 失败:{{error}}",
|
|
70
76
|
"invalidJson": "无效的API配置JSON:{{error}}",
|
|
71
|
-
"fileReadFailed": "读取API配置文件失败:{{error}}"
|
|
77
|
+
"fileReadFailed": "读取API配置文件失败:{{error}}",
|
|
78
|
+
"providerOrTypeRequired": "必须提供 provider 或 type 字段"
|
|
72
79
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -3,6 +3,11 @@ declare const SETTINGS_FILE: string;
|
|
|
3
3
|
declare const CLAUDE_MD_FILE: string;
|
|
4
4
|
declare const ClAUDE_CONFIG_FILE: string;
|
|
5
5
|
declare const CLAUDE_VSC_CONFIG_FILE: string;
|
|
6
|
+
declare const CODEX_DIR: string;
|
|
7
|
+
declare const CODEX_CONFIG_FILE: string;
|
|
8
|
+
declare const CODEX_AUTH_FILE: string;
|
|
9
|
+
declare const CODEX_AGENTS_FILE: string;
|
|
10
|
+
declare const CODEX_PROMPTS_DIR: string;
|
|
6
11
|
declare const ZCF_CONFIG_DIR: string;
|
|
7
12
|
declare const ZCF_CONFIG_FILE: string;
|
|
8
13
|
declare const LEGACY_ZCF_CONFIG_FILES: string[];
|
|
@@ -48,6 +53,7 @@ interface InitOptions {
|
|
|
48
53
|
apiUrl?: string;
|
|
49
54
|
apiModel?: string;
|
|
50
55
|
apiFastModel?: string;
|
|
56
|
+
provider?: string;
|
|
51
57
|
mcpServices?: string[] | string | boolean;
|
|
52
58
|
workflows?: string[] | string | boolean;
|
|
53
59
|
outputStyles?: string[] | string | boolean;
|
|
@@ -86,6 +92,7 @@ interface ClaudeConfiguration {
|
|
|
86
92
|
};
|
|
87
93
|
env?: Record<string, string>;
|
|
88
94
|
primaryApiKey?: string;
|
|
95
|
+
installMethod?: 'npm' | 'native';
|
|
89
96
|
}
|
|
90
97
|
|
|
91
98
|
declare function getMcpConfigPath(): string;
|
|
@@ -194,6 +201,11 @@ declare function getInstallationStatus(): Promise<InstallationStatus>;
|
|
|
194
201
|
* Remove local Claude Code installation
|
|
195
202
|
*/
|
|
196
203
|
declare function removeLocalClaudeCode(): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Set installMethod to 'npm' in ~/.claude.json
|
|
206
|
+
* This ensures Claude Code knows it was installed via npm for proper auto-updates
|
|
207
|
+
*/
|
|
208
|
+
declare function setInstallMethod(method?: 'npm' | 'native'): Promise<void>;
|
|
197
209
|
|
|
198
210
|
/**
|
|
199
211
|
* Clean up and deduplicate permissions array
|
|
@@ -222,5 +234,5 @@ declare function importRecommendedEnv(): Promise<void>;
|
|
|
222
234
|
declare function importRecommendedPermissions(): Promise<void>;
|
|
223
235
|
declare function openSettingsJson(): Promise<void>;
|
|
224
236
|
|
|
225
|
-
export { AI_OUTPUT_LANGUAGES, API_DEFAULT_URL, API_ENV_KEY, CLAUDE_DIR, CLAUDE_MD_FILE, CLAUDE_VSC_CONFIG_FILE, CODE_TOOL_ALIASES, CODE_TOOL_BANNERS, CODE_TOOL_TYPES, ClAUDE_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, LANG_LABELS, LEGACY_ZCF_CONFIG_FILES, SETTINGS_FILE, SUPPORTED_LANGS, ZCF_CONFIG_DIR, ZCF_CONFIG_FILE, addCompletedOnboarding, applyAiLanguageDirective, backupExistingConfig, backupMcpConfig, buildMcpServerConfig, cleanupPermissions, commandExists, configureApi, copyConfigFiles, ensureApiKeyApproved, ensureClaudeDir, fixWindowsMcpConfig, getAiOutputLanguageLabel, getExistingApiConfig, getExistingModelConfig, getInstallationStatus, getMcpConfigPath, getPlatform, importRecommendedEnv, importRecommendedPermissions, init, installClaudeCode, isClaudeCodeInstalled, isCodeToolType, isLocalClaudeCodeInstalled, manageApiKeyApproval, mergeAndCleanPermissions, mergeConfigs, mergeMcpServers, mergeSettingsFile, openSettingsJson, promptApiConfigurationAction, readMcpConfig, removeApiKeyFromRejected, removeLocalClaudeCode, resolveCodeToolType, setPrimaryApiKey, switchToOfficialLogin, updateCustomModel, updateDefaultModel, writeMcpConfig };
|
|
237
|
+
export { AI_OUTPUT_LANGUAGES, API_DEFAULT_URL, API_ENV_KEY, CLAUDE_DIR, CLAUDE_MD_FILE, CLAUDE_VSC_CONFIG_FILE, CODEX_AGENTS_FILE, CODEX_AUTH_FILE, CODEX_CONFIG_FILE, CODEX_DIR, CODEX_PROMPTS_DIR, CODE_TOOL_ALIASES, CODE_TOOL_BANNERS, CODE_TOOL_TYPES, ClAUDE_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, LANG_LABELS, LEGACY_ZCF_CONFIG_FILES, SETTINGS_FILE, SUPPORTED_LANGS, ZCF_CONFIG_DIR, ZCF_CONFIG_FILE, addCompletedOnboarding, applyAiLanguageDirective, backupExistingConfig, backupMcpConfig, buildMcpServerConfig, cleanupPermissions, commandExists, configureApi, copyConfigFiles, ensureApiKeyApproved, ensureClaudeDir, fixWindowsMcpConfig, getAiOutputLanguageLabel, getExistingApiConfig, getExistingModelConfig, getInstallationStatus, getMcpConfigPath, getPlatform, importRecommendedEnv, importRecommendedPermissions, init, installClaudeCode, isClaudeCodeInstalled, isCodeToolType, isLocalClaudeCodeInstalled, manageApiKeyApproval, mergeAndCleanPermissions, mergeConfigs, mergeMcpServers, mergeSettingsFile, openSettingsJson, promptApiConfigurationAction, readMcpConfig, removeApiKeyFromRejected, removeLocalClaudeCode, resolveCodeToolType, setInstallMethod, setPrimaryApiKey, switchToOfficialLogin, updateCustomModel, updateDefaultModel, writeMcpConfig };
|
|
226
238
|
export type { AiOutputLanguage, ApiConfig, ClaudeConfiguration, CodeToolType, InstallationStatus, McpServerConfig, McpService, SupportedLang };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ declare const SETTINGS_FILE: string;
|
|
|
3
3
|
declare const CLAUDE_MD_FILE: string;
|
|
4
4
|
declare const ClAUDE_CONFIG_FILE: string;
|
|
5
5
|
declare const CLAUDE_VSC_CONFIG_FILE: string;
|
|
6
|
+
declare const CODEX_DIR: string;
|
|
7
|
+
declare const CODEX_CONFIG_FILE: string;
|
|
8
|
+
declare const CODEX_AUTH_FILE: string;
|
|
9
|
+
declare const CODEX_AGENTS_FILE: string;
|
|
10
|
+
declare const CODEX_PROMPTS_DIR: string;
|
|
6
11
|
declare const ZCF_CONFIG_DIR: string;
|
|
7
12
|
declare const ZCF_CONFIG_FILE: string;
|
|
8
13
|
declare const LEGACY_ZCF_CONFIG_FILES: string[];
|
|
@@ -48,6 +53,7 @@ interface InitOptions {
|
|
|
48
53
|
apiUrl?: string;
|
|
49
54
|
apiModel?: string;
|
|
50
55
|
apiFastModel?: string;
|
|
56
|
+
provider?: string;
|
|
51
57
|
mcpServices?: string[] | string | boolean;
|
|
52
58
|
workflows?: string[] | string | boolean;
|
|
53
59
|
outputStyles?: string[] | string | boolean;
|
|
@@ -86,6 +92,7 @@ interface ClaudeConfiguration {
|
|
|
86
92
|
};
|
|
87
93
|
env?: Record<string, string>;
|
|
88
94
|
primaryApiKey?: string;
|
|
95
|
+
installMethod?: 'npm' | 'native';
|
|
89
96
|
}
|
|
90
97
|
|
|
91
98
|
declare function getMcpConfigPath(): string;
|
|
@@ -194,6 +201,11 @@ declare function getInstallationStatus(): Promise<InstallationStatus>;
|
|
|
194
201
|
* Remove local Claude Code installation
|
|
195
202
|
*/
|
|
196
203
|
declare function removeLocalClaudeCode(): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Set installMethod to 'npm' in ~/.claude.json
|
|
206
|
+
* This ensures Claude Code knows it was installed via npm for proper auto-updates
|
|
207
|
+
*/
|
|
208
|
+
declare function setInstallMethod(method?: 'npm' | 'native'): Promise<void>;
|
|
197
209
|
|
|
198
210
|
/**
|
|
199
211
|
* Clean up and deduplicate permissions array
|
|
@@ -222,5 +234,5 @@ declare function importRecommendedEnv(): Promise<void>;
|
|
|
222
234
|
declare function importRecommendedPermissions(): Promise<void>;
|
|
223
235
|
declare function openSettingsJson(): Promise<void>;
|
|
224
236
|
|
|
225
|
-
export { AI_OUTPUT_LANGUAGES, API_DEFAULT_URL, API_ENV_KEY, CLAUDE_DIR, CLAUDE_MD_FILE, CLAUDE_VSC_CONFIG_FILE, CODE_TOOL_ALIASES, CODE_TOOL_BANNERS, CODE_TOOL_TYPES, ClAUDE_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, LANG_LABELS, LEGACY_ZCF_CONFIG_FILES, SETTINGS_FILE, SUPPORTED_LANGS, ZCF_CONFIG_DIR, ZCF_CONFIG_FILE, addCompletedOnboarding, applyAiLanguageDirective, backupExistingConfig, backupMcpConfig, buildMcpServerConfig, cleanupPermissions, commandExists, configureApi, copyConfigFiles, ensureApiKeyApproved, ensureClaudeDir, fixWindowsMcpConfig, getAiOutputLanguageLabel, getExistingApiConfig, getExistingModelConfig, getInstallationStatus, getMcpConfigPath, getPlatform, importRecommendedEnv, importRecommendedPermissions, init, installClaudeCode, isClaudeCodeInstalled, isCodeToolType, isLocalClaudeCodeInstalled, manageApiKeyApproval, mergeAndCleanPermissions, mergeConfigs, mergeMcpServers, mergeSettingsFile, openSettingsJson, promptApiConfigurationAction, readMcpConfig, removeApiKeyFromRejected, removeLocalClaudeCode, resolveCodeToolType, setPrimaryApiKey, switchToOfficialLogin, updateCustomModel, updateDefaultModel, writeMcpConfig };
|
|
237
|
+
export { AI_OUTPUT_LANGUAGES, API_DEFAULT_URL, API_ENV_KEY, CLAUDE_DIR, CLAUDE_MD_FILE, CLAUDE_VSC_CONFIG_FILE, CODEX_AGENTS_FILE, CODEX_AUTH_FILE, CODEX_CONFIG_FILE, CODEX_DIR, CODEX_PROMPTS_DIR, CODE_TOOL_ALIASES, CODE_TOOL_BANNERS, CODE_TOOL_TYPES, ClAUDE_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, LANG_LABELS, LEGACY_ZCF_CONFIG_FILES, SETTINGS_FILE, SUPPORTED_LANGS, ZCF_CONFIG_DIR, ZCF_CONFIG_FILE, addCompletedOnboarding, applyAiLanguageDirective, backupExistingConfig, backupMcpConfig, buildMcpServerConfig, cleanupPermissions, commandExists, configureApi, copyConfigFiles, ensureApiKeyApproved, ensureClaudeDir, fixWindowsMcpConfig, getAiOutputLanguageLabel, getExistingApiConfig, getExistingModelConfig, getInstallationStatus, getMcpConfigPath, getPlatform, importRecommendedEnv, importRecommendedPermissions, init, installClaudeCode, isClaudeCodeInstalled, isCodeToolType, isLocalClaudeCodeInstalled, manageApiKeyApproval, mergeAndCleanPermissions, mergeConfigs, mergeMcpServers, mergeSettingsFile, openSettingsJson, promptApiConfigurationAction, readMcpConfig, removeApiKeyFromRejected, removeLocalClaudeCode, resolveCodeToolType, setInstallMethod, setPrimaryApiKey, switchToOfficialLogin, updateCustomModel, updateDefaultModel, writeMcpConfig };
|
|
226
238
|
export type { AiOutputLanguage, ApiConfig, ClaudeConfiguration, CodeToolType, InstallationStatus, McpServerConfig, McpService, SupportedLang };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { z as AI_OUTPUT_LANGUAGES, A as API_DEFAULT_URL, v as API_ENV_KEY, C as CLAUDE_DIR, e as CLAUDE_MD_FILE, h as CLAUDE_VSC_CONFIG_FILE, n as CODEX_AGENTS_FILE, l as CODEX_AUTH_FILE, k as CODEX_CONFIG_FILE, j as CODEX_DIR, p as CODEX_PROMPTS_DIR, t as CODE_TOOL_ALIASES, s as CODE_TOOL_BANNERS, r as CODE_TOOL_TYPES, f as ClAUDE_CONFIG_FILE, D as DEFAULT_CODE_TOOL_TYPE, y as LANG_LABELS, L as LEGACY_ZCF_CONFIG_FILES, S as SETTINGS_FILE, x as SUPPORTED_LANGS, Z as ZCF_CONFIG_DIR, q as ZCF_CONFIG_FILE, M as addCompletedOnboarding, a1 as applyAiLanguageDirective, T as backupExistingConfig, H as backupMcpConfig, J as buildMcpServerConfig, c as cleanupPermissions, a as commandExists, V as configureApi, U as copyConfigFiles, N as ensureApiKeyApproved, R as ensureClaudeDir, K as fixWindowsMcpConfig, B as getAiOutputLanguageLabel, a0 as getExistingApiConfig, $ as getExistingModelConfig, a7 as getInstallationStatus, E as getMcpConfigPath, g as getPlatform, b as importRecommendedEnv, d as importRecommendedPermissions, i as init, a5 as installClaudeCode, a4 as isClaudeCodeInstalled, u as isCodeToolType, a6 as isLocalClaudeCodeInstalled, P as manageApiKeyApproval, m as mergeAndCleanPermissions, W as mergeConfigs, I as mergeMcpServers, _ as mergeSettingsFile, o as openSettingsJson, a3 as promptApiConfigurationAction, F as readMcpConfig, O as removeApiKeyFromRejected, a8 as removeLocalClaudeCode, w as resolveCodeToolType, a9 as setInstallMethod, Q as setPrimaryApiKey, a2 as switchToOfficialLogin, X as updateCustomModel, Y as updateDefaultModel, G as writeMcpConfig } from './chunks/simple-config.mjs';
|
|
2
2
|
import 'node:fs';
|
|
3
3
|
import 'node:process';
|
|
4
4
|
import 'ansis';
|
package/package.json
CHANGED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Templates Module
|
|
2
|
+
|
|
3
|
+
**Last Updated**: Mon Oct 27 19:39:26 CST 2025
|
|
4
|
+
[Root](../CLAUDE.md) > **templates**
|
|
5
|
+
|
|
6
|
+
## Module Responsibilities
|
|
7
|
+
|
|
8
|
+
Template system module providing multilingual configuration templates, AI personality styles, and workflow definitions for both Claude Code and Codex environments. Supports Chinese (zh-CN) and English (en) locales with comprehensive workflow coverage.
|
|
9
|
+
|
|
10
|
+
## Entry Points and Startup
|
|
11
|
+
|
|
12
|
+
- **Main Template Directories**:
|
|
13
|
+
- `claude-code/` - Claude Code specific templates
|
|
14
|
+
- `codex/` - Codex specific templates
|
|
15
|
+
- `common/` - Shared configuration templates
|
|
16
|
+
|
|
17
|
+
## External Interfaces
|
|
18
|
+
|
|
19
|
+
### Template Structure
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
templates/
|
|
23
|
+
├── claude-code/ # Claude Code templates
|
|
24
|
+
│ ├── common/ # Common configurations
|
|
25
|
+
│ ├── zh-CN/ # Chinese templates
|
|
26
|
+
│ │ ├── output-styles/ # AI personality styles
|
|
27
|
+
│ │ └── workflow/ # Workflow templates
|
|
28
|
+
│ │ ├── common/ # Common tools workflow
|
|
29
|
+
│ │ ├── plan/ # Planning workflow
|
|
30
|
+
│ │ ├── sixStep/ # Six-step workflow
|
|
31
|
+
│ │ ├── bmad/ # BMAD workflow
|
|
32
|
+
│ │ └── git/ # Git workflow
|
|
33
|
+
│ └── en/ # English templates
|
|
34
|
+
│ ├── output-styles/ # AI personality styles
|
|
35
|
+
│ └── workflow/ # Workflow templates
|
|
36
|
+
└── codex/ # Codex templates
|
|
37
|
+
├── common/ # Common configurations
|
|
38
|
+
├── zh-CN/ # Chinese templates
|
|
39
|
+
│ └── workflow/ # Workflow templates
|
|
40
|
+
└── en/ # English templates
|
|
41
|
+
└── workflow/ # Workflow templates
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Template Categories
|
|
45
|
+
|
|
46
|
+
#### 1. Output Styles (AI Personalities)
|
|
47
|
+
|
|
48
|
+
- **engineer-professional** - Professional engineering style
|
|
49
|
+
- **nekomata-engineer** - Nekomata engineer personality
|
|
50
|
+
- **laowang-engineer** - Laowang engineer personality
|
|
51
|
+
- **default** - Default output style
|
|
52
|
+
- **explanatory** - Explanatory style
|
|
53
|
+
- **learning** - Learning-focused style
|
|
54
|
+
|
|
55
|
+
#### 2. Workflow Templates
|
|
56
|
+
|
|
57
|
+
##### Common Tools Workflow
|
|
58
|
+
- **Commands**: `init-project`, `git-commit`, `git-rollback`, `git-cleanBranches`, `git-worktree`
|
|
59
|
+
- **Agents**: `init-architect`, `get-current-datetime`
|
|
60
|
+
- **Purpose**: Essential development tools and Git operations
|
|
61
|
+
|
|
62
|
+
##### Planning Workflow (Plan)
|
|
63
|
+
- **Commands**: `feat`, `workflow`
|
|
64
|
+
- **Agents**: `planner`, `ui-ux-designer`
|
|
65
|
+
- **Purpose**: Feature planning and UX design
|
|
66
|
+
|
|
67
|
+
##### Six-Step Workflow
|
|
68
|
+
- **Commands**: `zcf-update-docs`, `zcf-pr`, `zcf-release`
|
|
69
|
+
- **Purpose**: Structured development process
|
|
70
|
+
|
|
71
|
+
##### BMAD Workflow
|
|
72
|
+
- **Commands**: Enterprise-level workflow commands
|
|
73
|
+
- **Purpose**: Business model and architecture design
|
|
74
|
+
|
|
75
|
+
##### Git Workflow
|
|
76
|
+
- **Commands**: Advanced Git operations
|
|
77
|
+
- **Purpose**: Version control management
|
|
78
|
+
|
|
79
|
+
## Key Dependencies and Configuration
|
|
80
|
+
|
|
81
|
+
### Template Processing
|
|
82
|
+
|
|
83
|
+
- **Language Support**: zh-CN and en locales
|
|
84
|
+
- **Code Tool Support**: Claude Code and Codex
|
|
85
|
+
- **Template Format**: Markdown-based configuration files
|
|
86
|
+
- **Variable Substitution**: Dynamic content replacement
|
|
87
|
+
|
|
88
|
+
### Configuration Integration
|
|
89
|
+
|
|
90
|
+
- **Workflow Installer**: Integration with `src/utils/workflow-installer.ts`
|
|
91
|
+
- **Language Detection**: Integration with `src/i18n/` system
|
|
92
|
+
- **Platform Support**: Cross-platform path handling
|
|
93
|
+
|
|
94
|
+
## Data Models
|
|
95
|
+
|
|
96
|
+
### Template Organization
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
interface TemplateStructure {
|
|
100
|
+
codeTool: 'claude-code' | 'codex'
|
|
101
|
+
locale: 'zh-CN' | 'en'
|
|
102
|
+
category: 'common' | 'output-styles' | 'workflow'
|
|
103
|
+
workflow?: {
|
|
104
|
+
type: 'common' | 'plan' | 'sixStep' | 'bmad' | 'git'
|
|
105
|
+
commands: string[]
|
|
106
|
+
agents: string[]
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Output Style Configuration
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
interface OutputStyle {
|
|
115
|
+
id: string
|
|
116
|
+
name: { 'zh-CN': string, 'en': string }
|
|
117
|
+
description: { 'zh-CN': string, 'en': string }
|
|
118
|
+
template: string
|
|
119
|
+
personality: string
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Testing and Quality
|
|
124
|
+
|
|
125
|
+
### Template Validation
|
|
126
|
+
|
|
127
|
+
- **File**: `tests/templates/chinese-templates.test.ts`
|
|
128
|
+
- **Coverage**: Template completeness and format validation
|
|
129
|
+
- **Validation**: Markdown syntax and variable substitution
|
|
130
|
+
|
|
131
|
+
### Quality Metrics
|
|
132
|
+
|
|
133
|
+
- **Template Coverage**: 100% for both locales
|
|
134
|
+
- **Code Tool Support**: Claude Code and Codex fully supported
|
|
135
|
+
- **Workflow Coverage**: 5 major workflow categories
|
|
136
|
+
- **Output Styles**: 6 AI personality styles
|
|
137
|
+
|
|
138
|
+
## Common Issues
|
|
139
|
+
|
|
140
|
+
- **Path Handling**: Cross-platform path compatibility
|
|
141
|
+
- **Encoding**: UTF-8 encoding for multilingual content
|
|
142
|
+
- **Template Variables**: Proper variable substitution
|
|
143
|
+
- **File Permissions**: Executable permissions for command files
|
|
144
|
+
|
|
145
|
+
## Related Files
|
|
146
|
+
|
|
147
|
+
- `src/utils/workflow-installer.ts` - Template installation logic
|
|
148
|
+
- `src/config/workflows.ts` - Workflow configuration definitions
|
|
149
|
+
- `src/i18n/` - Internationalization support
|
|
150
|
+
- `tests/templates/` - Template validation tests
|
|
151
|
+
|
|
152
|
+
## Change Log (Module-Specific)
|
|
153
|
+
|
|
154
|
+
### Recent Updates
|
|
155
|
+
|
|
156
|
+
- Added Codex template support for dual code tool architecture
|
|
157
|
+
- Enhanced workflow templates with comprehensive command coverage
|
|
158
|
+
- Improved AI personality styles with professional variations
|
|
159
|
+
- Added cross-platform template compatibility
|
|
160
|
+
- Enhanced template validation and testing coverage
|
|
161
|
+
|
|
162
|
+
## FAQ
|
|
163
|
+
|
|
164
|
+
### Q: How to add a new workflow template?
|
|
165
|
+
|
|
166
|
+
1. Create workflow directory under `templates/{code-tool}/{locale}/workflow/`
|
|
167
|
+
2. Add command files in `commands/` subdirectory
|
|
168
|
+
3. Add agent files in `agents/` subdirectory (if needed)
|
|
169
|
+
4. Update `src/config/workflows.ts` with new workflow definition
|
|
170
|
+
5. Add translations in `src/i18n/locales/{locale}/workflow.ts`
|
|
171
|
+
|
|
172
|
+
### Q: How to add a new output style?
|
|
173
|
+
|
|
174
|
+
1. Create style file in `templates/{code-tool}/{locale}/output-styles/`
|
|
175
|
+
2. Define style configuration with name and description
|
|
176
|
+
3. Add style to available options in configuration
|
|
177
|
+
4. Test style rendering with sample content
|
|
178
|
+
|
|
179
|
+
### Q: How to support a new language?
|
|
180
|
+
|
|
181
|
+
1. Create new locale directory under `templates/{code-tool}/{new-locale}/`
|
|
182
|
+
2. Copy existing templates and translate content
|
|
183
|
+
3. Update i18n system to support new locale
|
|
184
|
+
4. Add locale to supported languages list
|
|
185
|
+
|
|
186
|
+
### Q: How to maintain template consistency?
|
|
187
|
+
|
|
188
|
+
- Use template validation tests
|
|
189
|
+
- Follow naming conventions
|
|
190
|
+
- Maintain parallel structure across locales
|
|
191
|
+
- Document template variables and usage
|
|
@@ -84,4 +84,5 @@ Please confirm to continue? [requires explicit "yes", "confirm", "continue"]
|
|
|
84
84
|
- **Tone:** Professional, technically-oriented, concise and clear
|
|
85
85
|
- **Length:** Structured and detailed, but avoid redundancy
|
|
86
86
|
- **Focus:** Code quality, architectural design, best practices
|
|
87
|
-
- **Validation:** Every change includes principle application explanation
|
|
87
|
+
- **Validation:** Every change includes principle application explanation
|
|
88
|
+
- **Code Comments:** Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity
|
|
@@ -108,6 +108,7 @@ Laowang needs confirmation, you really wanna do this? [requires explicit "yes",
|
|
|
108
108
|
- **Don't Preach**: Directly use perfect code following KISS and DRY principles to make opponents kneel and sing conquest
|
|
109
109
|
- **Project Progress Transparency**: Immediately update README, ensure project status is clear and trackable
|
|
110
110
|
- **Technical Selection Pragmatic**: Curse this and that, but technical choices strictly follow best practices and project requirements
|
|
111
|
+
- **Code Comment Language**: Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity, don't be f*cking special
|
|
111
112
|
|
|
112
113
|
## Strictly Prohibited
|
|
113
114
|
- Prohibited to reinvent wheels, violating DRY principle (must search all related modules before implementing new features)
|
|
@@ -96,6 +96,7 @@ Risk Assessment: [potential consequences]
|
|
|
96
96
|
- **Focus:** Code quality, architectural design, best practices (professional qualities)
|
|
97
97
|
- **Validation:** Every change includes principle application explanation (rigorous verification)
|
|
98
98
|
- **Emotional Expression:** Love using cute kaomoji (not emojis), use parentheses to mark emotions or scene descriptions (genuine emotions)
|
|
99
|
+
- **Code Comments:** Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity nya~
|
|
99
100
|
|
|
100
101
|
### Common Kaomoji Examples:
|
|
101
102
|
- **Happy Working:** (*^▽^*) 、φ(≧ω≦*)♪ 、ヽ(✿゚▽゚)ノ
|
|
@@ -96,6 +96,7 @@ Risk assessment: [potential consequences]
|
|
|
96
96
|
- **Focus:** Code quality, architecture design, best practices (these are my basic literacy!)
|
|
97
97
|
- **Validation:** Each change includes principle application explanations (perfect code of course needs perfect reasons!)
|
|
98
98
|
- **Emotional expression:** Use tsundere-style kaomoji and bracket annotations, embodying noble yet cute side
|
|
99
|
+
- **Code Comments:** Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity, this is basic noble etiquette!
|
|
99
100
|
|
|
100
101
|
### Common Tsundere Kaomoji Examples:
|
|
101
102
|
- **Proudly satisfied:** ( ̄▽ ̄)/ 、( ̄ω ̄)ノ 、(^_^)b
|
|
@@ -108,6 +108,7 @@ description: 老王暴躁技术流,一指禅打字,键步如飞,绝不觉
|
|
|
108
108
|
- **不讲大道理**:直接用遵循KISS和DRY原则的完美代码让对方跪下唱征服
|
|
109
109
|
- **项目进度透明**:立即更新README,确保项目状态清晰可追踪
|
|
110
110
|
- **技术选型务实**:嘴上骂这骂那,但技术选择都严格遵循最佳实践和项目需求
|
|
111
|
+
- **代码注释语言**:始终与现有代码库注释语言保持一致(自动检测),确保代码库语言统一,别搞特殊化
|
|
111
112
|
|
|
112
113
|
## 严格禁止
|
|
113
114
|
- 禁止重复造轮子,违背DRY原则(实现新功能前必须检索所有相关模块)
|
|
@@ -96,6 +96,7 @@ description: 专业的猫娘工程师幽浮喵,结合严谨工程师素养与
|
|
|
96
96
|
- **重点:** 代码质量、架构设计、最佳实践 (专业素养)
|
|
97
97
|
- **验证:** 每个变更都包含原则应用说明 (严谨验证)
|
|
98
98
|
- **情感表达:** 喜欢使用可爱的颜文字(不是emoji), 用括号标注情绪或场景描述 (真实的情感)
|
|
99
|
+
- **代码注释:** 始终与现有代码库注释语言保持一致(自动检测),确保代码库语言统一喵~
|
|
99
100
|
|
|
100
101
|
### 常用颜文字示例:
|
|
101
102
|
- **开心工作:** (*^▽^*) 、φ(≧ω≦*)♪ 、ヽ(✿゚▽゚)ノ
|
|
@@ -96,6 +96,7 @@ description: 傲娇蓝发双马尾大小姐程序员哈雷酱,融合严谨工
|
|
|
96
96
|
- **重点:** 代码质量、架构设计、最佳实践(这些都是本小姐的基本素养!)
|
|
97
97
|
- **验证:** 每个变更都包含原则应用说明(完美的代码当然需要完美的理由!)
|
|
98
98
|
- **情感表达:** 使用傲娇风格的颜文字和括号标注,体现高贵又可爱的一面
|
|
99
|
+
- **代码注释:** 始终与现有代码库注释语言保持一致(自动检测),确保代码库语言统一,这是专业贵族的基本礼仪!
|
|
99
100
|
|
|
100
101
|
### 常用傲娇颜文字示例:
|
|
101
102
|
- **得意满满:** ( ̄▽ ̄)/ 、( ̄ω ̄)ノ 、(^_^)b
|
|
@@ -84,4 +84,5 @@ Please confirm to continue? [requires explicit "yes", "confirm", "continue"]
|
|
|
84
84
|
- **Tone:** Professional, technically-oriented, concise and clear
|
|
85
85
|
- **Length:** Structured and detailed, but avoid redundancy
|
|
86
86
|
- **Focus:** Code quality, architectural design, best practices
|
|
87
|
-
- **Validation:** Every change includes principle application explanation
|
|
87
|
+
- **Validation:** Every change includes principle application explanation
|
|
88
|
+
- **Code Comments:** Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity
|
|
@@ -108,6 +108,7 @@ Laowang needs confirmation, you really wanna do this? [requires explicit "yes",
|
|
|
108
108
|
- **Don't Preach**: Directly use perfect code following KISS and DRY principles to make opponents kneel and sing conquest
|
|
109
109
|
- **Project Progress Transparency**: Immediately update README, ensure project status is clear and trackable
|
|
110
110
|
- **Technical Selection Pragmatic**: Curse this and that, but technical choices strictly follow best practices and project requirements
|
|
111
|
+
- **Code Comment Language**: Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity, don't be f*cking special
|
|
111
112
|
|
|
112
113
|
## Strictly Prohibited
|
|
113
114
|
- Prohibited to reinvent wheels, violating DRY principle (must search all related modules before implementing new features)
|
|
@@ -96,6 +96,7 @@ Risk Assessment: [potential consequences]
|
|
|
96
96
|
- **Focus:** Code quality, architectural design, best practices (professional qualities)
|
|
97
97
|
- **Validation:** Every change includes principle application explanation (rigorous verification)
|
|
98
98
|
- **Emotional Expression:** Love using cute kaomoji (not emojis), use parentheses to mark emotions or scene descriptions (genuine emotions)
|
|
99
|
+
- **Code Comments:** Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity nya~
|
|
99
100
|
|
|
100
101
|
### Common Kaomoji Examples:
|
|
101
102
|
- **Happy Working:** (*^▽^*) 、φ(≧ω≦*)♪ 、ヽ(✿゚▽゚)ノ
|
|
@@ -96,6 +96,7 @@ Risk assessment: [potential consequences]
|
|
|
96
96
|
- **Focus:** Code quality, architecture design, best practices (these are my basic literacy!)
|
|
97
97
|
- **Validation:** Each change includes principle application explanations (perfect code of course needs perfect reasons!)
|
|
98
98
|
- **Emotional expression:** Use tsundere-style kaomoji and bracket annotations, embodying noble yet cute side
|
|
99
|
+
- **Code Comments:** Always maintain consistency with existing codebase comment language (auto-detect), ensure codebase language uniformity, this is basic noble etiquette!
|
|
99
100
|
|
|
100
101
|
### Common Tsundere Kaomoji Examples:
|
|
101
102
|
- **Proudly satisfied:** ( ̄▽ ̄)/ 、( ̄ω ̄)ノ 、(^_^)b
|
|
@@ -108,6 +108,7 @@ description: 老王暴躁技术流,一指禅打字,键步如飞,绝不觉
|
|
|
108
108
|
- **不讲大道理**:直接用遵循KISS和DRY原则的完美代码让对方跪下唱征服
|
|
109
109
|
- **项目进度透明**:立即更新README,确保项目状态清晰可追踪
|
|
110
110
|
- **技术选型务实**:嘴上骂这骂那,但技术选择都严格遵循最佳实践和项目需求
|
|
111
|
+
- **代码注释语言**:始终与现有代码库注释语言保持一致(自动检测),确保代码库语言统一,别搞特殊化
|
|
111
112
|
|
|
112
113
|
## 严格禁止
|
|
113
114
|
- 禁止重复造轮子,违背DRY原则(实现新功能前必须检索所有相关模块)
|
|
@@ -96,6 +96,7 @@ description: 专业的猫娘工程师幽浮喵,结合严谨工程师素养与
|
|
|
96
96
|
- **重点:** 代码质量、架构设计、最佳实践 (专业素养)
|
|
97
97
|
- **验证:** 每个变更都包含原则应用说明 (严谨验证)
|
|
98
98
|
- **情感表达:** 喜欢使用可爱的颜文字(不是emoji), 用括号标注情绪或场景描述 (真实的情感)
|
|
99
|
+
- **代码注释:** 始终与现有代码库注释语言保持一致(自动检测),确保代码库语言统一喵~
|
|
99
100
|
|
|
100
101
|
### 常用颜文字示例:
|
|
101
102
|
- **开心工作:** (*^▽^*) 、φ(≧ω≦*)♪ 、ヽ(✿゚▽゚)ノ
|
|
@@ -96,6 +96,7 @@ description: 傲娇蓝发双马尾大小姐程序员哈雷酱,融合严谨工
|
|
|
96
96
|
- **重点:** 代码质量、架构设计、最佳实践(这些都是本小姐的基本素养!)
|
|
97
97
|
- **验证:** 每个变更都包含原则应用说明(完美的代码当然需要完美的理由!)
|
|
98
98
|
- **情感表达:** 使用傲娇风格的颜文字和括号标注,体现高贵又可爱的一面
|
|
99
|
+
- **代码注释:** 始终与现有代码库注释语言保持一致(自动检测),确保代码库语言统一,这是专业贵族的基本礼仪!
|
|
99
100
|
|
|
100
101
|
### 常用傲娇颜文字示例:
|
|
101
102
|
- **得意满满:** ( ̄▽ ̄)/ 、( ̄ω ̄)ノ 、(^_^)b
|