@dongowu/git-ai-cli 1.0.20 → 2.0.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 (70) hide show
  1. package/README.md +75 -27
  2. package/bin/git-ai.cjs +57 -0
  3. package/install.cjs +50 -0
  4. package/package.json +27 -28
  5. package/.claude/settings.local.json +0 -17
  6. package/CHANGELOG.md +0 -46
  7. package/README_EN.md +0 -240
  8. package/dist/cli.d.ts +0 -3
  9. package/dist/cli.d.ts.map +0 -1
  10. package/dist/cli.js +0 -17
  11. package/dist/cli.js.map +0 -1
  12. package/dist/cli_main.d.ts +0 -2
  13. package/dist/cli_main.d.ts.map +0 -1
  14. package/dist/cli_main.js +0 -189
  15. package/dist/cli_main.js.map +0 -1
  16. package/dist/commands/commit.d.ts +0 -9
  17. package/dist/commands/commit.d.ts.map +0 -1
  18. package/dist/commands/commit.js +0 -301
  19. package/dist/commands/commit.js.map +0 -1
  20. package/dist/commands/config.d.ts +0 -2
  21. package/dist/commands/config.d.ts.map +0 -1
  22. package/dist/commands/config.js +0 -164
  23. package/dist/commands/config.js.map +0 -1
  24. package/dist/commands/config_manage.d.ts +0 -14
  25. package/dist/commands/config_manage.d.ts.map +0 -1
  26. package/dist/commands/config_manage.js +0 -185
  27. package/dist/commands/config_manage.js.map +0 -1
  28. package/dist/commands/hook.d.ts +0 -5
  29. package/dist/commands/hook.d.ts.map +0 -1
  30. package/dist/commands/hook.js +0 -462
  31. package/dist/commands/hook.js.map +0 -1
  32. package/dist/commands/msg.d.ts +0 -20
  33. package/dist/commands/msg.d.ts.map +0 -1
  34. package/dist/commands/msg.js +0 -137
  35. package/dist/commands/msg.js.map +0 -1
  36. package/dist/commands/report.d.ts +0 -9
  37. package/dist/commands/report.d.ts.map +0 -1
  38. package/dist/commands/report.js +0 -154
  39. package/dist/commands/report.js.map +0 -1
  40. package/dist/types.d.ts +0 -20
  41. package/dist/types.d.ts.map +0 -1
  42. package/dist/types.js +0 -86
  43. package/dist/types.js.map +0 -1
  44. package/dist/utils/agent.d.ts +0 -5
  45. package/dist/utils/agent.d.ts.map +0 -1
  46. package/dist/utils/agent.js +0 -308
  47. package/dist/utils/agent.js.map +0 -1
  48. package/dist/utils/agent_lite.d.ts +0 -5
  49. package/dist/utils/agent_lite.d.ts.map +0 -1
  50. package/dist/utils/agent_lite.js +0 -263
  51. package/dist/utils/agent_lite.js.map +0 -1
  52. package/dist/utils/ai.d.ts +0 -21
  53. package/dist/utils/ai.d.ts.map +0 -1
  54. package/dist/utils/ai.js +0 -437
  55. package/dist/utils/ai.js.map +0 -1
  56. package/dist/utils/config.d.ts +0 -11
  57. package/dist/utils/config.d.ts.map +0 -1
  58. package/dist/utils/config.js +0 -146
  59. package/dist/utils/config.js.map +0 -1
  60. package/dist/utils/git.d.ts +0 -34
  61. package/dist/utils/git.d.ts.map +0 -1
  62. package/dist/utils/git.js +0 -368
  63. package/dist/utils/git.js.map +0 -1
  64. package/dist/utils/update.d.ts +0 -4
  65. package/dist/utils/update.d.ts.map +0 -1
  66. package/dist/utils/update.js +0 -122
  67. package/dist/utils/update.js.map +0 -1
  68. package/release_notes.md +0 -10
  69. package/scripts/release.sh +0 -34
  70. package/test_agent_feature.ts +0 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <strong>🤖 AI-Powered Git Assistant: Commit, Context & Report</strong>
5
5
  </p>
6
6
  <p align="center">
