返回首页
最新
# 展示 HN: Claude 自动提交 – 基于 AI 的 Git 提交信息生成
## 背景
像许多开发者一样,我发现自己经常输入“fix”、“update”或“wip”,而不是有意义的提交信息。在计算出我每天在这上面花费约 10 分钟(每年 60 小时)后,我决定构建一个解决方案。
## 功能介绍
Claude 自动提交分析暂存的 Git 更改,并使用 Claude 的 AI 生成上下文相关的提交信息。它理解代码结构和更改模式,以创建符合传统提交风格的信息。
*示例:*
```bash
git add .
npx claude-auto-commit
# 输出:
feat(auth): 添加 JWT 令牌验证中间件
- 实现受保护路由的令牌验证
- 为过期令牌添加错误处理
```
## 技术方法
v0.1.4 是从 Bash 完全重写为使用 Claude Code SDK 的 Node.js ES 模块。
*关键决策:*
1. *Claude Code SDK*: 更稳定的 API,OAuth 认证
2. *并行处理*: 差异分析 + 历史解析同时进行
3. *智能缓存*: 将 API 调用减少约 50%
4. *模板系统*: `{description}` 占位符以保持团队一致性
*核心逻辑:*
```javascript
const [diffAnalysis, context] = await Promise.all([
analyzeDiff(gitDiff), getProjectContext()
]);
const message = await claudeSDK.generateMessage(
buildContextualPrompt(diffAnalysis, context)
);
```
## 性能
- *冷启动*: ~1.5秒(包括认证)
- *缓存*: ~0.8秒
- *内存*: 峰值 <50MB
## 我所学到的
*有效的方面:*
- 文件类型分析在上下文方面优于原始差异
- 缓存类似更改显著改善用户体验
- 模板帮助团队而不显得僵化
*挑战:*
- 大型差异(>500 行)需要总结
- 项目的提交风格差异很大
- 平衡 AI 创造力与传统标准
## 限制
- 需要 Claude Pro/Team 订阅
- 最适合处理 <500 行的更改
- 基本模板系统(正在规划更智能的模式识别)
## 技术栈
- *运行时*: Node.js 18+ ES 模块
- *AI*: Claude Code SDK (OAuth)
- *分发*: npm + curl 安装程序
- *配置*: JSON,带有合理的默认值
核心见解:将其视为上下文感知的总结,而不是模板填充。
## 未来计划
- VS Code 扩展
- GitHub Actions 集成用于 PR 描述
- 团队分析(哪些风格与更好的评审相关)
## 尝试一下
```bash
npx claude-auto-commit
```
*GitHub*: [https://github.com/0xkaz/claude-auto-commit](https://github.com/0xkaz/claude-auto-commit)
*网站*: [https://claude-auto-commit.0xkaz.com](https://claude-auto-commit.0xkaz.com)
欢迎反馈,特别是来自在提交一致性方面遇到困难的团队。免费且开源。
*需要 Claude 订阅,但正在探索可及性选项。*