交互式Git配置设置Skill config-git

这个技能用于自动化和交互式地设置Git用户身份、配置项目特定的提交规范(如范围、类型和分支命名),并生成配置文件,以提高开发团队的协作效率和代码管理一致性。关键词:Git配置、提交规范、项目设置、DevOps、版本控制。

DevOps 0 次安装 0 次浏览 更新于 3/16/2026

name: config-git description: 交互式Git配置设置,用于用户身份和项目约定。在为新项目设置Git、配置提交范围/类型或创建项目特定的Git设置时使用。 user-invocable: true allowed-tools: [“Bash(git:)", "Bash(ls:)”, “Bash(find:*)”, “Read”, “Write”, “Glob”, “AskUserQuestion”] model: sonnet context: fork version: 0.1.0

交互式Git配置

设置Git用户身份并创建 .claude/git.local.md,包含约定提交范围、类型和分支命名约定。

当前Git配置上下文: !git config --list --show-origin


阶段1:验证用户身份

目标:确保git user.name和user.email已配置

操作

  1. 查看上面的“当前Git配置上下文”
  2. 检查user.nameuser.email是否已设置
  3. 如果任何一个缺失,使用AskUserQuestion请求缺失信息
  4. 使用git config全局(或如果用户指定则本地)设置值

阶段2:分析项目上下文

目标:理解项目结构和现有提交模式

操作

  1. 运行ls -Ffind . -maxdepth 2 -not -path '*/.*'以检测项目语言/框架
  2. 运行git log --format="%s" -n 50(如果git仓库存在)以分析现有提交消息模式和范围

阶段3:确定范围

目标:基于项目结构生成适当的提交范围

关键 - 范围命名规则

  • 所有范围必须简短(仅限单个单词或缩写)
  • 单个单词:按原样使用(例如,<word1>, <word2>, <word3>
  • 多词名称:必须转换为首字母(例如,<multi-word-name><mwn>, <another-example><ae>
  • 不得使用完整多词名称如<multi-word-name><another-example>作为范围

操作

  1. 基于分析提出提交范围列表
  2. 确保所有范围遵循上述命名规则
  3. 仅在存在真正歧义时请求用户输入

阶段4:生成配置文件

目标:使用示例模板的完整结构创建 .claude/git.local.md

关键 - 模板要求

  • 使用整个示例文件结构作为模板
  • 保留示例中的所有部分:
    • 包含scopestypesbranch_prefixesgitignore的YAML frontmatter
    • “# 项目特定的Git设置”部分
    • “## 用法”部分,包含所有要点
    • “## 附加指南”部分,包含所有要点

操作

  1. 读取示例配置文件:${CLAUDE_PLUGIN_ROOT}/examples/git.local.md
  2. 用确定的简短范围替换scopes列表
  3. 基于检测到的项目语言/框架更新gitignore技术
  4. 保持types为标准约定提交类型(除非用户请求更改)
  5. 保持branch_prefixes如示例所示(除非用户请求更改)
  6. 在项目根目录创建或覆盖.claude/git.local.md
  7. 读取文件以验证其匹配示例的完整结构

输出:带有项目特定配置的 .claude/git.local.md 文件


阶段5:确认

目标:通知用户配置成功

操作

  1. 确认配置完成
  2. 显示创建文件的位置