7
- 🚀 <strong>DeepSeek</strong> 深度优化 | 🏠 <strong>Ollama</strong> 隐私优先 | 🧠 <strong>分支感知</strong> | 📊 <strong>智能周报</strong>
7
+ 🚀 <strong>DeepSeek</strong> 深度优化 | 🏠 <strong>Ollama</strong> 隐私优先 | 🧠 <strong>分支感知</strong> | 🛡️ <strong>Copilot 守护</strong> | 📊 <strong>智能周报</strong>
8
8
  </p>
9
9
  </p>
10
10
 
@@ -29,6 +29,18 @@
29
29
 
30
30
  ---
31
31
 
32
+ ## 🦀 Rust 版说明(当前默认发布)
33
+
34
+ 从 **2.x** 开始,`git-ai-cli` 默认发布 **Rust 版**(更快、单文件二进制)。推荐通过 npm 安装(会自动下载对应平台的二进制):
35
+
36
+ ```bash
37
+ npm install -g @dongowu/git-ai-cli
38
+ ```
39
+
40
+ > Rust 版目前包含 **agent-lite**(影响分析/符号搜索),增强安全/性能分析功能仍在迁移中。
41
+
42
+ > 如需旧版 TypeScript(1.x)请自行固定版本号安装。
43
+
32
44
  ## 🚀 快速开始
33
45
 
