diff --git a/docs/cli/configuration.md b/docs/cli/configuration.md index aef6bc4f..11c6400a 100644 --- a/docs/cli/configuration.md +++ b/docs/cli/configuration.md @@ -306,6 +306,20 @@ Settings are organized into categories. All settings should be placed within the - **Default:** `1000` - **Requires restart:** Yes +#### `git` + +- **`git.gitCoAuthor.enabled`** (boolean): + - **Description:** Automatically add a Co-authored-by trailer to git commit messages when commits are made through Qwen Code. + - **Default:** `true` + +- **`git.gitCoAuthor.name`** (string): + - **Description:** The name to use in the Co-authored-by trailer. + - **Default:** `"Qwen-Coder"` + +- **`git.gitCoAuthor.email`** (string): + - **Description:** The email to use in the Co-authored-by trailer. + - **Default:** `"qwen-coder@alibabacloud.com"` + #### `mcp` - **`mcp.serverCommand`** (string): @@ -418,6 +432,11 @@ Here is an example of a `settings.json` file with the nested structure, new as o "callCommand": "bin/call_tool", "exclude": ["write_file"] }, + "git": { + "gitCoAuthor": { + "enabled": false + } + }, "mcpServers": { "mainServer": { "command": "bin/mcp_server.py" diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index ab4f087d..988bec17 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -992,6 +992,7 @@ export async function loadCliConfig( enableToolOutputTruncation: settings.tools?.enableToolOutputTruncation, eventEmitter: appEvents, useSmartEdit: argv.useSmartEdit ?? settings.useSmartEdit, + gitCoAuthor: settings.git?.gitCoAuthor, output: { format: outputSettingsFormat, }, diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index 439bc5d9..097ff6d4 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -933,6 +933,58 @@ const SETTINGS_SCHEMA = { }, }, + git: { + type: 'object', + label: 'Git', + category: 'Git', + requiresRestart: false, + default: {}, + description: 'Git-related settings.', + showInDialog: false, + properties: { + gitCoAuthor: { + type: 'object', + label: 'Git Co-Author', + category: 'Git', + requiresRestart: false, + default: {}, + description: + 'Settings for automatic Co-authored-by trailer in git commits.', + showInDialog: false, + properties: { + enabled: { + type: 'boolean', + label: 'Enable Git Co-Author', + category: 'Git', + requiresRestart: false, + default: true, + description: + 'Automatically add Co-authored-by trailer to git commit messages.', + showInDialog: true, + }, + name: { + type: 'string', + label: 'Co-Author Name', + category: 'Git', + requiresRestart: false, + default: 'Qwen-Coder' as string | undefined, + description: 'The name to use in the Co-authored-by trailer.', + showInDialog: true, + }, + email: { + type: 'string', + label: 'Co-Author Email', + category: 'Git', + requiresRestart: false, + default: 'qwen-coder@alibabacloud.com' as string | undefined, + description: 'The email to use in the Co-authored-by trailer.', + showInDialog: true, + }, + }, + }, + }, + }, + mcp: { type: 'object', label: 'MCP',