@zjex/git-workflow 0.2.5 → 0.2.7

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/README.md CHANGED
@@ -36,6 +36,7 @@
36
36
  ## 特性
37
37
 
38
38
  - ⚡️ **极速上手** - 零配置开箱即用,交互式菜单引导操作
39
+ - 🤖 **AI 智能提交** - 使用 AI 自动分析代码变更生成 commit message(支持 GitHub Models、Groq 等)
39
40
  - 🎯 **规范命名** - 自动生成带日期的规范分支名,告别命名混乱
40
41
  - 🏷️ **智能版本** - 自动识别当前版本,交互式选择下一版本(支持 semver + 预发布)
41
42
  - 📝 **规范提交** - 遵循 Conventional Commits + Gitmoji,提交信息更清晰
@@ -43,6 +44,7 @@
43
44
  - ⚙️ **灵活配置** - 支持项目级配置文件,不同项目不同规范
44
45
  - 🎨 **优雅交互** - 友好的命令行界面,支持键盘快捷操作
45
46
  - 📦 **轻量依赖** - 打包体积小,安装快速无负担
47
+ - 🔔 **版本提醒** - 自动检测新版本,一键更新
46
48
 
47
49
  ## 快速开始
48
50
 
@@ -348,12 +350,58 @@ gw st
348
350
 
349
351
  遵循 [Conventional Commits](https://www.conventionalcommits.org/zh-hans/) 规范,并自动添加 [Gitmoji](https://gitmoji.dev/) 表情:
350
352
 
353
+ #### 🤖 AI 自动生成(推荐)
354
+
355
+ 使用 AI 自动分析代码变更生成 commit message:
356
+
357
+ ```bash
358
+ gw c
359
+ # 已暂存的文件:
360
+ # src/ai-service.ts
361
+ # src/commands/commit.ts
362
+ # ────────────────────────────────────────
363
+ # ? 选择 commit 方式:
364
+ # ❯ 🤖 AI 自动生成 commit message
365
+ # ✍️ 手动编写 commit message
366
+ #
367
+ # ✔ AI 生成完成
368
+ #
369
+ # AI 生成的 commit message:
370
+ # feat(ai): 添加 AI commit message 自动生成功能
371
+ # ────────────────────────────────────────
372
+ # ? 使用这个 commit message?
373
+ # ❯ ✅ 使用
374
+ # ❌ 不使用,切换到手动模式
375
+ ```
376
+
377
+ **特点:**
378
+
379
+ - ⚡️ 快速:2-3 秒生成
380
+ - 🎯 准确:自动识别 feat/fix/docs 等类型
381
+ - 📝 规范:符合 Conventional Commits
382
+ - 🇨🇳 支持中英文
383
+ - 🔄 可预览、可拒绝、可降级到手动模式
384
+
385
+ **支持的 AI 提供商:**
386
+
387
+ - **GitHub Models**(免费,推荐)- 使用 GitHub 账号,每天 150 次
388
+ - **Groq**(免费)- 需要注册,每天 14,400 次
389
+ - **OpenAI**(付费)- 需要 API key
390
+ - **Claude**(付费)- 需要 API key
391
+ - **Ollama**(本地)- 需要安装 Ollama
392
+
393
+ #### ✍️ 手动编写
394
+
351
395
  ```bash
352
396
  gw c
353
397
  # 已暂存的文件:
354
398
  # src/index.ts
355
399
  # src/utils.ts
356
400
  # ────────────────────────────────────────
401
+ # ? 选择 commit 方式:
402
+ # 🤖 AI 自动生成 commit message
403
+ # ❯ ✍️ 手动编写 commit message
404
+ #
357
405
  # ? 选择提交类型:
358
406
  # ✨ feat 新功能
359
407
  # 🐛 fix 修复 Bug
@@ -369,7 +417,9 @@ gw c
369
417
  # ? 输入影响范围 scope (可跳过): auth
370
418
  # ? 输入简短描述: add login validation
371
419
  # ? 输入详细描述 (可跳过):
372
- # ? 是否包含破坏性变更 (BREAKING CHANGE)? No
420
+ # ? 是否包含破坏性变更 (BREAKING CHANGE)?
421
+ # ❯ 否
422
+ # 是
373
423
  # ? 关联 Issue (如 #123, 可跳过): #42
374
424
  # ────────────────────────────────────────
375
425
  # 提交信息预览:
@@ -377,11 +427,15 @@ gw c
377
427
  #
378
428
  # #42
379
429
  # ────────────────────────────────────────
380
- # ? 确认提交? Yes
430
+ # ? 确认提交?
431
+ # ❯ ✅ 确认提交
432
+ # ❌ 取消
381
433
  # ✔ 提交成功
382
434
  # commit: a1b2c3d
383
435
  ```
384
436
 
437
+ #### 自动暂存
438
+
385
439
  如果没有暂存的更改,根据配置决定行为:
386
440
 
387
441
  **默认行为(`autoStage: true`):**
@@ -434,7 +488,15 @@ gw c
434
488
  "defaultTagPrefix": "v",
435
489
  "autoPush": true,
436
490
  "autoStage": true,
437
- "useEmoji": true
491
+ "useEmoji": true,
492
+ "aiCommit": {
493
+ "enabled": true,
494
+ "provider": "github",
495
+ "apiKey": "",
496
+ "model": "gpt-4o-mini",
497
+ "language": "zh-CN",
498
+ "maxTokens": 200
499
+ }
438
500
  }
