@zjex/git-workflow 0.3.0 → 0.3.3
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/.husky/commit-msg +5 -0
- package/.husky/pre-commit +2 -5
- package/README.md +1 -1
- package/ROADMAP.md +356 -0
- package/dist/index.js +448 -110
- package/docs/.vitepress/cache/deps/_metadata.json +9 -9
- package/docs/.vitepress/config.ts +2 -1
- package/docs/commands/help.md +248 -0
- package/docs/commands/index.md +15 -8
- package/docs/commands/log.md +328 -0
- package/docs/features/git-wrapped.md +199 -0
- package/docs/index.md +32 -1
- package/package.json +2 -1
- package/scripts/format-commit-msg.js +258 -0
- package/scripts/release.sh +61 -1
- package/src/ai-service.ts +77 -16
- package/src/commands/commit.ts +9 -3
- package/src/commands/init.ts +23 -0
- package/src/commands/log.ts +503 -0
- package/src/commands/tag.ts +18 -10
- package/src/config.ts +1 -0
- package/src/index.ts +37 -13
- package/src/utils.ts +10 -0
- package/tests/commit-format.test.ts +535 -0
- package/tests/log.test.ts +106 -0
- package/src/commands/help.ts +0 -76
- package/tests/help.test.ts +0 -134
package/.husky/pre-commit
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
. "$(dirname -- "$0")/_/husky.sh"
|
|
3
|
-
|
|
4
1
|
# 运行测试
|
|
5
2
|
echo "正在运行测试..."
|
|
6
3
|
npm test
|
|
7
4
|
|
|
8
|
-
#
|
|
5
|
+
# 检查测试结果
|
|
9
6
|
if [ $? -ne 0 ]; then
|
|
10
7
|
echo ""
|
|
11
8
|
echo "⚠️ 测试失败!"
|
|
@@ -16,4 +13,4 @@ if [ $? -ne 0 ]; then
|
|
|
16
13
|
exit 1
|
|
17
14
|
fi
|
|
18
15
|
|
|
19
|
-
echo "✅ 测试通过,继续提交..."
|
|
16
|
+
echo "✅ 测试通过,继续提交..."
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<a href="https://github.com/iamzjt-front-end/git-workflow"><img src="https://img.shields.io/github/stars/iamzjt-front-end/git-workflow?style=flat&colorA=18181B&colorB=F59E0B" alt="github stars"></a>
|
|
13
13
|
<a href="https://github.com/iamzjt-front-end/git-workflow/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@zjex/git-workflow?style=flat&colorA=18181B&colorB=10B981" alt="license"></a>
|
|
14
14
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D18-339933?style=flat&logo=node.js&logoColor=white&colorA=18181B" alt="node version"></a>
|
|
15
|
-
<a href="https://github.com/iamzjt-front-end/git-workflow/actions"><img src="https://img.shields.io/badge/tests-
|
|
15
|
+
<a href="https://github.com/iamzjt-front-end/git-workflow/actions"><img src="https://img.shields.io/badge/tests-266%20passed-success?style=flat&colorA=18181B" alt="tests"></a>
|
|
16
16
|
<a href="https://github.com/iamzjt-front-end/git-workflow/issues"><img src="https://img.shields.io/github/issues/iamzjt-front-end/git-workflow?style=flat&colorA=18181B&colorB=EC4899" alt="issues"></a>
|
|
17
17
|
</p>
|
|
18
18
|
|
package/ROADMAP.md
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
# 🗺️ Git Workflow 功能路线图
|
|
2
|
+
|
|
3
|
+
> 记录和管理即将实现的功能,按优先级和开发阶段组织
|
|
4
|
+
|
|
5
|
+
## 📋 当前状态
|
|
6
|
+
|
|
7
|
+
- **版本**: v0.3.0
|
|
8
|
+
- **测试覆盖**: 231 个测试用例
|
|
9
|
+
- **核心功能**: ✅ 完成
|
|
10
|
+
- **文档**: ✅ 完成
|
|
11
|
+
- **品牌标识**: ✅ 完成
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🎯 高优先级功能 (v0.3.x)
|
|
16
|
+
|
|
17
|
+
### 0. 🔍 AI Code Review - ⭐ 最高优先级
|
|
18
|
+
|
|
19
|
+
- [ ] `gw review` - AI 智能代码审查
|
|
20
|
+
- 自动分析暂存区或指定提交的代码变更
|
|
21
|
+
- 多维度审查:Bug 检测、安全漏洞、性能问题、代码规范
|
|
22
|
+
- 提供具体的修改建议和代码示例
|
|
23
|
+
- 支持自定义审查规则和忽略模式
|
|
24
|
+
- [ ] `gw review --staged` - 审查暂存区的更改
|
|
25
|
+
- 提交前快速检查代码质量
|
|
26
|
+
- 发现潜在问题,避免低质量提交
|
|
27
|
+
- [ ] `gw review HEAD~3..HEAD` - 审查指定范围的提交
|
|
28
|
+
|
|
29
|
+
- 支持 Git 提交范围语法
|
|
30
|
+
- 批量审查多个提交的变更
|
|
31
|
+
**审查维度**:
|
|
32
|
+
|
|
33
|
+
- 🐛 **Bug 检测**: 空指针、数组越界、逻辑错误、边界条件
|
|
34
|
+
- 🔒 **安全漏洞**: SQL 注入、XSS、敏感信息泄露、不安全的依赖
|
|
35
|
+
- ⚡ **性能问题**: 内存泄漏、N+1 查询、不必要的循环、资源未释放
|
|
36
|
+
- 📝 **代码规范**: 命名规范、注释完整性、代码复杂度、重复代码
|
|
37
|
+
- 🏗️ **架构建议**: 设计模式、模块化、可测试性、可维护性
|
|
38
|
+
|
|
39
|
+
**输出格式示例**:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
📋 代码审查报告
|
|
43
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
|
+
|
|
45
|
+
🔴 严重问题 (2)
|
|
46
|
+
├─ src/api.ts:45 - SQL注入风险
|
|
47
|
+
│ 建议: 使用参数化查询替代字符串拼接
|
|
48
|
+
└─ src/auth.ts:23 - 密码明文存储
|
|
49
|
+
建议: 使用bcrypt进行密码哈希
|
|
50
|
+
|
|
51
|
+
🟡 警告 (3)
|
|
52
|
+
├─ src/utils.ts:12 - 未处理的Promise rejection
|
|
53
|
+
├─ src/data.ts:78 - 可能的内存泄漏
|
|
54
|
+
└─ src/handler.ts:34 - 函数复杂度过高(15)
|
|
55
|
+
|
|
56
|
+
🔵 建议 (5)
|
|
57
|
+
├─ src/config.ts:8 - 建议添加类型注解
|
|
58
|
+
└─ ... 更多建议
|
|
59
|
+
|
|
60
|
+
✅ 总结: 发现2个严重问题,3个警告,5个建议
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**配置选项**:
|
|
64
|
+
|
|
65
|
+
- `review.severity` - 最低报告级别 (error/warning/info)
|
|
66
|
+
- `review.ignore` - 忽略的文件或规则
|
|
67
|
+
- `review.customRules` - 自定义审查规则
|
|
68
|
+
- `review.language` - 报告语言 (zh/en)
|
|
69
|
+
|
|
70
|
+
**技术难点**: AI 模型集成、代码语义分析、多语言支持
|
|
71
|
+
**独特价值**: 提交前的最后一道防线,提升代码质量,减少 Code Review 负担
|
|
72
|
+
|
|
73
|
+
### 1. 🎉 年度回顾 (Git Wrapped) - 🔥 杀手级功能
|
|
74
|
+
|
|
75
|
+
- [ ] `gw wrapped` - 生成年度编程报告
|
|
76
|
+
- 自动分析当前年份的 Git 活动
|
|
77
|
+
- 生成精美的终端输出报告
|
|
78
|
+
- 包含提交统计、语言分布、活跃时间等
|
|
79
|
+
- [ ] `gw wrapped 2024` - 指定年份分析
|
|
80
|
+
- 支持分析任意年份的数据
|
|
81
|
+
- 历史数据对比功能
|
|
82
|
+
- [ ] `gw wrapped --share` - 生成可分享的图片
|
|
83
|
+
- 输出 PNG/SVG 格式的精美报告卡片
|
|
84
|
+
- 适合社交媒体分享
|
|
85
|
+
- 支持多种主题风格
|
|
86
|
+
|
|
87
|
+
**功能亮点**:
|
|
88
|
+
|
|
89
|
+
- 📊 提交统计和趋势图表
|
|
90
|
+
- � 最活跃的月份/季度/时间段
|
|
91
|
+
- 💻 编程语言使用分布
|
|
92
|
+
- 🎯 最大贡献的项目/仓库
|
|
93
|
+
- 🔥 最长连击记录和活跃天数
|
|
94
|
+
- 📝 提交信息风格分析
|
|
95
|
+
- 🌟 年度编程亮点和里程碑
|
|
96
|
+
- ⏰ 编程时间习惯分析(早鸟 vs 夜猫子)
|
|
97
|
+
|
|
98
|
+
**技术难点**: 数据聚合分析、图表生成、图片渲染
|
|
99
|
+
**独特价值**: 市场上唯一的 Git 年度回顾工具,具有病毒式传播潜力
|
|
100
|
+
|
|
101
|
+
### 2. 📊 Git 日志和历史查看 - 解决真实痛点
|
|
102
|
+
|
|
103
|
+
- [ ] `gw log` - 美化的提交历史查看
|
|
104
|
+
- 彩色输出,图形化分支显示
|
|
105
|
+
- 支持筛选(作者、日期、关键词)
|
|
106
|
+
- 分页显示,交互式导航
|
|
107
|
+
- [ ] `gw recent` - 显示最近的提交
|
|
108
|
+
- 可配置天数(默认 7 天)
|
|
109
|
+
- 按作者分组显示
|
|
110
|
+
- [ ] `gw authors` - 显示贡献者统计
|
|
111
|
+
- 提交数量、代码行数统计
|
|
112
|
+
- 时间范围筛选
|
|
113
|
+
|
|
114
|
+
**技术难点**: 图形化分支显示、性能优化
|
|
115
|
+
**独特价值**: 比原生 git log 更美观,比 lazygit 更简洁
|
|
116
|
+
|
|
117
|
+
### 3. 🌿 分支管理增强 - 高频使用场景
|
|
118
|
+
|
|
119
|
+
- [ ] `gw recent-branches` - 显示最近使用的分支
|
|
120
|
+
- 按最后使用时间排序
|
|
121
|
+
- 显示分支状态(ahead/behind)
|
|
122
|
+
- 快速切换功能
|
|
123
|
+
- [ ] `gw switch` - 交互式分支切换
|
|
124
|
+
- 模糊搜索分支名
|
|
125
|
+
- 显示分支描述和状态
|
|
126
|
+
- 支持远程分支
|
|
127
|
+
|
|
128
|
+
**技术难点**: 分支状态检测、搜索算法
|
|
129
|
+
**独特价值**: 解决多分支项目的切换痛点
|
|
130
|
+
|
|
131
|
+
### 4. 🤖 AI 智能 Merge - � 革命性功能
|
|
132
|
+
|
|
133
|
+
- [ ] `gw merge --ai` - AI 自动处理 merge 冲突
|
|
134
|
+
- 自动识别和处理简单冲突(import、格式化等)
|
|
135
|
+
- 智能分析复杂冲突,提供解决建议
|
|
136
|
+
- 基于代码语义理解的冲突博弈
|
|
137
|
+
- 学习用户偏好,提升决策准确性
|
|
138
|
+
- [ ] `gw merge --preview` - 冲突预览和分析
|
|
139
|
+
- merge 前预测可能的冲突
|
|
140
|
+
- 显示冲突复杂度和建议策略
|
|
141
|
+
- 提供冲突解决时间估算
|
|
142
|
+
- [ ] `gw merge --safe` - 安全模式 merge
|
|
143
|
+
- 自动创建备份分支
|
|
144
|
+
- 重要文件强制人工确认
|
|
145
|
+
- 提供一键回滚功能
|
|
146
|
+
|
|
147
|
+
**技术难点**: AI 模型集成、代码语义分析、安全机制
|
|
148
|
+
**独特价值**: 市场首个 AI 驱动的 merge 冲突处理工具,解决开发者最大痛点
|
|
149
|
+
|
|
150
|
+
### 5. �🔍 提交历史搜索 - 实用工具
|
|
151
|
+
|
|
152
|
+
- [ ] `gw search` - 在提交历史中搜索
|
|
153
|
+
- 支持提交信息、作者、文件名搜索
|
|
154
|
+
- 正则表达式支持
|
|
155
|
+
- 结果高亮显示
|
|
156
|
+
- AI 增强的语义搜索
|
|
157
|
+
|
|
158
|
+
**技术难点**: 搜索性能、结果展示
|
|
159
|
+
**独特价值**: AI 增强的智能搜索,理解搜索意图
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 🚀 中优先级功能 (v0.4.x)
|
|
164
|
+
|
|
165
|
+
### 1. 👥 团队协作功能
|
|
166
|
+
|
|
167
|
+
- [ ] `gw standup` - 显示团队成员最近的工作
|
|
168
|
+
- 可配置时间范围和团队成员
|
|
169
|
+
- 按项目/仓库分组
|
|
170
|
+
- 支持多仓库扫描
|
|
171
|
+
- [ ] `gw summary` - 仓库统计信息
|
|
172
|
+
- 代码行数、文件数统计
|
|
173
|
+
- 语言分布、活跃度分析
|
|
174
|
+
- 贡献者排行榜
|
|
175
|
+
|
|
176
|
+
**技术难点**: 多仓库管理、数据聚合
|
|
177
|
+
|
|
178
|
+
### 2. 🔗 GitHub 集成增强
|
|
179
|
+
|
|
180
|
+
- [ ] `gw pr` - PR 管理功能
|
|
181
|
+
- 创建、查看、合并 PR
|
|
182
|
+
- PR 状态检查(CI/CD)
|
|
183
|
+
- 代码审查集成
|
|
184
|
+
- [ ] `gw issues` - Issue 管理
|
|
185
|
+
- 创建、查看、关闭 Issue
|
|
186
|
+
- 标签和里程碑管理
|
|
187
|
+
- [ ] `gw repo` - 仓库信息和统计
|
|
188
|
+
- Star、Fork、Watch 数据
|
|
189
|
+
- Release 信息
|
|
190
|
+
- 贡献者信息
|
|
191
|
+
|
|
192
|
+
**技术难点**: GitHub API 集成、认证管理
|
|
193
|
+
|
|
194
|
+
### 3. 🎨 增强的 diff 显示
|
|
195
|
+
|
|
196
|
+
- [ ] `gw diff` - 语法高亮的 diff 显示
|
|
197
|
+
- 集成 delta 或类似工具
|
|
198
|
+
- 支持 side-by-side 显示
|
|
199
|
+
- 文件类型智能识别
|
|
200
|
+
|
|
201
|
+
**技术难点**: 语法高亮、布局优化
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 🔮 低优先级功能 (v0.5.x+)
|
|
206
|
+
|
|
207
|
+
### 1. 🛠️ 高级工具
|
|
208
|
+
|
|
209
|
+
- [ ] `gw blame` - 交互式 blame 查看
|
|
210
|
+
- [ ] `gw template` - commit message 模板管理
|
|
211
|
+
- [ ] `gw hooks` - Git hooks 管理
|
|
212
|
+
- [ ] `gw alias` - Git 别名管理
|
|
213
|
+
- [ ] `gw ignore` - 交互式.gitignore 管理
|
|
214
|
+
|
|
215
|
+
### 2. 🔄 工作流程优化
|
|
216
|
+
|
|
217
|
+
- [ ] `gw backup` - 创建当前工作的备份
|
|
218
|
+
- [ ] `gw undo` - 智能撤销操作
|
|
219
|
+
- [ ] `gw changed` - 显示最近更改的文件
|
|
220
|
+
|
|
221
|
+
### 3. ❌ 已移除功能 (不再考虑实现)
|
|
222
|
+
|
|
223
|
+
- ~~交互式 Rebase 简化~~ - 原生 Git rebase 已足够好用
|
|
224
|
+
- ~~智能 Cherry-pick~~ - 原生 cherry-pick 已足够好用
|
|
225
|
+
- ~~智能同步功能~~ - 用户自己 stash + pull 即可
|
|
226
|
+
- ~~浏览器集成~~ - 偏离 CLI 工具初衷,价值不大
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 🎯 现有功能优化计划
|
|
231
|
+
|
|
232
|
+
### AI Commit 增强 (v0.3.1)
|
|
233
|
+
|
|
234
|
+
- [ ] 支持多种 commit 风格选择
|
|
235
|
+
- Conventional Commits(当前)
|
|
236
|
+
- Gitmoji 风格
|
|
237
|
+
- 自定义模板
|
|
238
|
+
- [ ] 批量 commit 功能
|
|
239
|
+
- 智能分组相关更改
|
|
240
|
+
- 支持部分文件提交
|
|
241
|
+
- [ ] commit 模板系统
|
|
242
|
+
- 项目级模板
|
|
243
|
+
- 个人模板库
|
|
244
|
+
|
|
245
|
+
### 分支管理优化 (v0.3.2)
|
|
246
|
+
|
|
247
|
+
- [ ] 分支描述功能
|
|
248
|
+
- 添加/编辑分支描述
|
|
249
|
+
- 在分支列表中显示描述
|
|
250
|
+
- [ ] 分支模板
|
|
251
|
+
- 预定义分支命名规则
|
|
252
|
+
- 自动添加分支描述
|
|
253
|
+
- [ ] 分支保护检查
|
|
254
|
+
- 检测保护分支规则
|
|
255
|
+
- 提交前验证
|
|
256
|
+
|
|
257
|
+
### 发布流程增强 (v0.3.3)
|
|
258
|
+
|
|
259
|
+
- [ ] 多环境发布支持
|
|
260
|
+
- dev/staging/prod 环境配置
|
|
261
|
+
- 环境特定的发布流程
|
|
262
|
+
- [ ] 回滚功能
|
|
263
|
+
- 快速回滚到指定版本
|
|
264
|
+
- 回滚影响分析
|
|
265
|
+
- [ ] CI/CD 集成
|
|
266
|
+
- 检查 CI 状态
|
|
267
|
+
- 等待部署完成
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 📊 开发计划
|
|
272
|
+
|
|
273
|
+
### Q1 2025 (v0.3.1-0.3.3)
|
|
274
|
+
|
|
275
|
+
- ⭐ **最高优先级**: AI Code Review (`gw review`)
|
|
276
|
+
- ✅ 完成高优先级功能中的 3-4 个
|
|
277
|
+
- 🎯 重点:用户体验提升,核心工作流优化
|
|
278
|
+
|
|
279
|
+
### Q2 2025 (v0.4.0)
|
|
280
|
+
|
|
281
|
+
- 🎯 团队协作功能
|
|
282
|
+
- 🎯 GitHub 深度集成
|
|
283
|
+
- 🎯 性能优化
|
|
284
|
+
|
|
285
|
+
### Q3 2025 (v0.5.0)
|
|
286
|
+
|
|
287
|
+
- 🎯 高级工具和自定义功能
|
|
288
|
+
- 🎯 插件系统(如果需要)
|
|
289
|
+
- 🎯 企业级功能
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 🤝 贡献指南
|
|
294
|
+
|
|
295
|
+
### 如何选择功能实现
|
|
296
|
+
|
|
297
|
+
1. **用户价值** - 功能对用户的实际价值
|
|
298
|
+
2. **实现复杂度** - 开发难度和时间成本
|
|
299
|
+
3. **维护成本** - 长期维护的复杂度
|
|
300
|
+
4. **社区需求** - 用户反馈和请求
|
|
301
|
+
|
|
302
|
+
### 开发流程
|
|
303
|
+
|
|
304
|
+
1. 在此文件中标记功能状态
|
|
305
|
+
2. 创建对应的 Issue 讨论设计
|
|
306
|
+
3. 实现功能并添加测试
|
|
307
|
+
4. 更新文档
|
|
308
|
+
5. 发布版本
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## 📝 更新日志
|
|
313
|
+
|
|
314
|
+
- **2025-01-12**: 添加 AI Code Review 功能作为最高优先级(第 0 项)
|
|
315
|
+
- **2025-01-11**: 创建路线图,当前版本 v0.3.0,规划后续功能
|
|
316
|
+
- **待更新**: 根据开发进度持续更新
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 💡 想法收集
|
|
321
|
+
|
|
322
|
+
> 记录临时想法和用户建议,定期整理到正式计划中
|
|
323
|
+
|
|
324
|
+
### Git Wrapped 扩展想法
|
|
325
|
+
|
|
326
|
+
- [ ] 🏆 成就系统集成 - 在年度报告中展示解锁的成就
|
|
327
|
+
- [ ] 📈 多年对比 - 对比不同年份的编程成长
|
|
328
|
+
- [ ] 🎨 自定义主题 - 支持多种视觉风格(暗黑、彩虹、极简等)
|
|
329
|
+
- [ ] 📱 移动端适配 - 生成适合手机分享的竖版图片
|
|
330
|
+
- [ ] 🌍 团队版本 - 生成整个团队的年度报告
|
|
331
|
+
- [ ] 🎵 音乐集成 - 根据编程语言推荐"年度编程歌单"
|
|
332
|
+
- [ ] 📝 AI 总结 - 用 AI 生成个性化的年度编程故事
|
|
333
|
+
- [ ] 🎯 目标设定 - 基于今年数据设定明年目标
|
|
334
|
+
|
|
335
|
+
### AI Git 操作扩展想法
|
|
336
|
+
|
|
337
|
+
- [ ] 🤖 AI 智能 Rebase - 自动分析提交关系,智能建议合并/重排/拆分操作
|
|
338
|
+
- [ ] 🍒 AI 智能 Cherry-pick - 基于代码语义推荐相关提交,预测冲突并自动处理
|
|
339
|
+
- [ ] 🔄 AI 工作流分析 - 分析用户 Git 使用模式,提供个性化优化建议
|
|
340
|
+
- [ ] 🧹 AI 仓库清理 - 智能检测无用分支和过时提交,建议清理策略
|
|
341
|
+
- [ ] 📊 AI 提交质量评分 - 分析提交历史质量,提供改进建议
|
|
342
|
+
- [ ] 🎯 AI 冲突预测 - 在操作前预测可能的冲突和解决方案
|
|
343
|
+
|
|
344
|
+
### 其他功能想法
|
|
345
|
+
|
|
346
|
+
- [ ] 集成 AI 代码审查功能
|
|
347
|
+
- [ ] 支持多种 Git 托管平台
|
|
348
|
+
- [ ] 添加性能监控和分析
|
|
349
|
+
- [ ] 考虑 GUI 版本或 Web 界面
|
|
350
|
+
- [ ] 插件系统设计
|
|
351
|
+
- [ ] 编程习惯健康度分析
|
|
352
|
+
- [ ] 代码质量趋势追踪
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
_最后更新: 2025-01-11_
|