mcpField
J
jackin-release-check

jackin-release-check

github.com/jackin-project测试与质量3469 次安装4 周前更新
代码仓库

关于 jackin-release-check

用于检查 jackin 项目是否具备发布条件的技能。它运行仓库的 CI、格式检查、静态分析、测试、文档链接、TODO、安全例外和提交审计,并报告通过、阻断、警告或跳过状态。

主要功能

  1. 01检查变更路径对应的 CI 工作流
  2. 02运行格式与静态分析检查
  3. 03运行测试套件
  4. 04验证文档内部链接
  5. 05检查 TODO 时效性和安全例外
  6. 06审计提交与已合并拉取请求

适用场景

  1. 01发布前检查项目就绪情况
  2. 02定位阻断发布的 CI、静态分析或测试失败
  3. 03检查文档链接和过期 TODO
  4. 04发布前确认安全例外

安装

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

$npx skills add https://github.com/jackin-project/jackin-dev --skill jackin-release-check

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

附带文件agents/openai.yaml

详细介绍

jackin-release-check

运行发布就绪关卡。每个关卡只有两种结果——绿色表示通过,红色表示阻止发布。只有所有关卡都为绿色时,发布才算就绪(警告会显示,但不会阻止发布)。这些命令来自仓库自身(CONTRIBUTING.md 中的合并就绪检查和 .github/workflows/ci.yml),绝不能用精简替代命令。

适用场景

  • 发布前,或操作人员询问项目是否已准备好发布时。

不适用场景

  • 实际执行发布 → jackin-release(它会将此技能作为第一个关卡运行)。

流程

按顺序运行每个关卡;将绿色、红色或跳过的结果汇总为每个关卡一行的报告。

  1. CI 关卡。 gh run list --workflow=ci.yml --branch=main --limit=1 --json conclusion --jq '.[0].conclusion' —— 只有结果为 success 才算绿色。如果自上一个标签以来 docker/construct/** 或 docs/** 有变更(git diff --name-only <last-tag>..HEAD -- <path>),还要求 construct.yml / docs.yml 在 main 上为绿色。

    完成条件:每个拥有已变更路径的 CI 工作流都为绿色。

  2. 静态检查关卡。 cargo fmt --check;cargo clippy --all-targets --all-features -- -D warnings。出现任何违规即为红色。

    完成条件:两条命令的退出码均为 0。

  3. 测试关卡。 cargo nextest run --all-features;cargo nextest run -p jackin --features e2e --profile docker-e2e。出现任何失败即为红色。

    完成条件:两套测试均通过。

  4. 文档链接关卡。 遍历 docs/content/docs/ 下的内部链接(相对路径和 href);验证每个目标文件都存在。只有指向已发布页面的链接损坏时才标记为红色;无法访问的外部 URL 标记为警告。

    完成条件:每个内部链接都能解析。

  5. TODO 时效性。 阅读 TODO.md 和 todo/;标记引用已完成工作或近期没有活动的条目。此项只发出警告,不阻止发布。

    完成条件:每个 TODO 条目都仍然有效或已标记为过时。

  6. 安全例外。 阅读 SECURITY_EXCEPTIONS.md;询问操作人员每条记录是否仍然有效。在得到确认,或更新文件并重新读取之前,此项保持待审核状态(阻止发布)。

    完成条件:操作人员确认目录内容。

  7. 直接提交审计。 git log <last-tag>..HEAD --oneline --no-merges;对于每个提交,运行 gh pr list --state merged --search "<sha>"。没有对应 PR 的提交标记为警告,不阻止发布。

    完成条件:自上一个标签以来,每个非合并提交都已匹配到 PR 或列为未归组提交。

报告

每个关卡一行:✓ 表示绿色,✗ 表示红色(阻止发布),⚠ 表示警告,- 表示跳过。红色关卡会停止发布;警告会显示,由操作人员决定接受或修复。

常见错误

  • 运行 cargo test --locked 或 cargo clippy -- -D warnings(精简参数)——这些不是仓库的关卡;实际命令包含 --all-targets --all-features,并使用 nextest。
  • 将警告当作阻止条件,或将红色关卡当作警告。
  • 自上一个标签以来 docker/ 或 docs/ 有变更时,跳过对应路径的 CI 工作流。
  • 凭空设计文档链接检查,而不是遍历实际的 docs/content/docs/ 目录树。

评论

支持 Markdown