34
46
  ```bash
@@ -36,7 +48,7 @@
36
48
  npm install -g @dongowu/git-ai-cli
37
49
 
38
50
  # 2. 初始化 (自动探测本地模型或配置 API)
39
- git-ai init
51
+ git-ai config
40
52
 
41
53
  # 3. 使用
42
54
  git add .
@@ -55,23 +67,31 @@ git-ai
55
67
  - **风格学习**:自动分析您最近的 10 次提交记录,模仿您的语气、格式(如 Emoji 使用习惯)和语言风格。
56
68
  - **分支感知**:读取当前分支名(如 `feat/user-login`, `fix/JIRA-123`),生成包含 Issue ID 或功能模块的规范提交信息。
57
69
 
58
- ### 3. 🤖 Agent 智能体 (New)
59
- 从单纯的“文本生成”进化为“智能代码专家”。
70
+ ### 3. 🤖 Agent 智能体
71
+ 从单纯的"文本生成"进化为"智能代码专家"。
60
72
  - **Smart Diff**: 遇到超大变更不再瞎编。Agent 会自动分析统计数据,只读取核心文件的代码,大幅降低 Token 限制带来的影响。
61
73
  - **影响分析 (Impact Analysis)**: 修改了核心 API?Agent 会主动**搜索整个代码库**(`git grep`),检查调用方是否同步修改,并在 Commit Body 中提示潜在风险。
62
74
  - **Git Flow 护航**: 在 `release/*` 或 `hotfix/*` 分支上自动开启深度检查,守卫生产环境。
63
75
 
64
- ### 4. ⚙️ 工程化配置 (Project Config)
76
+ ### 4. 🛡️ GitHub Copilot CLI 智能守护 (New)
77
+ 双层 AI 架构:专业 Commit 生成 + 深度代码分析。
78
+ - **代码影响分析**: 使用 GitHub Copilot CLI 深度分析代码变更的影响范围和潜在风险
79
+ - **风险检测**: 自动识别破坏性变更、潜在 Bug 和安全隐患
80
+ - **测试建议**: 智能推荐需要测试的场景和用例
81
+ - **受影响区域**: 分析哪些模块和文件可能受到影响
82
+ - **可选启用**: 通过 `--copilot` 参数按需启用,不强制依赖
83
+
84
+ ### 5. ⚙️ 工程化配置 (Project Config)
65
85
  - **项目级配置**:支持在项目根目录创建 `.git-ai.json`,团队统一共享模型和 Prompt 配置(优先级 > 全局配置)。
66
86
  - **智能忽略**:支持 `.git-aiignore` 文件,排除自动生成文件(如 `package-lock.json`)或大文件,节省 Token 并提高准确性。
67
87
 
68
- ### 4. 🪝 无感集成 (Git Hook)
88
+ ### 6. 🪝 无感集成 (Git Hook)
69
89
  - **零打扰**:安装 Hook 后,只需执行 `git commit`(不带 `-m`),AI 自动填充消息并打开编辑器。
70
90
  - **兼容性**:完美兼容现有 Git 工作流,支持 `git commit --no-verify` 跳过。
71
91
 
72
- ### 4. 📊 智能周报 (AI Report)
92
+ ### 7. 📊 智能周报 (AI Report)
73
93
  - **一键生成**:`git-ai report` 自动分析你最近的代码提交。
74
- - **价值导向**:将零碎的 Commit 转化为结构化的“核心产出”、“问题修复”和“技术优化”报告。
94
+ - **价值导向**:将零碎的 Commit 转化为结构化的"核心产出"、"问题修复"和"技术优化"报告。
75
95
 
76
96
  ---
77
97
 
@@ -121,13 +141,6 @@ git-ai config describe
121
141
  - `GIT_AI_TIMEOUT_MS`(请求超时,默认 120000)
122
142
  - `GIT_AI_MAX_DIFF_CHARS`(控制 diff 截断长度)
123
143
  - `GIT_AI_MAX_OUTPUT_TOKENS`(控制输出 token 上限)
124
- - `GIT_AI_AUTO_AGENT=0`(关闭自动 Agent;仍可用 `-a` 强制开启)
125
- - `GIT_AI_DISABLE_AGENT=1`(完全禁用 Agent)
126
- - `GIT_AI_RECENT_COMMITS_ALL=1`(Recent Commits 不限制作者)
127
- - `GIT_AI_RECENT_COMMITS_FALLBACK=0`(禁用“无作者回退”)
128
- - `GIT_AI_DISABLE_UPDATE=1`(关闭更新检查)
129
- - `GIT_AI_UPDATE_INTERVAL_HOURS=24`(更新检查间隔,单位小时)
130
- - `GIT_AI_MSG_DELIM=<<<GIT_AI_END>>>`(`git-ai msg -n` 多候选分隔符)
131
144
  - `GIT_AI_DEBUG=1`(打印更详细错误)
132
145
 
133
146
  OpenCommit 兼容变量(可直接复用):
@@ -169,7 +182,42 @@ git add .
169
182
  git-ai
170
183
  ```
171
184
 
172
- ### 场景二:Git Flow 最佳实践 (Hook) 🌟 推荐
185
+ ### 场景二:Copilot 智能守护模式 🌟 推荐
186
+
187
+ ```bash
188
+ git add .
189
+ git-ai --copilot
190
+ # 1. 使用 DeepSeek/Ollama 生成专业 commit message
191
+ # 2. GitHub Copilot CLI 深度分析代码影响
192
+ # 3. 展示风险提示和测试建议
193
+ # 4. 确认后提交
194
+ ```
195
+
196
+ **输出示例:**
197
+ ```
198
+ ✨ Generated commit message(s):
199
+
200
+ feat(auth): implement JWT token refresh mechanism
201
+
202
+ 📊 Impact Analysis:
203
+ Modified authentication flow to support automatic token refresh
204
+
205
+ ⚠️ Potential Risks:
206
+ • Breaking change: Old tokens will be invalidated
207
+ • Session management logic needs update
208
+
209
+ 🔗 Affected Areas:
210
+ • Login component
211
+ • API middleware
212
+ • User session store
213
+
214
+ ✅ Test Recommendations:
215
+ • Test token expiration handling
216
+ • Verify refresh token rotation
217
+ • Check concurrent request handling
218
+ ```
219
+
220
+ ### 场景三:Git Flow 最佳实践 (Hook)
173
221
 
174
222
  这是最流畅的体验。你不需要改变任何习惯,只需一次安装:
175
223
 
@@ -189,7 +237,7 @@ git add .
189
237
  git commit # ✨ AI 自动帮你写好了 "feat(login): implement awesome login logic"
190
238
  ```
191
239
 
192
- ### 场景三:生成周报 (Report)
240
+ ### 场景四:生成周报 (Report)
193
241
 
194
242
  每逢周五不想写周报?
195
243
 
@@ -200,11 +248,11 @@ git-ai report
200
248
  # 生成最近 30 天的汇报
201
249
  git-ai report --days 30
202
250
 
203
- # 指定日期范围
204
- git-ai report --from 2025-01-01 --to 2025-01-31
251
+ # 从“上次 tag”到当前代码生成版本功能描述
252
+ git-ai report --from-last-tag
205
253
 
206
- # JSON 输出(便于脚本处理)
207
- git-ai report --days 7 --json
254
+ # 指定 tag 范围生成发布说明(例如 v1.0.21 -> v2.0.0)
255
+ git-ai report --from-tag v1.0.21 --to-ref v2.0.0
208
256
  ```
209
257
 
210
258
  ---
@@ -213,29 +261,29 @@ git-ai report --days 7 --json
213
261
 
214
262
  | 命令 | 别名 | 说明 |
215
263
  |------|------|------|
216
- | `git-ai init` | `config` | **初始化配置**(设置模型、Key、语言) |
264
+ | `git-ai config` | `config` | **初始化配置**(设置模型、Key、语言) |
217
265
  | `git-ai config get` | | 查看当前生效配置(支持 `--json` / `--local`) |
218
266
  | `git-ai config set <key> <value>` | | 设置配置(支持 `--local` / `--json`) |
219
267
  | `git-ai config describe` | | 查看可配置项与环境变量覆盖 |
220
268
  | `git-ai` | | 交互式生成并提交 |
269
+ | `git-ai --copilot` | | **Copilot 守护模式** (代码影响分析 & 风险检测) |
221
270
  | `git-ai -a` | | **Agent 模式** (深度分析 & 影响检查) |
271
+ | `git-ai -a --copilot` | | **终极模式** (Agent + Copilot 双重保障) |
222
272
  | `git-ai -y` | | 跳过确认直接提交 |
223
273
  | `git-ai -n 3` | | 生成 3 条候选消息 |
224
274
  | `git-ai -l en` | | 强制输出语言(en/zh) |
225
275
  | `git-ai hook install` | | **安装 Git Hook** (支持 `--global`) |
226
276
  | `git-ai hook remove` | | 移除 Git Hook |
227
- | `git-ai report` | | **生成 AI 周报** (支持 `--days`) |
277
+ | `git-ai report` | | **生成 AI 周报 / 版本说明** (支持 `--days` / `--from-last-tag` / `--from-tag --to-ref`) |
228
278
  | `git-ai msg` | | 仅输出消息(供脚本调用) |
229
279
 
230
280
  ---
231
281
 
232
- **提示**:`git-ai msg -n` 默认使用分隔符 `<<<GIT_AI_END>>>`;脚本场景建议使用 `--json`。
233
-
234
282
  ## 🤖 支持的模型
235
283
 
236
284
  | 类型 | 服务商 | 优势 | 配置方式 |
237
285
  |------|--------|------|----------|
238
- | **本地隐私** | **Ollama** | 免费、离线、绝对隐私 | `git-ai init` 自动探测 |
286
+ | **本地隐私** | **Ollama** | 免费、离线、绝对隐私 | `git-ai config` 自动探测 |
239
287
  | | **LM Studio** | 兼容性好 | 手动输入 URL |
240
288
  | **国内高速** | **DeepSeek** | **性价比之王**,代码能力极强 | API Key |
241
289
  | | **通义千问** | 阿里生态,长文本能力强 | API Key |
@@ -248,7 +296,7 @@ git-ai report --days 7 --json
248
296
 
249
297
  ## 📄 License
250
298
 
251
- [MIT](LICENSE)
299
+ [Apache 2.0](LICENSE)
252
300
 
253
301
  ---
254
302
 
package/bin/git-ai.cjs ADDED
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const os = require('os');
6
+ const { spawn } = require('child_process');
7
+
8
+ // Detect platform and architecture
9
+ const platform = os.platform();
10
+ const arch = os.arch();
11
+
12
+ // Map Node.js platform/arch to our naming convention
13
+ const platformMap = {
14
+ 'linux-x64': 'linux-x64',
15
+ 'linux-arm64': 'linux-arm64',
16
+ 'darwin-x64': 'darwin-x64',
17
+ 'darwin-arm64': 'darwin-arm64',
18
+ 'win32-x64': 'win32-x64',
19
+ };
20
+
21
+ const key = `${platform}-${arch}`;
22
+ const platformKey = platformMap[key];
23
+
24
+ if (!platformKey) {
25
+ console.error(`Error: Unsupported platform: ${platform} ${arch}`);
26
+ process.exit(1);
27
+ }
28
+
29
+ // Find the binary from the platform-specific package
30
+ const packageName = `@dongowu/git-ai-cli-${platformKey}`;
31
+ const nodeModulesPath = path.join(__dirname, '..', 'node_modules');
32
+ const binaryName = platform === 'win32' ? 'git-ai.exe' : 'git-ai';
33
+ const binaryPath = path.join(nodeModulesPath, packageName, 'bin', binaryName);
34
+
35
+ // Check if binary exists
36
+ if (!fs.existsSync(binaryPath)) {
37
+ console.error(`Error: Binary not found at ${binaryPath}`);
38
+ console.error(`Please ensure the ${packageName} package is installed.`);
39
+ process.exit(1);
40
+ }
41
+
42
+ // Spawn the binary with all arguments
43
+ const child = spawn(binaryPath, process.argv.slice(2), {
44
+ stdio: 'inherit',
45
+ shell: false,
46
+ });
47
+
48
+ // Forward exit code
49
+ child.on('exit', (code) => {
50
+ process.exit(code || 0);
51
+ });
52
+
53
+ // Handle errors
54
+ child.on('error', (err) => {
55
+ console.error(`Error executing binary: ${err.message}`);
56
+ process.exit(1);
57
+ });
package/install.cjs ADDED
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const os = require('os');
6
+
7
+ // Detect platform and architecture
8
+ const platform = os.platform();
9
+ const arch = os.arch();
10
+
11
+ // Map Node.js platform/arch to our naming convention
12
+ const platformMap = {
13
+ 'linux-x64': 'linux-x64',
14
+ 'linux-arm64': 'linux-arm64',
15
+ 'darwin-x64': 'darwin-x64',
16
+ 'darwin-arm64': 'darwin-arm64',
17
+ 'win32-x64': 'win32-x64',
18
+ };
19
+
20
+ const key = `${platform}-${arch}`;
21
+ const platformKey = platformMap[key];
22
+
23
+ if (!platformKey) {
24
+ console.error(`Unsupported platform: ${platform} ${arch}`);
25
+ process.exit(1);
26
+ }
27
+
28
+ // Try to find the binary from the platform-specific package
29
+ const packageName = `@dongowu/git-ai-cli-${platformKey}`;
30
+ const nodeModulesPath = path.join(__dirname, 'node_modules');
31
+ const binaryName = platform === 'win32' ? 'git-ai.exe' : 'git-ai';
32
+ const binaryPath = path.join(nodeModulesPath, packageName, 'bin', binaryName);
33
+
34
+ // Check if binary exists
35
+ if (!fs.existsSync(binaryPath)) {
36
+ console.warn(`Warning: Binary not found at ${binaryPath}`);
37
+ console.warn(`Please ensure the ${packageName} package is installed.`);
38
+ process.exit(1);
39
+ }
40
+
41
+ // Make binary executable on Unix-like systems
42
+ if (process.platform !== 'win32') {
43
+ try {
44
+ fs.chmodSync(binaryPath, 0o755);
45
+ } catch (err) {
46
+ console.warn(`Warning: Could not make binary executable: ${err.message}`);
47
+ }
48
+ }
49
+
50
+ console.log(`✅ git-ai binary installed for ${platformKey}`);
package/package.json CHANGED
@@ -1,23 +1,18 @@
1
1
  {
2
2
  "name": "@dongowu/git-ai-cli",
3
- "version": "1.0.20",
4
- "description": "Fast, privacy-first, bring-your-own-model Git commit message generator",
5
- "type": "module",
6
- "main": "dist/cli.js",
3
+ "version": "2.0.0",
4
+ "description": "Generate git commit messages using AI - Rust Edition",
5
+ "main": "bin/git-ai.cjs",
7
6
  "bin": {
8
- "git-ai": "dist/cli.js"
7
+ "git-ai": "bin/git-ai.cjs"
9
8
  },
10
9
  "scripts": {
11
- "build": "tsc",
12
- "dev": "tsc --watch",
13
- "start": "NODE_NO_WARNINGS=1 node dist/cli.js",
14
- "prepublishOnly": "npm run build",
10
+ "postinstall": "node install.cjs",
11
+ "build:rust": "cargo build --release",
12
+ "test": "cargo test",
15
13
  "release": "npm version patch && git push --follow-tags",
16
14
  "release:minor": "npm version minor && git push --follow-tags",
17
- "release:major": "npm version major && git push --follow-tags",
18
- "tag": "npm version patch && git push && git push --tags",
19
- "tag:minor": "npm version minor && git push && git push --tags",
20
- "tag:major": "npm version major && git push && git push --tags"
15
+ "release:major": "npm version major && git push --follow-tags"
21
16
  },
22
17
  "keywords": [
23
18
  "git",
@@ -27,27 +22,31 @@
27
22
  "openai",
28
23
  "deepseek",
29
24
  "ollama",
25
+ "rust",
30
26
  "style-learning",
31
27
  "git-hook",
32
28
  "productivity"
33
29
  ],
34
- "author": "",
30
+ "author": "dongowu <dongowu@gmail.com>",
35
31
  "license": "MIT",
36
- "engines": {
37
- "node": ">=18.0.0"
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/dongowu/git-ai-cli"
38
35
  },
39
- "dependencies": {
40
- "cac": "^6.7.14",
41
- "chalk": "^5.3.0",
42
- "conf": "^12.0.0",
43
- "execa": "^8.0.1",
44
- "inquirer": "^9.2.12",
45
- "openai": "^4.28.0",
46
- "ora": "^8.0.1"
36
+ "engines": {
37
+ "node": ">=14.0.0"
47
38
  },
48
- "devDependencies": {
49
- "@types/inquirer": "^9.0.7",
50
- "@types/node": "^20.11.0",
51
- "typescript": "^5.3.3"
39
+ "files": [
40
+ "bin/git-ai.cjs",
41
+ "install.cjs",
42
+ "README.md",
43
+ "LICENSE"
44
+ ],
45
+ "optionalDependencies": {
46
+ "@dongowu/git-ai-cli-linux-x64": "2.0.0",
47
+ "@dongowu/git-ai-cli-linux-arm64": "2.0.0",
48
+ "@dongowu/git-ai-cli-darwin-x64": "2.0.0",
49
+ "@dongowu/git-ai-cli-darwin-arm64": "2.0.0",
50
+ "@dongowu/git-ai-cli-win32-x64": "2.0.0"
52
51
  }
53
52
  }
@@ -1,17 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(git-ai msg:*)",
5
- "Bash(git-ai hook:*)",
6
- "Bash(npm run build:*)",
7
- "Bash(npm install:*)",
8
- "Bash(node dist/cli.js hook status:*)",
9
- "Bash(node dist/cli.js:*)",
10
- "Bash(git config:*)",
11
- "Bash(git add:*)",
12
- "Bash(where:*)",
13
- "Bash(GIT_EDITOR=\"cat\" git commit:*)",
14
- "Bash(git reset:*)"
15
- ]
16
- }
17
- }
package/CHANGELOG.md DELETED
@@ -1,46 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- ## [1.1.0] - 2026-01-16
6
-
7
- ### 🚀 Agent & Intelligence (Major Update)
8
-
9
- - **🤖 Agent Mode**: Introduced a powerful Agent Loop capable of using tools.
10
- - **Smart Diff**: No more truncated diffs! If a change is too large, the Agent automatically requests specific file contents to understand the core logic.
11
- - **Impact Analysis**: The Agent can now search the codebase (`git grep`) to find usages of changed functions/APIs, actively looking for potential breaking changes.
12
- - **Auto-Activation**: Automatically triggers Agent Mode when diffs are truncated or when working on critical branches (`release/*`, `hotfix/*`, `main`).
13
- - **cli**: Added `-a, --agent` flag to manually force Agent Mode for deep analysis.
14
-
15
- ### ✨ Features
16
-
17
- - **Git Flow Integration**: Enhanced logic to perform stricter checks on production-bound branches.
18
- - **Hook Stability**: Improved Git Hook performance with "Quiet Agent" mode, ensuring no console noise during `git commit`.
19
-
20
- ### ⚡ Improvements
21
-
22
- - **Reliability**: Better handling of large repositories and massive refactors.
23
-
24
- ---
25
-
26
- ## [1.0.16] - 2026-01-14
27
-
28
- ### ✨ Features
29
-
30
- - **Style Learning**: Automatically analyzes your recent 10 commits to mimic your personal style (emojis, casing, format).
31
- - **Project Config**: Added support for `.git-ai.json` in project root for team-wide configuration.
32
- - **Smart Ignore**: Added support for `.git-aiignore` to exclude specific files from AI analysis.
33
- - **Batch Optimization**: Optimized `git-ai -n <count>` to use a single API request for multiple choices, reducing token usage.
34
-
35
- ### ⚡ Improvements
36
-
37
- - **Performance**: Reduced API latency for multi-choice generation.
38
- - **Docs**: Updated README with comprehensive guides for new features.
39
-
40
- ---
41
-
42
- ## [1.0.15]
43
-
44
- - Initial release of stable features.
45
- - Support for DeepSeek, OpenAI, and Ollama.
46
- - Interactive mode and Git Hook integration.