@shirlytaylor73/superharness 1.5.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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +202 -0
  3. package/bin/lib/codex-installer.js +228 -0
  4. package/bin/lib/interactive-select.js +96 -0
  5. package/bin/superharness.js +67 -0
  6. package/package.json +52 -0
  7. package/plugins/superharness/.claude-plugin/plugin.json +19 -0
  8. package/plugins/superharness/.codex-plugin/plugin.json +31 -0
  9. package/plugins/superharness/.mcp.json +9 -0
  10. package/plugins/superharness/CODE_OF_CONDUCT.md +79 -0
  11. package/plugins/superharness/LICENSE +21 -0
  12. package/plugins/superharness/README.md +57 -0
  13. package/plugins/superharness/agents/code-reviewer.md +48 -0
  14. package/plugins/superharness/archived-skills/using-superpowers/SKILL.md +140 -0
  15. package/plugins/superharness/archived-skills/using-superpowers/references/codex-tools.md +25 -0
  16. package/plugins/superharness/archived-skills/using-superpowers/references/copilot-tools.md +52 -0
  17. package/plugins/superharness/archived-skills/using-superpowers/references/gemini-tools.md +33 -0
  18. package/plugins/superharness/archived-skills/using-superpowers/references/hermes-tools.md +44 -0
  19. package/plugins/superharness/commands/free.md +6 -0
  20. package/plugins/superharness/commands/rollback.md +30 -0
  21. package/plugins/superharness/commands-codex/free.md +29 -0
  22. package/plugins/superharness/commands-codex/rollback.md +33 -0
  23. package/plugins/superharness/hooks/hooks-codex.json +50 -0
  24. package/plugins/superharness/hooks/hooks.json +50 -0
  25. package/plugins/superharness/hooks/lib/free-mode-check.mjs +27 -0
  26. package/plugins/superharness/hooks/run-hook.cmd +58 -0
  27. package/plugins/superharness/hooks/workflow-context +4 -0
  28. package/plugins/superharness/hooks/workflow-context.mjs +184 -0
  29. package/plugins/superharness/hooks/workflow-post-transition +4 -0
  30. package/plugins/superharness/hooks/workflow-post-transition.mjs +89 -0
  31. package/plugins/superharness/hooks/workflow-pre-tool-use +4 -0
  32. package/plugins/superharness/hooks/workflow-pre-tool-use.mjs +97 -0
  33. package/plugins/superharness/hooks/workflow-stop +4 -0
  34. package/plugins/superharness/hooks/workflow-stop.mjs +136 -0
  35. package/plugins/superharness/scripts/rollback.mjs +86 -0
  36. package/plugins/superharness/scripts/set-free-mode.mjs +77 -0
  37. package/plugins/superharness/skills/brainstorming/SKILL.md +182 -0
  38. package/plugins/superharness/skills/brainstorming/scripts/frame-template.html +214 -0
  39. package/plugins/superharness/skills/brainstorming/scripts/helper.js +88 -0
  40. package/plugins/superharness/skills/brainstorming/scripts/server.cjs +338 -0
  41. package/plugins/superharness/skills/brainstorming/scripts/start-server.sh +153 -0
  42. package/plugins/superharness/skills/brainstorming/scripts/stop-server.sh +55 -0
  43. package/plugins/superharness/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  44. package/plugins/superharness/skills/brainstorming/visual-companion.md +286 -0
  45. package/plugins/superharness/skills/chinese-code-review/SKILL.md +277 -0
  46. package/plugins/superharness/skills/chinese-commit-conventions/SKILL.md +364 -0
  47. package/plugins/superharness/skills/chinese-documentation/SKILL.md +448 -0
  48. package/plugins/superharness/skills/chinese-git-workflow/SKILL.md +547 -0
  49. package/plugins/superharness/skills/dispatching-parallel-agents/SKILL.md +186 -0
  50. package/plugins/superharness/skills/exploration/SKILL.md +197 -0
  51. package/plugins/superharness/skills/finishing/SKILL.md +200 -0
  52. package/plugins/superharness/skills/intake/SKILL.md +134 -0
  53. package/plugins/superharness/skills/mcp-builder/SKILL.md +255 -0
  54. package/plugins/superharness/skills/parallel-execution/SKILL.md +368 -0
  55. package/plugins/superharness/skills/parallel-execution/implementer-prompt.md +144 -0
  56. package/plugins/superharness/skills/parallel-execution/spec-reviewer-prompt.md +84 -0
  57. package/plugins/superharness/skills/parallel-execution/wave-final-manual-qa-prompt.md +61 -0
  58. package/plugins/superharness/skills/parallel-execution/wave-final-quality-prompt.md +59 -0
  59. package/plugins/superharness/skills/parallel-execution/wave-final-scope-fidelity-prompt.md +69 -0
  60. package/plugins/superharness/skills/parallel-execution/wave-final-spec-prompt.md +56 -0
  61. package/plugins/superharness/skills/planning/SKILL.md +265 -0
  62. package/plugins/superharness/skills/planning/plan-document-reviewer-prompt.md +80 -0
  63. package/plugins/superharness/skills/receiving-code-review/SKILL.md +213 -0
  64. package/plugins/superharness/skills/requesting-code-review/SKILL.md +107 -0
  65. package/plugins/superharness/skills/requesting-code-review/code-reviewer.md +146 -0
  66. package/plugins/superharness/skills/serial-execution/SKILL.md +183 -0
  67. package/plugins/superharness/skills/systematic-debugging/CREATION-LOG.md +119 -0
  68. package/plugins/superharness/skills/systematic-debugging/SKILL.md +320 -0
  69. package/plugins/superharness/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  70. package/plugins/superharness/skills/systematic-debugging/condition-based-waiting.md +115 -0
  71. package/plugins/superharness/skills/systematic-debugging/defense-in-depth.md +122 -0
  72. package/plugins/superharness/skills/systematic-debugging/find-polluter.sh +63 -0
  73. package/plugins/superharness/skills/systematic-debugging/root-cause-tracing.md +169 -0
  74. package/plugins/superharness/skills/systematic-debugging/test-academic.md +14 -0
  75. package/plugins/superharness/skills/systematic-debugging/test-pressure-1.md +58 -0
  76. package/plugins/superharness/skills/systematic-debugging/test-pressure-2.md +68 -0
  77. package/plugins/superharness/skills/systematic-debugging/test-pressure-3.md +69 -0
  78. package/plugins/superharness/skills/test-driven-development/SKILL.md +371 -0
  79. package/plugins/superharness/skills/test-driven-development/testing-anti-patterns.md +299 -0
  80. package/plugins/superharness/skills/trivial/SKILL.md +118 -0
  81. package/plugins/superharness/skills/using-git-worktrees/SKILL.md +218 -0
  82. package/plugins/superharness/skills/verification/SKILL.md +139 -0
  83. package/plugins/superharness/skills/workflow-runner/SKILL.md +172 -0
  84. package/plugins/superharness/skills/writing-skills/SKILL.md +655 -0
  85. package/plugins/superharness/skills/writing-skills/anthropic-best-practices.md +1149 -0
  86. package/plugins/superharness/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  87. package/plugins/superharness/skills/writing-skills/graphviz-conventions.dot +172 -0
  88. package/plugins/superharness/skills/writing-skills/persuasion-principles.md +187 -0
  89. package/plugins/superharness/skills/writing-skills/render-graphs.js +168 -0
  90. package/plugins/superharness/skills/writing-skills/testing-skills-with-subagents.md +385 -0
  91. package/plugins/superharness/workflow/default-workflow.yaml +84 -0
  92. package/plugins/superharness/workflow-state-server/bootstrap.js +44 -0
  93. package/plugins/superharness/workflow-state-server/package-lock.json +2853 -0
  94. package/plugins/superharness/workflow-state-server/package.json +22 -0
  95. package/plugins/superharness/workflow-state-server/render-context.js +124 -0
  96. package/plugins/superharness/workflow-state-server/schema.sql +39 -0
  97. package/plugins/superharness/workflow-state-server/server.js +290 -0
  98. package/plugins/superharness/workflow-state-server/state.js +424 -0
  99. package/plugins/superharness/workflow-state-server/validate-workflow.js +165 -0
