用途:帮助把手工 npm login 加 npm publish 的流程迁移为 GitHub Actions 自动化发布,覆盖认证方式选择、版本提升策略、发布工作流生成与校验。
主要能力:提供四步决策流程。第一步选择认证:OIDC 加 Trusted Publishing 适合 GitHub Actions 上的公开包,安全性最高、无需管理密钥并支持 provenance;Granular Access Token 适合私有包或非 GitHub CI,可限定包范围并设置有效期;Classic Automation Token 为遗留回退方案,不建议新项目使用。第二步选择版本策略:单包加约定式提交用 semantic-release;单包需手动控制用 changesets 或 release-please;monorepo 团队评审用 changesets;monorepo 加约定式提交用 release-please;简单小项目用 npm version 加 GitHub Release 触发。
使用方式:根据前两步组合生成对应工作流与配置文件,并在 package.json 中确保 name、version、repository(须与 GitHub 仓库大小写一致)、publishConfig(可含 access 与 provenance)正确,按需添加 files 和 engines。若用 semantic-release 或 release-please,需配置 commitlint 与 husky:npm install -D @commitlint/cli @commitlint/config-conventional husky;npx husky init;并创建 commitlint.config.js。提交类型影响版本:fix 为 patch,feat 为 minor,feat! 或 BREAKING CHANGE 为 major,chore、docs、ci、refactor 不提升版本但进入变更日志。
适用场景与限制:适用于公开或私有 npm 包的持续发布,限制与护栏包括:不要把含令牌的 .npmrc 提交到版本库;CI 中不用 npm login,改用 NODE_AUTH_TOKEN 或 OIDC;发布前必须先跑测试;生产工作流用完整 SHA 固定 GitHub Actions;用 npm ci 保证可复现;设置 concurrency 避免并发发布竞争;优先 on: release 或 on: push 到 main,避免 on: push tags。首次发布前应执行 npm pack --dry-run,并用干跑验证工作流。具体价格、平台限制等资料暂未提供。