mcpField
C
configure-release-please

configure-release-please

github.com/laurigates云与 DevOps5956 次安装1 天前更新
代码仓库

关于 configure-release-please

此 Agent 技能检查并配置项目中的 release-please,包括工作流、配置文件和版本清单。它依据项目文件判断发布类型,并提供合规检查及自动修复选项。

主要功能

  1. 01检查 release-please 配置合规性
  2. 02根据项目文件判断发布类型
  3. 03验证工作流、令牌和权限
  4. 04创建或更新发布配置文件
  5. 05更新项目标准跟踪

适用场景

  1. 01为新项目配置 release-please
  2. 02审计现有发布工作流与配置
  3. 03为 monorepo 添加发布包配置
  4. 04修复过时操作版本或令牌设置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-release-please

安装后在 Claude Code 中输入/configure-release-please确认已加载。

附带文件REFERENCE.md

详细介绍

/configure:release-please

检查并根据项目标准配置 release-please。

何时使用此技能

在以下情况下使用此技能……在以下情况下采用其他方法……
从头开始为新项目设置 release-please手动编辑 CHANGELOG.md 或版本字段——改用常规提交
审核现有 release-please 配置是否合规创建一次性发布——直接使用 gh release create
将 release-please-action 升级到最新版本调试失败的发布 PR——直接检查 GitHub Actions 日志
确保工作流使用正确的令牌(MY_RELEASE_PLEASE_TOKEN)管理 npm/PyPI 发布——配置单独的发布工作流
向 monorepo 的 release-please 配置中添加新包编写常规提交消息——使用 /git:commit 技能

上下文

  • 工作流文件:!find .github/workflows -maxdepth 1 -name 'release-please*'
  • 配置文件:!find . -maxdepth 1 -name \'release-please-config.json\'
  • 清单文件:!find . -maxdepth 1 -name \'.release-please-manifest.json\'
  • 包文件:!find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'go.mod' \)
  • 工作流目录:!find . -maxdepth 1 -type d -name \'.github/workflows\'

引用的技能:release-please-standards、release-please-protection

参数

从命令参数中解析:

  • --check-only:报告状态,不提供修复方案
  • --fix:自动应用所有修复

执行

执行此 release-please 配置检查:

步骤 1:获取最新的 action 版本

运行此命令,动态获取当前的 release-please-action 版本:

curl -s https://api.github.com/repos/googleapis/release-please-action/releases/latest | jq -r '.tag_name'

参考资料:

步骤 2:检测项目类型

根据检测到的包文件确定适用的 release-type:

  • node:包含 package.json(前端/后端应用的默认类型)
  • python:包含 pyproject.toml,但不包含 package.json
  • helm:包含 Helm chart 的基础设施项目
  • simple:通用项目
步骤 3:分析合规性

工作流文件检查:

  • Action 版本:googleapis/release-please-action@v4
  • 令牌:使用 MY_RELEASE_PLEASE_TOKEN 密钥(而非 GITHUB_TOKEN)
  • 触发条件:推送到 main 分支
  • 权限:contents: write、pull-requests: write

配置文件检查:

  • release-type 与项目相符
  • changelog-sections 包含 feat 和 fix
  • 使用适当的插件(例如,Node 项目使用 node-workspace)

清单文件检查:

  • JSON 结构有效
  • 包路径与配置相符
步骤 4:生成合规报告

打印格式化的合规报告,显示文件状态和配置检查结果。如果设置了 --check-only,则在此处停止。

报告格式请参阅 REFERENCE.md。

步骤 5:应用配置(如果设置了 --fix 或用户确认)
  1. 缺少工作流:根据标准模板创建
  2. 缺少配置:使用检测到的 release-type 创建
  3. 缺少清单:使用初始版本 0.0.0 创建
  4. Action 版本过旧:更新到 v4
  5. 令牌错误:改为使用 MY_RELEASE_PLEASE_TOKEN

标准模板请参阅 REFERENCE.md。

步骤 6:更新标准跟踪记录

更新 .project-standards.yaml:

components:
  release-please: "2025.1"

Agentic 优化

上下文命令
快速合规检查/configure:release-please --check-only
自动修复所有问题/configure:release-please --fix
检查最新的操作版本curl -s https://api.github.com/repos/googleapis/release-please-action/releases/latest | jq -r '.tag_name'
验证配置 JSONjq . release-please-config.json
验证清单 JSONjq . .release-please-manifest.json
检查工作流是否存在find .github/workflows -name 'release-please*'

重要说明

  • 需要在代码库设置中配置 MY_RELEASE_PLEASE_TOKEN 密钥
  • CHANGELOG.md 由 release-please 管理,请勿手动编辑
  • package.json/pyproject.toml 中的版本字段由系统自动管理
  • 可配合 conventional-pre-commit 钩子验证提交

另请参阅

  • /configure:pre-commit - 确保配置 conventional commits 钩子
  • /configure:all - 运行所有合规检查
  • release-please-protection 技能 - 受保护文件规则

评论

支持 Markdown