@zjex/git-workflow 0.2.19 → 0.2.21
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/CODE_DOCUMENTATION.md +169 -0
- package/dist/index.js +396 -214
- package/package.json +4 -2
- package/src/commands/commit.ts +93 -32
- package/src/commands/help.ts +4 -1
- package/src/commands/tag.ts +49 -22
- package/src/commands/update.ts +43 -8
- package/src/index.ts +68 -11
- package/src/update-notifier.ts +122 -34
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# 代码文档说明
|
|
2
|
+
|
|
3
|
+
## 已添加详细注释的文件
|
|
4
|
+
|
|
5
|
+
### ✅ src/commands/commit.ts
|
|
6
|
+
|
|
7
|
+
**功能**: 交互式提交命令,支持 AI 自动生成和手动编写
|
|
8
|
+
|
|
9
|
+
**注释内容**:
|
|
10
|
+
|
|
11
|
+
- 模块级注释:说明 Conventional Commits 和 Gitmoji 规范
|
|
12
|
+
- 函数注释:每个函数都有 JSDoc 注释
|
|
13
|
+
- 步骤标记:用 `==========` 分隔不同的处理步骤
|
|
14
|
+
- 行内注释:关键逻辑都有说明
|
|
15
|
+
|
|
16
|
+
**关键函数**:
|
|
17
|
+
|
|
18
|
+
- `commit()`: 主函数,处理整个提交流程
|
|
19
|
+
- `buildManualCommitMessage()`: 手动构建 commit message
|
|
20
|
+
- `parseGitStatus()`: 解析 git 状态
|
|
21
|
+
- `formatFileStatus()`: 格式化文件状态显示
|
|
22
|
+
|
|
23
|
+
### ✅ src/index.ts
|
|
24
|
+
|
|
25
|
+
**功能**: 主入口文件,CLI 应用初始化和命令注册
|
|
26
|
+
|
|
27
|
+
**注释内容**:
|
|
28
|
+
|
|
29
|
+
- 模块级注释:说明文件职责
|
|
30
|
+
- 全局错误处理:Ctrl+C、未捕获异常、Promise 拒绝
|
|
31
|
+
- 版本信息:构建时注入
|
|
32
|
+
- 交互式主菜单:ASCII Logo 和命令选择
|
|
33
|
+
- CLI 命令注册:所有命令的注册和配置
|
|
34
|
+
|
|
35
|
+
## 其他文件状态
|
|
36
|
+
|
|
37
|
+
### ✅ 无错误的文件(已通过 TypeScript 检查)
|
|
38
|
+
|
|
39
|
+
- src/ai-service.ts
|
|
40
|
+
- src/config.ts
|
|
41
|
+
- src/utils.ts
|
|
42
|
+
- src/update-notifier.ts
|
|
43
|
+
- src/commands/branch.ts
|
|
44
|
+
- src/commands/help.ts
|
|
45
|
+
- src/commands/init.ts
|
|
46
|
+
- src/commands/release.ts
|
|
47
|
+
- src/commands/stash.ts
|
|
48
|
+
- src/commands/tag.ts
|
|
49
|
+
- src/commands/update.ts
|
|
50
|
+
|
|
51
|
+
## 代码质量改进
|
|
52
|
+
|
|
53
|
+
### 1. 类型安全
|
|
54
|
+
|
|
55
|
+
- 所有函数都有明确的返回类型
|
|
56
|
+
- 使用 TypeScript 的类型推导
|
|
57
|
+
- 接口定义清晰(如 `FileStatus`)
|
|
58
|
+
|
|
59
|
+
### 2. 错误处理
|
|
60
|
+
|
|
61
|
+
- 全局错误捕获
|
|
62
|
+
- 优雅的 Ctrl+C 处理
|
|
63
|
+
- 详细的错误提示信息
|
|
64
|
+
- 提供手动执行命令
|
|
65
|
+
|
|
66
|
+
### 3. 用户体验
|
|
67
|
+
|
|
68
|
+
- 提交前检查暂存文件
|
|
69
|
+
- 清晰的步骤分隔
|
|
70
|
+
- 彩色输出和 emoji
|
|
71
|
+
- 交互式选择界面
|
|
72
|
+
|
|
73
|
+
### 4. 代码组织
|
|
74
|
+
|
|
75
|
+
- 模块化设计
|
|
76
|
+
- 单一职责原则
|
|
77
|
+
- 清晰的函数命名
|
|
78
|
+
- 详细的注释说明
|
|
79
|
+
|
|
80
|
+
## 关键改进点
|
|
81
|
+
|
|
82
|
+
### commit.ts
|
|
83
|
+
|
|
84
|
+
1. **修复了 `message` 变量未初始化问题**
|
|
85
|
+
|
|
86
|
+
- 初始化为空字符串
|
|
87
|
+
- 确保所有代码路径都会赋值
|
|
88
|
+
|
|
89
|
+
2. **添加提交前检查**
|
|
90
|
+
|
|
91
|
+
- 再次验证是否有暂存文件
|
|
92
|
+
- 避免空提交
|
|
93
|
+
|
|
94
|
+
3. **改进错误提示**
|
|
95
|
+
|
|
96
|
+
- 显示完整错误信息
|
|
97
|
+
- 提供手动执行命令
|
|
98
|
+
|
|
99
|
+
4. **修复 refactor 对齐问题**
|
|
100
|
+
- 针对 ♻️ emoji 特殊处理
|
|
101
|
+
- 动态调整间距
|
|
102
|
+
|
|
103
|
+
### index.ts
|
|
104
|
+
|
|
105
|
+
1. **完善错误处理**
|
|
106
|
+
|
|
107
|
+
- 捕获所有类型的错误
|
|
108
|
+
- 优雅退出
|
|
109
|
+
|
|
110
|
+
2. **添加模块说明**
|
|
111
|
+
- 清晰的文件职责
|
|
112
|
+
- 详细的功能说明
|
|
113
|
+
|
|
114
|
+
## 建议
|
|
115
|
+
|
|
116
|
+
如果需要给其他文件添加详细注释,可以按照以下优先级:
|
|
117
|
+
|
|
118
|
+
1. **高优先级**(核心业务逻辑):
|
|
119
|
+
|
|
120
|
+
- src/ai-service.ts - AI commit 生成
|
|
121
|
+
- src/config.ts - 配置管理
|
|
122
|
+
- src/commands/tag.ts - Tag 管理
|
|
123
|
+
|
|
124
|
+
2. **中优先级**(常用功能):
|
|
125
|
+
|
|
126
|
+
- src/commands/branch.ts - 分支管理
|
|
127
|
+
- src/commands/stash.ts - Stash 管理
|
|
128
|
+
- src/update-notifier.ts - 更新检查
|
|
129
|
+
|
|
130
|
+
3. **低优先级**(辅助功能):
|
|
131
|
+
- src/utils.ts - 工具函数
|
|
132
|
+
- src/commands/help.ts - 帮助信息
|
|
133
|
+
- src/commands/init.ts - 初始化配置
|
|
134
|
+
|
|
135
|
+
## 注释规范
|
|
136
|
+
|
|
137
|
+
### JSDoc 注释格式
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
/**
|
|
141
|
+
* 函数简短描述
|
|
142
|
+
*
|
|
143
|
+
* 详细说明(可选)
|
|
144
|
+
*
|
|
145
|
+
* @param paramName 参数说明
|
|
146
|
+
* @returns 返回值说明
|
|
147
|
+
*/
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 行内注释
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
// 简短说明当前代码的作用
|
|
154
|
+
const result = doSomething();
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### 步骤标记
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
// ========== 步骤 1: 处理输入 ==========
|
|
161
|
+
// ========== 步骤 2: 验证数据 ==========
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## 总结
|
|
165
|
+
|
|
166
|
+
✅ 核心文件已添加详细注释
|
|
167
|
+
✅ 所有文件通过 TypeScript 检查
|
|
168
|
+
✅ 代码质量和可维护性显著提升
|
|
169
|
+
✅ 用户体验得到改善
|