约定式提交服务

一个基于MCP协议的约定式提交消息生成与验证服务,支持智能提交生成和Git集成。

  • by 606
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 606/avro-mcp-conv-commit-vs

使用说明

Avro MCP 传统提交服务器

一个用于辅助生成和验证传统提交信息的MCP(模型上下文协议)服务器,采用C#语言构建,遵循清晰架构设计。

特点/特性

  • 验证常规提交信息
  • 生成常规的提交信息
  • 将提交信息解析为组件
  • 从Git仓库中检索最近的提交信息
  • 新 基于当前Git更改的智能提交生成

可用的工具

  • validate_commit - 验证提交信息是否符合常规提交标准
  • generate_commit - 使用提供的参数生成一个常规的提交信息
  • parse_commit - 解析传统提交信息并将其分解为各个组件
  • get_recent_commits - 从Git仓库中检索最近的提交信息
  • generate_smart_commit - 新 分析当前的Git更改并生成合适的提交信息

📋 使用示例

示例1 - 验证:

User: "перевір цей коміт: feat: add login form"
AI: [використає validate_commit] "Commit message is valid."

示例2 - 生成:

User: "створи коміт для виправлення бага в базі даних"
AI: [використає generate_commit] "fix(db): resolve database connection issue"

示例3 - 智能生成(NEW):

User: "згенеруй коміт на основі поточних змін"
AI: [використає generate_smart_commit] "feat: add smart commit generation with git analysis

Generated-by: avro-mcp-conv-commit"

示例4 - 带属性的生成:

User: "створи коміт типу feat з описом 'add user login' та додай атрибуцію"
AI: [використає generate_commit з includeAttribution=true] "feat: add user login

Generated-by: avro-mcp-conv-commit"

示例5 - 获取历史记录:

User: "які останні коміти були?"
AI: [використає get_recent_commits] 
"1. feat: add user authentication
2. fix: resolve login bug  
3. docs: update README"

🔍 识别错误来源

由MCP服务器生成的提交(commit)包含一个用于透明度的特殊页脚:

Generated-by: avro-mcp-conv-commit

这有助于区分:

  • 手动委员会 - 由开发者手动编写
  • AI生成的委员会 - 通过MCP由AI助手创建
  • MCP生成的委员会 - 服务器自动生成,附带属性## 安装
  1. 克隆此仓库
  2. 构建项目:
    dotnet build
    

在VSCode中的使用

  1. 以发布模式构建项目:

    dotnet publish src/AvroMcpConvCommit.Presentation/AvroMcpConvCommit.Presentation.csproj -c Release
    
  2. 配置 VSCode MCP 设置。在您的 VSCode 设置(或 Cursor 设置)中添加:

    {
      "mcp": {
        "servers": {
          "avro-mcp-conv-commit": {
            "command": "dotnet",
            "args": [
              "C:\\path\\to\\AvroMcpConvCommit.Presentation.dll"
            ]
          }
        }
      }
    }
    

    替换 C:\\path\\to\\AvroMcpConvCommit.Presentation.dll 以及已发布的 DLL 文件的实际路径。

备选方案:作为NuGet工具安装

  1. 打包项目:

    dotnet pack src/AvroMcpConvCommit.Presentation/AvroMcpConvCommit.Presentation.csproj -o nupkg
    
  2. 全局安装:

    dotnet tool install --global AvroMcpConvCommit --version 1.0.0
    
  3. 配置 VSCode:

    {
      "mcp": {
        "servers": {
          "avro-mcp-conv-commit": {
            "command": "avro-mcp-conv-commit"
          }
        }
      }
    }
    

建筑

这个项目遵循了整洁架构原则:

  • **领域(或域名)**核心业务实体和逻辑
  • 应用用例和接口
  • 基础设施外部依赖(Git 集成)
  • 演示MCP服务器实现

每一层都在一个独立的项目中,而每个类/接口/枚举都在其各自的文件中。