mcpField
H
homebrew-formula-maintenance

homebrew-formula-maintenance

github.com/bobmatnyc开发78361 次安装15 周前更新
代码仓库

关于 homebrew-formula-maintenance

用于维护 PyPI 上 Python 命令行工具对应 Homebrew formula 的工作流技能,涵盖版本与校验和更新、依赖资源刷新、测试审计及可选的 CI tap 更新。

主要功能

  1. 01验证 PyPI 发行版本及源码校验和
  2. 02更新 formula URL 和 SHA256
  3. 03重新生成 Python 依赖资源
  4. 04运行 brew 安装、测试、审计和样式检查
  5. 05通过 CI 自动更新 tap

适用场景

  1. 01在 PyPI 发布后更新 formula
  2. 02依赖变更后刷新资源配置
  3. 03推送 tap 更新前验证 formula

安装

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

$npx skills add https://github.com/bobmatnyc/claude-mpm-skills --skill homebrew-formula-maintenance

安装后在 Claude Code 中输入/homebrew-formula-maintenance确认已加载。

附带文件metadata.json

详细介绍

Homebrew 配方维护

概述

使用此工作流,让用于 Python CLI 的 Homebrew 配方与 PyPI 发布版本保持同步。你的 tap 中采用的模式是:更新版本号和 sha、按需刷新资源代码块、运行 brew install/test/audit,然后推送 tap 更新(手动或通过 CI)。

快速开始(手动更新版本)

  1. 确认 PyPI 上已发布该版本,并获取 sdist URL 和 SHA256。
  2. 更新配方中的 url 和 sha256。
  3. 如果配方使用 virtualenv_install_with_resources,请刷新 resource 代码段。
  4. 测试:brew install --build-from-source + brew test + brew audit --strict。
  5. 更新变更日志/标签并推送 tap 仓库。

已在使用的本地脚本

  • homebrew-claude-mpm/scripts/update_formula.sh <version>
    • 验证 PyPI 信息、更新 url/sha、重新生成资源,可选择运行 brew test/audit。
  • homebrew-claude-mpm/scripts/generate_resources.py
    • 从 PyPI 生成 Python 依赖的 resource 代码块。
  • homebrew-claude-mpm/scripts/test_formula.sh
    • 端到端执行 brew 安装/测试/审计/样式检查。
  • mcp-vector-search/scripts/update_homebrew_formula.py
    • 端到端更新 tap,支持 --dry-run、--version、--tap-repo-path 和 HOMEBREW_TAP_TOKEN。

标准工作流

1. 确认 PyPI 发布版本
  • 检查 sdist 是否可用,并记录 URL/SHA。
  • 常用命令:curl -s https://pypi.org/pypi/<package>/<version>/json。
2. 更新配方 URL 和 SHA
  • 替换 Formula/<name>.rb 中的 url 和 sha256。
  • 配方版本号通过 sdist URL 隐式指定即可(你的 tap 采用此方式)。
3. 刷新资源(Python 虚拟环境配方)

如果配方使用 Language::Python::Virtualenv 和 virtualenv_install_with_resources:

  • 依赖项变更后重新生成 resource 代码段。
  • 使用 generate_resources.py 或同等工具;粘贴前检查输出。
4. 测试和审计

在 tap 仓库中运行以下命令:

brew install --build-from-source ./Formula/<name>.rb
brew test <name>
brew audit --strict ./Formula/<name>.rb
brew style ./Formula/<name>.rb
5. 提交并推送
  • 如果 tap 仓库会跟踪发布版本,请更新 CHANGELOG.md。
  • 按 tap 工作流要求提交、打标签并推送。

配方模式(来自你的 tap)

完整虚拟环境配方(claude-mpm)
  • include Language::Python::Virtualenv
  • virtualenv_install_with_resources
  • 用于固定依赖项的大型 resource 代码块
  • test do 使用 --version 等 CLI 命令和子命令
最简虚拟环境配方(mcp-vector-search)
  • 显式创建虚拟环境并运行 pip install -v buildpath
  • 使用 bin.install_symlink 安装 CLI 入口点
  • 最简 test do 使用 --version 和 --help

CI 自动化模式

你的 Homebrew 更新 GitHub Actions 工作流采用以下流程:

  • 在标签触发时运行,或在 CI 成功后通过 workflow_run 触发。
  • 运行 scripts/update_homebrew_formula.py。
  • 需要 HOMEBREW_TAP_TOKEN(以及可选的 HOMEBREW_TAP_REPO)。
  • 失败时,创建包含手动更新步骤的 issue。

故障排除

  • PyPI 上缺少发布版本:确认标签已推送且发布步骤已完成。
  • SHA 不匹配:从 PyPI JSON 重新获取 sdist 的 SHA。
  • brew audit 失败:确认依赖资源代码块与 sdist 匹配,并且存在 [email protected] 依赖项。
  • 安装失败:检查 [email protected] 依赖项和 virtualenv_install_with_resources 的用法。

相关技能

  • toolchains/universal/infrastructure/github-actions
  • toolchains/universal/infrastructure/docker

评论

支持 Markdown