返回顶部
p

panda-git-commit熊猫Git提交

>-

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
98
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

panda-git-commit

panda-git-commit

智能 Git Commit Message 生成器。自动检测项目已有的 commit 规范配置(commitlint / commitizen / git history 模式),在严格遵守项目规范的前提下融合最佳实践。支持 monorepo scope 自动检测、变更智能拆分、语言自动适配。

脚本目录

脚本位于本 SKILL.md 所在目录的 scripts/ 子目录中。

Agent 执行指引

  1. 1. 确定本 SKILL.md 文件所在目录路径为 {baseDir}
  2. 脚本路径 = {baseDir}/scripts/.ts
  3. 解析 ${BUNX} 运行时:如果 bun 已安装 → bun;如果 npx 可用 → npx -y bun;否则提示安装 bun
  4. 将本文档中所有 {baseDir} 和 ${BUNX} 替换为实际值

脚本清单

脚本用途
scripts/main.tsCLI 入口,分析 git 变更并输出结构化结果
scripts/analyzer.ts
Git diff 分析、语言检测 |
| scripts/scope-detector.ts | Monorepo 结构检测、scope 推导 |
| scripts/convention-detector.ts | 项目 commit 规范检测(commitlint / commitizen / git history) |
| scripts/splitter.ts | 按功能维度拆分变更 |
| scripts/extend-generator.ts | EXTEND.md 解析、生成、合并(--init 命令支持) |

偏好设置 (EXTEND.md)

检查 EXTEND.md 是否存在(按优先级顺序):

bash
test -f .panda-skills/panda-git-commit/EXTEND.md && echo project
test -f ${XDGCONFIGHOME:-$HOME/.config}/panda-skills/panda-git-commit/EXTEND.md && echo xdg
test -f $HOME/.panda-skills/panda-git-commit/EXTEND.md && echo user

路径位置
.panda-skills/panda-git-commit/EXTEND.md项目目录(团队共享)
$XDGCONFIGHOME/panda-skills/panda-git-commit/EXTEND.md
XDG 配置 | | $HOME/.panda-skills/panda-git-commit/EXTEND.md | 用户主目录 |
结果操作
找到(含 Convention 区块)直接读取缓存,跳过 convention/monorepo 检测脚本
找到(无 Convention 区块)
读取已有设置,仍运行检测脚本补充缺失信息 | | 未找到 | 运行全部检测脚本,提示用户执行 --init 缓存结果 |

自动生成:运行 --init 可自动检测项目信息并生成 EXTEND.md(写入项目级路径)。--init 只补充缺失区块,不覆盖用户手动配置;--refresh 强制重新检测并覆盖。

EXTEND.md 支持的配置:语言 | subject 最大长度 | body 换行宽度 | emoji 开关 | 项目规范缓存 | 自定义 type | scope 映射 | scope 别名 | 消息模板

详细格式:references/extend-schema.md

默认值

所有可配置项及默认值。EXTEND.md 覆盖这些默认值;CLI 参数覆盖 EXTEND.md。

设置项默认值EXTEND.md 键CLI 参数描述
语言autolanguage--langauto = 从 git log 自动检测
Subject 最大长度
72 | maxsubjectlength | — | subject 行最大字符数 |
| Body 换行 | 80 | body_wrap | — | body 自动换行宽度 |
| Emoji | false | emoji | --emoji | type 前是否添加 emoji |

用法

/panda-git-commit [options]

选项描述
--init检测项目信息并生成 EXTEND.md,缓存语言/规范/scope 映射
--refresh
强制重新检测并覆盖 EXTEND.md 中的所有检测结果 | | --split | 强制分析并建议将变更拆分为多个 commit | | --scope | 手动指定 scope,跳过自动检测 | | --type | 手动指定 commit type | | --lang | 本次手动指定语言(zh / en / ja 等) | | --dry-run | 仅预览生成的 commit message,不执行 git commit | | --emoji | 在 type 前添加 emoji | | --with-diff | 在 JSON 输出中包含原始 diff 内容 |