439
501
  ```
440
502
 
@@ -453,11 +515,59 @@ gw c
453
515
  | `autoStage` | `boolean` | `true` | commit 时是否自动暂存所有更改 |
454
516
  | `useEmoji` | `boolean` | `true` | commit 时是否使用 emoji |
455
517
  | `commitEmojis` | `object` | - | 自定义各类型 commit 的 emoji |
518
+ | `aiCommit` | `object` | - | AI commit 配置 |
519
+
520
+ #### AI Commit 配置项
521
+
522
+ | 配置项 | 类型 | 默认值 | 说明 |
523
+ | -------------------- | --------- | ---------- | ------------------------------------------------------------- |
524
+ | `aiCommit.enabled` | `boolean` | `true` | 是否启用 AI commit 功能 |
525
+ | `aiCommit.provider` | `string` | `"github"` | AI 提供商:`github` / `groq` / `openai` / `claude` / `ollama` |
526
+ | `aiCommit.apiKey` | `string` | - | API key,留空使用内置 key |
527
+ | `aiCommit.model` | `string` | 根据提供商 | 模型名称 |
528
+ | `aiCommit.language` | `string` | `"zh-CN"` | 生成语言:`zh-CN` / `en-US` |
529
+ | `aiCommit.maxTokens` | `number` | `200` | 最大 token 数 |
456
530
 
457
531
  ### 常见配置场景
458
532
 
459
533
  <details>
460
- <summary><b>场景一:强制要求关联 Issue</b></summary>
534
+ <summary><b>场景一:启用 AI Commit(推荐)</b></summary>
535
+
536
+ ```json
537
+ {
538
+ "aiCommit": {
539
+ "enabled": true,
540
+ "provider": "github",
541
+ "language": "zh-CN"
542
+ }
543
+ }
544
+ ```
545
+
546
+ **说明:**
547
+
548
+ - 使用 GitHub Models(免费)
549
+ - 生成中文 commit message
550
+ - 使用内置 API key(开箱即用)
551
+
552
+ 如果想使用自己的 key:
553
+
554
+ ```json
555
+ {
556
+ "aiCommit": {
557
+ "enabled": true,
558
+ "provider": "github",
559
+ "apiKey": "ghp_your_token_here",
560
+ "language": "zh-CN"
561
+ }
562
+ }
563
+ ```
564
+
565
+ 获取 GitHub Token:https://github.com/settings/tokens/new
566
+
567
+ </details>
568
+
569
+ <details>
570
+ <summary><b>场景二:强制要求关联 Issue</b></summary>
461
571
 
462
572
  ```json
463
573
  {