@zjex/git-workflow 0.2.24 → 0.3.2

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 (99) hide show
  1. package/.github/workflows/deploy-docs.yml +68 -0
  2. package/.github/workflows/test.yml +24 -4
  3. package/.husky/pre-commit +17 -0
  4. package/README.md +72 -1066
  5. package/ROADMAP.md +275 -0
  6. package/dist/index.js +450 -99
  7. package/docs/.vitepress/cache/deps/_metadata.json +52 -0
  8. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js +9719 -0
  9. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js.map +7 -0
  10. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +12824 -0
  11. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +7 -0
  12. package/docs/.vitepress/cache/deps/package.json +3 -0
  13. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
  14. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  15. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +583 -0
  16. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  17. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  18. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  19. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
  20. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  21. package/docs/.vitepress/cache/deps/vitepress___minisearch.js +1813 -0
  22. package/docs/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
  23. package/docs/.vitepress/cache/deps/vue.js +347 -0
  24. package/docs/.vitepress/cache/deps/vue.js.map +7 -0
  25. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js +9719 -0
  26. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js.map +7 -0
  27. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js +12824 -0
  28. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js.map +7 -0
  29. package/docs/.vitepress/cache/deps_temp_44e2fb0f/package.json +3 -0
  30. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js +4505 -0
  31. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js.map +7 -0
  32. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js +583 -0
  33. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js.map +7 -0
  34. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  35. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  36. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js +1665 -0
  37. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  38. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js +1813 -0
  39. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js.map +7 -0
  40. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js +347 -0
  41. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js.map +7 -0
  42. package/docs/.vitepress/config.ts +167 -0
  43. package/docs/.vitepress/theme/custom.css +39 -0
  44. package/docs/.vitepress/theme/index.ts +4 -0
  45. package/docs/README.md +82 -0
  46. package/docs/commands/branch.md +468 -0
  47. package/docs/commands/commit.md +554 -0
  48. package/docs/commands/config.md +346 -0
  49. package/docs/commands/index.md +312 -0
  50. package/docs/commands/interactive.md +384 -0
  51. package/docs/commands/release.md +300 -0
  52. package/docs/commands/stash.md +309 -0
  53. package/docs/commands/tag.md +278 -0
  54. package/docs/commands/update.md +347 -0
  55. package/docs/config/ai-config.md +160 -0
  56. package/docs/config/branch-config.md +133 -0
  57. package/docs/config/commit-config.md +185 -0
  58. package/docs/config/config-file.md +776 -0
  59. package/docs/config/examples.md +279 -0
  60. package/docs/config/index.md +478 -0
  61. package/docs/features/git-wrapped.md +199 -0
  62. package/docs/guide/ai-commit.md +576 -0
  63. package/docs/guide/basic-usage.md +522 -0
  64. package/docs/guide/best-practices.md +426 -0
  65. package/docs/guide/branch-management.md +712 -0
  66. package/docs/guide/getting-started.md +294 -0
  67. package/docs/guide/index.md +168 -0
  68. package/docs/guide/installation.md +449 -0
  69. package/docs/guide/release-management.md +744 -0
  70. package/docs/guide/stash-management.md +608 -0
  71. package/docs/guide/tag-management.md +614 -0
  72. package/docs/index.md +205 -0
  73. package/docs/public/favicon.svg +21 -0
  74. package/docs/public/hero-logo.svg +43 -0
  75. package/docs/public/logo.svg +20 -0
  76. package/package.json +12 -2
  77. package/scripts/publish.js +55 -8
  78. package/scripts/publish.sh +20 -2
  79. package/scripts/release.sh +81 -3
  80. package/scripts/update-test-count.js +55 -0
  81. package/src/ai-service.ts +107 -15
  82. package/src/commands/commit.ts +4 -0
  83. package/src/commands/init.ts +18 -0
  84. package/src/commands/log.ts +503 -0
  85. package/src/config.ts +1 -0
  86. package/src/index.ts +37 -13
  87. package/src/utils.ts +10 -0
  88. package/tests/ai-service.test.ts +237 -2
  89. package/tests/init.test.ts +582 -0
  90. package/tests/log.test.ts +106 -0
  91. package/tests/release.test.ts +333 -0
  92. package/tests/setup.ts +21 -0
  93. package/tests/stash.test.ts +376 -0
  94. package/tests/update.test.ts +402 -0
  95. package/vitest.config.ts +3 -0
  96. package/zjex-logo.svg +22 -0
  97. package/zjex-optimized.svg +34 -0
  98. package/zjex.svg +1 -0
  99. package/src/commands/help.ts +0 -76
