用途:校验 changeset 是否正确反映包变更、是否符合仓库规则。当 packages/ 或 .changeset/ 发生改动时使用,结合 git diff(包括未提交的本地改动)由 LLM 作出判断。
主要能力:以 references/validation-prompt.md 中的共享提示词作为唯一规则来源,使本地 Codex 审查与 GitHub Actions 使用同一逻辑;输出包含 ok/errors/warnings/required_bump 的 JSON 判定,required_bump 取值为 patch/minor/major/none。
用法:本地(Codex 驱动)运行 pnpm changeset:validate-prompt,生成提示词后应用 references/validation-prompt.md 规则,并返回上述 JSON 判定。CI(Codex Action)运行 pnpm changeset:validate-prompt -- --ci --output .github/codex/prompts/changeset-validation.generated.md,再用 openai/codex-action 配合生成的提示词与 JSON schema 获取结构化判定。
工作流程:先用 pnpm changeset:validate-prompt 生成提示词上下文,再按 references/validation-prompt.md 判断正确性,给出明确判定与所需 bump 类型;若 changeset 需要修改,更新后重新校验。
分支级 changeset 规则:若当前分支 diff 中已存在 .changeset/*.md 文件,应视为活动 changeset,不要新增 changeset 文件;而是更新已有文件,重写摘要以反映相对 main 的主要变更,不必记录每个增量更新。摘要保持一行,按需替换而非追加;若必须包含多点,压缩为一行。
版本规则:在 diff 中明确标注为实验性或仅预览的功能新增,若未改变既有行为,可保持 patch bump;major bump 仅在首个 major 版本发布后才允许,在此之前不要为功能性变更使用 major bump。
共享事实来源:提示词文件是校验规则的唯一来源;脚本保持轻量,仅负责收集上下文并输出提示词。资源为 references/validation-prompt.md。