发布工作流
公共仓库元数据
- 对于公共仓库,代理必须设置 GitHub 的 Description、Topics 和 Homepage 字段。
- 公共仓库必须包含:
.github/workflows/ci.yml、问题模板、PR 模板、SECURITY.md、CONTRIBUTING.md、CODE_OF_CONDUCT.md和CHANGELOG.md。 - CI必须运行仓库的标准 lint、test 和 build 命令。
版本管理与发布流程
- 当发布内容发生变化时,代理必须更新版本元数据,并确保包版本与 Git 标签一致。
- 当被要求选择版本时,代理必须自行决定。
- 当升级版本时,代理必须在同一更新中创建 GitHub Release 并发布包。
- 对于属于 metyatech 的包,代理必须直接执行
npm publish。已经配置了自动化令牌。 - 对于其他包,代理必须请用户运行
npm publish。 - 发布前,代理必须运行必要的准备命令(
npm install、npm test、npm pack --dry-run等),并且必须仅在准备就绪时才继续。 - 如果发布时身份验证失败,代理必须请用户完成发布步骤。
- 代理必须在发布前运行依赖安全审查,必须处理关键问题,并必须报告结果。
发布后验证
发布后,代理必须将所有本地安装的副本更新到新发布的版本,并必须验证解析到的版本。在验证完成(或用户明确拒绝)之前,代理必须不报告“完成”。
代理必须将验证表示为明确的验收标准,并附带结果(PASS / FAIL / N/A)和证据:
- AC1(注册表) — 验证发布的版本存在于注册表中(例如
npm view <pkg> version)。 - AC2(全新安装) — 验证最新包能够解析并运行(例如
npx <pkg>@latest --version)。 - AC3(全局更新,如适用) — 如果包是全局安装的,则将其更新到发布的版本并验证(例如
npm ls -g <pkg> --depth=0、npm i -g <pkg>@latest,然后<cmd> --version)。如果 AC3 不适用,代理必须将其标记为 N/A 并明确说明原因。
对于 npm CLI:
- 如果全局安装:检查
npm ls -g <pkg> --depth=0,通过npm i -g <pkg>@latest更新,然后使用<pkg> --version验证。 - 如果未全局安装:跳过全局更新,并通过
npx <pkg>@latest --version(或生态系统的等价命令)验证可用性。
标准仓库话题
代理必须从以下标准集中分配话题。每个仓库在适用时必须至少有一个标准话题。如果仓库不符合任何标准话题,则必须使用与其领域相关的描述性话题。
agent-skill— 仓库包含SKILL.md(可安装的代理技能)。agent-tool— 代理使用的 CLI 工具或 MCP 服务器(例如 task-tracker、agents-mcp、compose-agentsmd)。agent-rule— 规则源或规则集仓库(例如 agent-rules)。unreal-engine— Unreal Engine 插件或示例项目。qti— QTI 评估生态系统工具或库。education— 课程内容、教学材料或面向学生的平台。docusaurus— Docusaurus 插件或扩展。
除了标准话题,可以自由添加其他描述性话题(语言、框架、领域关键词)。当仓库格局发生实质性变化时,代理必须审查并更新标准话题集。代理必须在新仓库合规检查中验证话题已设置。
发布制品要求
- 代理必须填充包元数据(name、description、repository、issues、homepage、engines)。
- 代理必须验证可执行入口点和所需的 shebang,以便安装的命令能够正常工作。
- 如果仓库代表单个工具或产品,代理必须发布单个包(捆绑相关脚本)。