@@ -0,0 +1,547 @@
1
+ ---
2
+ name: chinese-git-workflow
3
+ description: 适配国内 Git 平台和团队习惯的工作流规范——Gitee、Coding、极狐 GitLab、CNB 全覆盖
4
+ ---
5
+
6
+ # 国内 Git 工作流规范
7
+
8
+ ## 概述
9
+
10
+ 国内团队用 Git 经常踩的坑:GitHub 访问不稳定、CI/CD 方案照搬国外水土不服、commit message 中英混杂没有规范。本技能提供一套**完整适配国内平台和团队习惯的 Git 工作流**。
11
+
12
+ **核心原则:** 工作流服务于团队效率,不是为了流程而流程。选适合团队规模的,别硬套大厂方案。
13
+
14
+ ## 国内 Git 平台适配
15
+
16
+ ### 平台对比
17
+
18
+ | 特性 | Gitee | Coding.net | 极狐 GitLab | CNB | GitHub |
19
+ |------|-------|------------|-------------|-----|--------|
20
+ | 国内访问 | 快 | 快 | 快 | 快 | 不稳定 |
21
+ | 免费私有仓库 | 有 | 有 | 有 | 有 | 有 |
22
+ | CI/CD | Gitee Go | Coding CI | 内置 GitLab CI | 内置(.cnb.yml) | GitHub Actions |
23
+ | 代码审查 | PR | MR | MR | MR | PR |
24
+ | 制品库 | 有限 | 完整 | 完整 | 完整 | Packages |
25
+ | 适合场景 | 开源/小团队 | 中大型团队 | 企业私有化 | 云原生 / Docker 流水线 | 国际项目 |
26
+
27
+ ### Gitee 特有配置
28
+
29
+ ```bash
30
+ # 设置 Gitee 远程仓库
31
+ git remote add origin https://gitee.com/<org>/<repo>.git
32
+
33
+ # Gitee 的 SSH 配置
34
+ # ~/.ssh/config
35
+ Host gitee.com
36
+ HostName gitee.com
37
+ User git
38
+ IdentityFile ~/.ssh/gitee_rsa
39
+ PreferredAuthentications publickey
40
+
41
+ # 同时推送到 Gitee 和 GitHub(镜像同步)
42
+ git remote set-url --add --push origin https://gitee.com/<org>/<repo>.git
43
+ git remote set-url --add --push origin https://github.com/<org>/<repo>.git
44
+ ```
45
+
46
+ ### Coding.net 特有配置
47
+
48
+ ```bash
49
+ # Coding 的仓库地址格式
50
+ git remote add origin https://e.coding.net/<team>/<project>/<repo>.git
51
+
52
+ # Coding 支持的 SSH 地址
53
+ git remote add origin git@e.coding.net:<team>/<project>/<repo>.git
54
+ ```
55
+
56
+ ### 极狐 GitLab 特有配置
57
+
58
+ ```bash
59
+ # 极狐 GitLab 私有化部署常见地址格式
60
+ git remote add origin https://jihulab.com/<group>/<repo>.git
61
+
62
+ # 或者企业内部部署
63
+ git remote add origin https://gitlab.yourcompany.com/<group>/<repo>.git
64
+ ```
65
+
66
+ ### CNB(Cloud Native Build)特有配置
67
+
68
+ ```bash
69
+ # CNB 仓库地址(仅支持 HTTPS,不提供 SSH 协议)
70
+ git remote add origin https://cnb.cool/<org>/<repo>.git
71
+
72
+ # HTTPS 认证:用户名固定为 cnb,密码为个人访问令牌(Access Token)
73
+ # 在 CNB 平台 → 个人设置 → 访问令牌 中生成
74
+ git config credential.helper store
75
+ ```
76
+
77
+ ## 工作流选择
78
+
79
+ ### 方案一:主干开发(Trunk-Based Development)
80
+
81
+ **适合:** 小团队(2-8 人)、迭代速度快、有完善的自动化测试。
82
+
83
+ ```
84
+ main ──●──●──●──●──●──●──●──●──●──
85
+ \ / \ / \ /
86
+ feat/x ●─● ●─● fix/y ●─●
87
+ (短命分支,1-2 天内合回)
88
+ ```
89
+
90
+ **规则:**
91
+ - 主干(main)始终保持可发布状态
92
+ - 功能分支生命周期不超过 2 天
93
+ - 每天至少合并一次到主干
94
+ - 用 Feature Flag 控制未完成功能的可见性
95
+
96
+ ```bash
97
+ # 从 main 拉分支
98
+ git checkout -b feat/user-login main
99
+
100
+ # 开发完成后,rebase 到最新 main
101
+ git fetch origin
102
+ git rebase origin/main
103
+
104
+ # 提交 PR/MR,合并后删除分支
105
+ ```
106
+
107
+ ### 方案二:Git Flow(经典分支模型)
108
+
109
+ **适合:** 中大团队、版本发布节奏固定(如双周迭代)、需要维护多个版本。
110
+
111
+ ```
112
+ main ──●────────────────●────────────── 生产环境
113
+ \ / \
114
+ release ●──●──●──●──● ●──●──●──●── 发布分支
115
+ \ /
116
+ develop ──●──●──●──●──●──●──●──●──●──●── 开发主线
117
+ \ / \ /
118
+ feat/x ●─● ●─────● 功能分支
119
+ \ /
120
+ fix/y ●─● 修复分支
121
+ ```
122
+
123
+ **分支说明:**
124
+ - `main` — 生产环境代码,只接受 release 和 hotfix 的合并
125
+ - `develop` — 开发主线,功能分支从这里拉出,合回这里
126
+ - `release/*` — 发布分支,从 develop 拉出,只修 bug 不加功能
127
+ - `feat/*` — 功能分支
128
+ - `hotfix/*` — 紧急修复,从 main 拉出,同时合回 main 和 develop
129
+
130
+ ### 方案三:国内团队常用简化流程
131
+
132
+ **适合:** 大多数国内中小团队的实际情况。
133
+
134
+ ```
135
+ main ──●──────●──────●──── 生产环境(受保护)
136
+ \ / \ /
137
+ dev ──●──●─●──●──●─●──── 开发/测试环境
138
+ \ / \ /
139
+ feat/x ●● ●● 功能分支
140
+ ```
141
+
142
+ **规则:**
143
+ - `main` 分支受保护,只能通过 PR/MR 合并
144
+ - `dev` 分支对应测试环境,自动部署
145
+ - 功能分支从 `dev` 拉出,合回 `dev`
146
+ - `dev` 测试通过后,合并到 `main` 进行发布
147
+
148
+ ## 分支命名规范
149
+
150
+ ### 国内团队常用命名
151
+
152
+ ```bash
153
+ # 功能分支
154
+ feat/user-login # 新功能
155
+ feat/JIRA-1234-order-refund # 关联任务编号
156
+
157
+ # 修复分支
158
+ fix/payment-callback # Bug 修复
159
+ fix/JIRA-5678-null-pointer # 关联 Bug 编号
160
+
161
+ # 发布分支
162
+ release/v2.1.0 # 版本发布
163
+ release/2024-03-sprint # 按迭代命名
164
+
165
+ # 紧急修复
166
+ hotfix/v2.0.1 # 线上紧急修复
167
+ hotfix/fix-login-crash # 描述性命名
168
+
169
+ # 个人分支(部分团队使用)
170
+ dev/zhangsan/feat-login # 个人开发分支
171
+ ```
172
+
173
+ ### 命名规则
174
+
175
+ 1. 全部小写,用 `-` 连接单词(不用下划线或驼峰)
176
+ 2. 前缀明确分支类型:`feat/`、`fix/`、`hotfix/`、`release/`
177
+ 3. 关联任务管理平台的编号(如有):`feat/TAPD-12345-description`
178
+ 4. 长度适中,能看出分支目的即可
179
+
180
+ ## 中文 Commit Message 规范
181
+
182
+ ### 约定式提交(Conventional Commits)中文版
183
+
184
+ ```
185
+ <类型>(<范围>): <简要描述>
186
+ ← 空行
187
+ <正文(可选)>
188
+ ← 空行
189
+ <脚注(可选)>
190
+ ```
191
+
192
+ ### 类型清单
193
+
194
+ | 类型 | 说明 | emoji(可选) |
195
+ |------|------|--------------|
196
+ | feat | 新增功能 | ✨ |
197
+ | fix | 修复 Bug | 🐛 |
198
+ | docs | 文档更新 | 📝 |
199
+ | style | 代码格式(不影响逻辑) | 💄 |
200
+ | refactor | 重构(不是新功能也不是修 Bug) | ♻️ |
201
+ | perf | 性能优化 | ⚡ |
202
+ | test | 测试相关 | ✅ |
203
+ | build | 构建系统或外部依赖 | 📦 |
204
+ | ci | CI/CD 配置 | 👷 |
205
+ | chore | 其他杂项 | 🔧 |
206
+ | revert | 回滚 | ⏪ |
207
+
208
+ ### 好的 commit message
209
+
210
+ ```
211
+ feat(购物车): 支持批量删除商品
212
+
213
+ - 新增全选/反选功能
214
+ - 删除操作增加二次确认弹窗
215
+ - 批量删除接口使用 POST /cart/batch-delete
216
+
217
+ 关联需求:TAPD-12345
218
+ ```
219
+
220
+ ```
221
+ fix(支付): 修复微信支付在 iOS 16 上无法唤起的问题
222
+
223
+ 原因:微信 SDK 8.0.33 版本在 iOS 16 上 Universal Links 校验逻辑变更,
224
+ 导致 openURL 回调失败。
225
+
226
+ 方案:升级 SDK 至 8.0.38,并更新 Associated Domains 配置。
227
+
228
+ Closes #567
229
+ ```
230
+
231
+ ### 不好的 commit message
232
+
233
+ ```
234
+ # 太笼统
235
+ update code
236
+ fix bug
237
+ 修改了一些东西
238
+
239
+ # 没有上下文
240
+ fix: 修复问题
241
+ feat: 新增功能
242
+
243
+ # 中英混杂无规范
244
+ fix:修复了一个bug,因为user login的时候会crash
245
+ ```
246
+
247
+ ## CI/CD 平台适配
248
+
249
+ ### Gitee Go
250
+
251
+ ```yaml
252
+ # .gitee/pipelines/pipeline.yml
253
+ name: 构建与测试
254
+ displayName: '构建与测试流水线'
255
+
256
+ triggers:
257
+ push:
258
+ branches:
259
+ include:
260
+ - main
261
+ - dev
262
+
263
+ stages:
264
+ - name: 测试
265
+ jobs:
266
+ - name: 单元测试
267
+ steps:
268
+ - step: npmbuild@1
269
+ name: install_and_test
270
+ displayName: '安装依赖并执行测试'
271
+ inputs:
272
+ nodeVersion: 20
273
+ commands:
274
+ - npm ci
275
+ - npm test
276
+ ```
277
+
278
+ ### Coding CI
279
+
280
+ ```groovy
281
+ // Jenkinsfile(Coding CI 支持 Jenkinsfile 语法)
282
+ pipeline {
283
+ agent any
284
+
285
+ stages {
286
+ stage('安装依赖') {
287
+ steps {
288
+ sh 'npm ci'
289
+ }
290
+ }
291
+
292
+ stage('单元测试') {
293
+ steps {
294
+ sh 'npm test'
295
+ }
296
+ }
297
+
298
+ stage('构建') {
299
+ steps {
300
+ sh 'npm run build'
301
+ }
302
+ }
303
+
304
+ stage('部署到测试环境') {
305
+ when {
306
+ branch 'dev'
307
+ }
308
+ steps {
309
+ sh './scripts/deploy-staging.sh'
310
+ }
311
+ }
312
+
313
+ stage('部署到生产环境') {
314
+ when {
315
+ branch 'main'
316
+ }
317
+ steps {
318
+ sh './scripts/deploy-production.sh'
319
+ }
320
+ }
321
+ }
322
+
323
+ post {
324
+ failure {
325
+ // 企业微信/钉钉通知
326
+ sh './scripts/notify-failure.sh'
327
+ }
328
+ }
329
+ }
330
+ ```
331
+
332
+ ### 极狐 GitLab CI
333
+
334
+ ```yaml
335
+ # .gitlab-ci.yml
336
+ stages:
337
+ - test
338
+ - build
339
+ - deploy
340
+
341
+ variables:
342
+ NODE_IMAGE: node:20-alpine
343
+ # 使用国内镜像加速
344
+ NPM_REGISTRY: https://registry.npmmirror.com
345
+
346
+ 单元测试:
347
+ stage: test
348
+ image: $NODE_IMAGE
349
+ script:
350
+ - npm config set registry $NPM_REGISTRY
351
+ - npm ci
352
+ - npm test
353
+ coverage: '/Lines\s*:\s*(\d+\.?\d*)%/'
354
+
355
+ 构建:
356
+ stage: build
357
+ image: $NODE_IMAGE
358
+ script:
359
+ - npm config set registry $NPM_REGISTRY
360
+ - npm ci
361
+ - npm run build
362
+ artifacts:
363
+ paths:
364
+ - dist/
365
+
366
+ 部署测试环境:
367
+ stage: deploy
368
+ script:
369
+ - ./scripts/deploy-staging.sh
370
+ only:
371
+ - dev
372
+ environment:
373
+ name: staging
374
+
375
+ 部署生产环境:
376
+ stage: deploy
377
+ script:
378
+ - ./scripts/deploy-production.sh
379
+ only:
380
+ - main
381
+ environment:
382
+ name: production
383
+ when: manual # 生产环境手动触发
384
+ ```
385
+
386
+ ### CNB(Cloud Native Build)
387
+
388
+ ```yaml
389
+ # .cnb.yml — branch-first 结构,直接指定 Docker 镜像跑流水线
390
+ main:
391
+ push:
392
+ - docker:
393
+ image: node:20
394
+ stages:
395
+ - npm ci
396
+ - npm test
397
+ - npm run build
398
+ pull_request:
399
+ - docker:
400
+ image: node:20
401
+ stages:
402
+ - npm run lint
403
+ - npm test
404
+ ```
405
+
406
+ **特点:**
407
+ - 每个流水线独立指定 Docker 镜像,天然云原生
408
+ - 支持 `push` / `pull_request` 触发
409
+ - 同一事件可并行多条流水线
410
+ - `stages` 也支持 `- name: xxx` + `script:` 的展开形式,复杂场景见官方文档
411
+
412
+ ### GitHub Actions 国内替代方案对照
413
+
414
+ | GitHub Actions 功能 | Gitee Go | Coding CI | 极狐 GitLab CI | CNB |
415
+ |---------------------|----------|-----------|----------------|-----|
416
+ | 触发条件 | triggers | Jenkinsfile triggers | only/rules | push / pull_request |
417
+ | 缓存依赖 | cache step | stash/unstash | cache | 见官方文档 |
418
+ | 制品存储 | artifacts | 制品库 | artifacts | 见官方文档 |
419
+ | 环境变量 | env | environment | variables | env |
420
+ | 密钥管理 | 环境变量配置 | 凭据管理 | CI/CD Variables | Access Token |
421
+ | 手动触发 | 手动运行 | 手动触发 | when: manual | 页面手动运行 |
422
+
423
+ ## PR/MR 描述模板
424
+
425
+ ### 中文模板
426
+
427
+ 在仓库中创建 PR/MR 模板文件:
428
+
429
+ **Gitee:** `.gitee/PULL_REQUEST_TEMPLATE.md`
430
+
431
+ **Coding / GitLab:** `.gitlab/merge_request_templates/default.md`
432
+
433
+ ```markdown
434
+ ## 变更说明
435
+
436
+ <!-- 简要描述这次改动做了什么,解决了什么问题 -->
437
+
438
+ ## 变更类型
439
+
440
+ - [ ] 新功能(feat)
441
+ - [ ] Bug 修复(fix)
442
+ - [ ] 重构(refactor)
443
+ - [ ] 性能优化(perf)
444
+ - [ ] 文档更新(docs)
445
+ - [ ] 其他:
446
+
447
+ ## 关联信息
448
+
449
+ - 需求/Bug 链接:
450
+ - 设计文档:
451
+
452
+ ## 改动范围
453
+
454
+ <!-- 列出主要改动的模块和文件 -->
455
+
456
+ ## 测试情况
457
+
458
+ - [ ] 单元测试通过
459
+ - [ ] 手动测试通过
460
+ - [ ] 相关模块回归测试通过
461
+
462
+ ## 测试方法
463
+
464
+ <!-- 描述如何验证这次改动 -->
465
+
466
+ ## 影响范围
467
+
468
+ <!-- 这次改动可能影响哪些功能?是否需要通知其他团队? -->
469
+
470
+ ## 部署注意事项
471
+
472
+ - [ ] 需要执行数据库迁移
473
+ - [ ] 需要更新配置文件
474
+ - [ ] 需要更新环境变量
475
+ - [ ] 无特殊注意事项
476
+
477
+ ## 截图/录屏
478
+
479
+ <!-- 如果涉及 UI 变更,贴截图或录屏 -->
480
+ ```
481
+
482
+ ## 常用 Git 配置
483
+
484
+ ### 国内环境优化
485
+
486
+ ```bash
487
+ # 设置用户信息
488
+ git config --global user.name "张三"
489
+ git config --global user.email "zhangsan@company.com"
490
+
491
+ # commit message 编辑器设置为 VS Code
492
+ git config --global core.editor "code --wait"
493
+
494
+ # 解决中文文件名显示为转义字符的问题
495
+ git config --global core.quotepath false
496
+
497
+ # 设置默认分支名
498
+ git config --global init.defaultBranch main
499
+
500
+ # 代理设置(如果需要同时使用 GitHub)
501
+ git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
502
+
503
+ # NPM 使用国内镜像
504
+ npm config set registry https://registry.npmmirror.com
505
+ ```
506
+
507
+ ### .gitignore 国内项目常见配置
508
+
509
+ ```gitignore
510
+ # IDE
511
+ .idea/
512
+ .vscode/
513
+ *.swp
514
+
515
+ # 依赖
516
+ node_modules/
517
+ vendor/
518
+
519
+ # 构建产物
520
+ dist/
521
+ build/
522
+ *.exe
523
+
524
+ # 环境配置
525
+ .env
526
+ .env.local
527
+ .env.*.local
528
+
529
+ # 系统文件
530
+ .DS_Store
531
+ Thumbs.db
532
+ desktop.ini
533
+
534
+ # 国内平台特有
535
+ .coding/
536
+ ```
537
+
538
+ ## 检查清单
539
+
540
+ 在推送代码前,确认:
541
+
542
+ - [ ] 分支命名符合团队规范
543
+ - [ ] commit message 格式正确,类型和范围准确
544
+ - [ ] 关联了对应的需求/Bug 编号
545
+ - [ ] PR/MR 描述填写完整
546
+ - [ ] CI 流水线通过
547
+ - [ ] 已请求相关同事 Review