本文档用于发布 @duo121/codex-kanban,并联动 Homebrew cask。
- npm 作用域与包名
- 确保你拥有
@duo121scope 的发布权限。 - 这个 fork 实际发布到 npm 的包名只有一个:
@duo121/codex-kanban - Linux / macOS / Windows 平台变体不是单独的 npm 包;它们是同名包的不同平台版本,例如:
0.116.0-kanban.0-linux-x640.116.0-kanban.0-darwin-arm640.116.0-kanban.0-win32-x64
- 根包里的
optionalDependencies会使用npm:alias 指向这些平台版本,所以你不需要额外创建@duo121/codex-kanban-linux-x64这类真实包名。
- npm Trusted Publisher(推荐)
- 在 npm 上把
@duo121/codex-kanban绑定到 GitHub 仓库duo121/codex-kanban的 release workflow(.github/workflows/rust-release.yml)。
- GitHub Secrets
HOMEBREW_TAP_TOKEN:用于向 tap 仓库推送 cask 更新。PROJECT_VERCEL_DEPLOY_HOOK_URL:可选,用于稳定版发布后触发文档站部署。WINGET_PUBLISH_PAT:可选,仅在你要发 WinGet 时需要。
建议使用独立 tap 仓库:duo121/homebrew-codex-kanban。
最小目录结构:
homebrew-codex-kanban/
└── Casks/
└── codex-kanban.rb
本仓库已提供自动生成 cask 的脚本:
python3 ./scripts/release/update_homebrew_cask.py \
--version 0.1.0 \
--repo duo121/codex-kanban \
--tap-dir /path/to/homebrew-codex-kanban版本号策略(建议):
- 跟随上游官方稳定版本,并添加 fork 后缀:
<官方版本>-kanban.<序号> - 示例:
- 官方
0.116.0-> fork 首发0.116.0-kanban.0 - 同一官方版本上的增量发布:
0.116.0-kanban.1 - 同步到官方
0.117.0后重置为0.117.0-kanban.0
- 官方
- 在
codex-kanban打 tag,例如:rust-v0.116.0-kanban.0。 - 触发
rust-release.yml,产出 GitHub Release 与 npm tarballs。 publish-npmjob 会自动发布 npm 包(基于 OIDC)。- 触发
homebrew-cask.yml,自动更新 tap 仓库中的Casks/codex-kanban.rb。
说明:
- 你本地只有 macOS 也没关系;Linux 和 Windows 的 npm 平台包由 GitHub Actions 在对应 runner 上构建并发布。
- 当前 workflow 只发布
@duo121/codex-kanban这一组 CLI npm tarballs,不再尝试发布@openai/codex-responses-api-proxy或@openai/codex-sdk。 - 如果仓库没有配置
ENABLE_WINDOWS_RELEASE=true、Windows runners 和签名 secrets,release 会自动跳过 win32 npm 包,只发布 Linux / macOS 平台包。 publish-npm会先发平台 tarball,再发根包,避免latest先指向一个还拿不到平台依赖的版本。- 如果是这些 npm 包第一次出现在 npm 上,需要先完成一次首发,然后再到 npm 包设置里绑定 Trusted Publisher。
npm:
npm install -g @duo121/codex-kanbanHomebrew(tap 方式):
brew tap duo121/homebrew-codex-kanban
brew install --cask codex-kanban启动命令:
codexkb
# or
codex-kanban# 1) brew 安装
brew tap duo121/homebrew-codex-kanban
brew install --cask codex-kanban
codexkb --version
# 2) brew 卸载
brew uninstall --cask codex-kanban
# 3) npm 全局安装
npm uninstall -g @duo121/codex-kanban || true
npm install -g @duo121/codex-kanban
codexkb --version如果 npm install -g @duo121/codex-kanban 后运行报缺少平台可选依赖,通常表示该平台包(例如 @duo121/codex-kanban-darwin-arm64)尚未发布或 dist-tag 未正确设置。