@@ -0,0 +1,279 @@
1
+ # 配置示例
2
+
3
+ 各种使用场景的完整配置示例。
4
+
5
+ ## 🏠 个人开发者
6
+
7
+ 适合个人项目的轻量配置。
8
+
9
+ ```json
10
+ {
11
+ "featurePrefix": "feat",
12
+ "hotfixPrefix": "fix",
13
+ "requireId": false,
14
+ "autoStage": true,
15
+ "useEmoji": true,
16
+ "aiCommit": {
17
+ "enabled": true,
18
+ "provider": "github",
19
+ "language": "zh-CN",
20
+ "detailedDescription": true
21
+ }
22
+ }
23
+ ```
24
+
25
+ **特点:**
26
+ - 简化的分支前缀
27
+ - 不强制要求 ID
28
+ - 启用 AI commit
29
+ - 使用中文
30
+
31
+ ## 👥 团队协作
32
+
33
+ 适合团队开发的规范配置。
34
+
35
+ ```json
36
+ {
37
+ "baseBranch": "develop",
38
+ "featurePrefix": "feature",
39
+ "hotfixPrefix": "hotfix",
40
+ "requireId": true,
41
+ "featureIdLabel": "Jira ID",
42
+ "hotfixIdLabel": "Bug ID",
43
+ "autoPush": true,
44
+ "autoStage": true,
45
+ "useEmoji": true,
46
+ "aiCommit": {
47
+ "enabled": true,
48
+ "provider": "github",
49
+ "language": "zh-CN",
50
+ "detailedDescription": true
51
+ }
52
+ }
53
+ ```
54
+
55
+ **特点:**
56
+ - 基于 develop 分支开发
57
+ - 强制要求 Jira ID
58
+ - 自动推送到远程
59
+ - 统一的 AI commit 配置
60
+
61
+ ## 🌍 开源项目
62
+
63
+ 适合开源项目的国际化配置。
64
+
65
+ ```json
66
+ {
67
+ "featurePrefix": "feature",
68
+ "hotfixPrefix": "fix",
69
+ "requireId": false,
70
+ "autoPush": false,
71
+ "autoStage": true,
72
+ "useEmoji": true,
73
+ "aiCommit": {
74
+ "enabled": true,
75
+ "provider": "github",
76
+ "language": "en-US",
77
+ "detailedDescription": true
78
+ }
79
+ }
80
+ ```
81
+
82
+ **特点:**
83
+ - 使用英文
84
+ - 不自动推送(让贡献者决定)
85
+ - 不强制 ID(适合外部贡献)
86
+
87
+ ## 🏢 企业级项目
88
+
89
+ 适合大型企业项目的严格配置。
90
+
91
+ ```json
92
+ {
93
+ "baseBranch": "develop",
94
+ "featurePrefix": "feature",
95
+ "hotfixPrefix": "hotfix",
96
+ "requireId": true,
97
+ "featureIdLabel": "Story ID",
98
+ "hotfixIdLabel": "Incident ID",
99
+ "defaultTagPrefix": "v",
100
+ "autoPush": true,
101
+ "autoStage": false,
102
+ "useEmoji": false,
103
+ "aiCommit": {
104
+ "enabled": true,
105
+ "provider": "openai",
106
+ "language": "en-US",
107
+ "detailedDescription": true,
108
+ "maxTokens": 300
109
+ }
110
+ }
111
+ ```
112
+
113
+ **特点:**
114
+ - 严格的 ID 要求
115
+ - 手动选择暂存文件
116
+ - 禁用 emoji(适合正式环境)
117
+ - 使用付费 AI 服务
118
+
119
+ ## 🚀 CI/CD 优化
120
+
121
+ 适合自动化流程的配置。
122
+
123
+ ```json
124
+ {
125
+ "baseBranch": "main",
126
+ "featurePrefix": "feature",
127
+ "hotfixPrefix": "hotfix",
128
+ "requireId": true,
129
+ "featureIdLabel": "Ticket",
130
+ "hotfixIdLabel": "Issue",
131
+ "defaultTagPrefix": "v",
132
+ "autoPush": true,
133
+ "autoStage": true,
134
+ "useEmoji": false,
135
+ "aiCommit": {
136
+ "enabled": true,
137
+ "provider": "github",
138
+ "language": "en-US",
139
+ "detailedDescription": true,
140
+ "maxTokens": 200
141
+ }
142
+ }
143
+ ```
144
+
145
+ **特点:**
146
+ - 固定 tag 前缀
147
+ - 自动推送和暂存
148
+ - 禁用 emoji(避免 CI 问题)
149
+ - 限制 token 数量
150
+
151
+ ## 🎨 创意项目
152
+
153
+ 适合设计或创意项目的个性化配置。
154
+
155
+ ```json
156
+ {
157
+ "featurePrefix": "feat",
158
+ "hotfixPrefix": "fix",
159
+ "requireId": false,
160
+ "autoStage": true,
161
+ "useEmoji": true,
162
+ "commitEmojis": {
163
+ "feat": "🎨",
164
+ "fix": "🔧",
165
+ "docs": "📝",
166
+ "style": "💄",
167
+ "refactor": "♻️",
168
+ "perf": "⚡️",
169
+ "test": "✅"
170
+ },
171
+ "aiCommit": {
172
+ "enabled": true,
173
+ "provider": "github",
174
+ "language": "zh-CN",
175
+ "detailedDescription": true
176
+ }
177
+ }
178
+ ```
179
+
180
+ **特点:**
181
+ - 自定义 emoji
182
+ - 灵活的分支管理
183
+ - 中文友好
184
+
185
+ ## 📱 移动端项目
186
+
187
+ 适合移动应用开发的配置。
188
+
189
+ ```json
190
+ {
191
+ "baseBranch": "develop",
192
+ "featurePrefix": "feature",
193
+ "hotfixPrefix": "hotfix",
194
+ "requireId": true,
195
+ "featureIdLabel": "Feature ID",
196
+ "hotfixIdLabel": "Bug ID",
197
+ "defaultTagPrefix": "v",
198
+ "autoPush": true,
199
+ "autoStage": true,
200
+ "useEmoji": true,
201
+ "commitEmojis": {
202
+ "feat": "📱",
203
+ "fix": "🐛",
204
+ "perf": "⚡️",
205
+ "test": "🧪"
206
+ },
207
+ "aiCommit": {
208
+ "enabled": true,
209
+ "provider": "github",
210
+ "language": "zh-CN",
211
+ "detailedDescription": true
212
+ }
213
+ }
214
+ ```
215
+
216
+ **特点:**
217
+ - 移动端相关的 emoji
218
+ - 版本标签管理
219
+ - 性能优化重视
220
+
221
+ ## 🔒 安全项目
222
+
223
+ 适合安全敏感项目的配置。
224
+
225
+ ```json
226
+ {
227
+ "baseBranch": "main",
228
+ "featurePrefix": "feature",
229
+ "hotfixPrefix": "security",
230
+ "requireId": true,
231
+ "featureIdLabel": "Security ID",
232
+ "hotfixIdLabel": "CVE ID",
233
+ "autoPush": false,
234
+ "autoStage": false,
235
+ "useEmoji": false,
236
+ "aiCommit": {
237
+ "enabled": false
238
+ }
239
+ }
240
+ ```
241
+
242
+ **特点:**
243
+ - 禁用 AI(避免数据泄露)
244
+ - 手动控制推送和暂存
245
+ - 安全相关的标签
246
+ - 禁用 emoji
247
+
248
+ ## 🧪 实验项目
249
+
250
+ 适合实验性项目的灵活配置。
251
+
252
+ ```json
253
+ {
254
+ "featurePrefix": "exp",
255
+ "hotfixPrefix": "fix",
256
+ "requireId": false,
257
+ "autoPush": false,
258
+ "autoStage": true,
259
+ "useEmoji": true,
260
+ "commitEmojis": {
261
+ "feat": "🧪",
262
+ "fix": "🔧",
263
+ "docs": "📚"
264
+ },
265
+ "aiCommit": {
266
+ "enabled": true,
267
+ "provider": "ollama",
268
+ "model": "llama3.2:3b",
269
+ "language": "zh-CN",
270
+ "detailedDescription": false
271
+ }
272
+ }
273
+ ```
274
+
275
+ **特点:**
276
+ - 实验性前缀
277
+ - 本地 AI 模型
278
+ - 简洁的 commit message
279
+ - 灵活的推送策略