工作流程

步骤 0: --init / --refresh 模式

如果用户传入 --init 或 --refresh:

  1. 1. 运行所有检测脚本(语言、规范、monorepo)
  2. 生成 EXTEND.md 写入 .panda-skills/panda-git-commit/EXTEND.md
  3. --init:只补充缺失区块,不覆盖用户手动配置
  4. --refresh:强制重新检测并覆盖所有检测结果
  5. 输出摘要后退出,不进入 commit 流程

步骤 1: 加载配置

1.1 检查 EXTEND.md(见偏好设置章节)

1.2 缓存判断:如果 EXTEND.md 存在且包含 ## Convention 区块:

  • - 直接从 EXTEND.md 读取语言、规范、scope 映射
  • 跳过步骤 2、3、4 的检测脚本执行
  • 仅运行 analyzeDiff()(步骤 5,每次必须执行)

1.3 如果 EXTEND.md 不存在或缺少 Convention 区块:

  • - 运行全部检测脚本(步骤 2、3、4)
  • 在输出中附带提示:「运行 /panda-git-commit --init 可缓存项目配置」

1.4 合并配置优先级:CLI 参数 > EXTEND.md > 自动检测 > 默认值

步骤 2: 检测 Commit 语言(可由缓存跳过)

语言无需手动设置,自动从 git history 推断。若 EXTEND.md 已缓存 language 设置,跳过本步骤。

检测逻辑(scripts/analyzer.ts):

  1. 1. 运行 git log --oneline -20 获取最近 20 条 commit message
  2. 分析每条 message 的语言特征:
- 含中文字符(\u4e00-\u9fff)→ zh - 含日文假名(\u3040-\u309f\u30a0-\u30ff)→ ja - 含韩文字符(\uac00-\ud7af)→ ko - 纯 ASCII → en
  1. 3. 按比例投票,取占比最高的语言
  2. 全新仓库(无历史 commit)→ 默认 en

优先级(高 → 低):

  1. 1. --lang CLI 参数 — 用户本次显式指定
  2. EXTEND.md language 设置(非 auto)— 用户持久化偏好
  3. git log 自动检测 — 零配置自动适配
  4. 兜底默认值 — en

步骤 3: 检测项目 Commit 规范(可由缓存跳过)

若 EXTEND.md 已缓存 Convention 区块,跳过本步骤,直接使用缓存值。

运行 ${BUN_X} {baseDir}/scripts/convention-detector.ts 检测项目规范。

检测策略(详见 references/convention-detection.md):

按优先级检测,命中即采用:

  1. 1. commitlint 配置 — .commitlintrc.、commitlint.config.、package.json commitlint 字段
  2. commitizen 配置 — .czrc、.cz-config.js、package.json config.commitizen 字段
  3. git hooks — .husky/commit-msg、.git/hooks/commit-msg 中引用了 commitlint
  4. git history 模式分析 — 分析最近 50 条 commit,识别 Conventional Commits / Jira 前缀 / Emoji 前缀等模式
  5. 默认规范 — 使用 Conventional Commits 最佳实践

合并策略(项目规范 + 最佳实践):

项目配置是「硬约束」,我们的最佳实践是「软增强」。二者合并,不冲突的最佳实践自动生效:

| 项目已配置 | 我们的最佳实践 | 结果 |
|-----------|--------------|------|
| types: [

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 panda-git-commit-1775919064 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 panda-git-commit-1775919064 技能

通过命令行安装

skillhub install panda-git-commit-1775919064

下载

⬇ 下载 panda-git-commit v1.0.2(免费)

文件大小: 32.34 KB | 发布时间: 2026-4-12 10:55

v1.0.2 最新 2026-4-12 10:55
增加初次运行缓存,记住当前项目的提交习惯(语言\规范\限制)

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部