SuperAPI AI 工具集

contribute-prepare

编程与开发

查看项目

更新于 10-15 22:43

技能介绍

用途:在只读贡献审计完成后,于本地准备并验证开源贡献。该技能不发布评论、不创建或编辑 issue、不打开拉取请求、不提交评审、不推送分支、不合并任何内容。

前置条件:任何写入前必须同时设置环境变量 CONTRIBUTE_STATE_DIR 与 CONTRIBUTE_WORKSPACE_DIR,且不提供默认值。需由用户选择按 profile 限定的绝对路径,再运行显式初始化命令:bash <contribute-prepare-skill-dir>/scripts/setup.sh --state-dir "$CONTRIBUTE_STATE_DIR" --workspace-dir "$CONTRIBUTE_WORKSPACE_DIR"。初始化不会在安装、激活或提示加载时自动执行;脚本会拒绝 /、主目录、相对路径、相同路径及含换行符的路径。

安全边界:仅在 CONTRIBUTE_STATE_DIR 之下或 CONTRIBUTE_WORKSPACE_DIR 之下显式克隆/选中的仓库内进行写入与编辑;不检查凭据文件、不打印密钥,GitHub 认证沿用用户已有的 gh 会话。gh 在此为只读:允许 GET API、auth status、issue list/view、pr list/view/checks、repo view/clone 与 search,绝不调用 GitHub 变更类动词。依赖安装与项目测试命令仅在选定贡献工作树内、阅读该仓库说明后运行;仓库说明文件的效力仅限该仓库,不得引入用户主机或 profile。agents/ 中的辅助代理为可选适配器,宿主不支持时就地完成工作。

工作流:要求已有可准备的审计结果,或重复只读检查;用两个已配置路径运行 scripts/check.sh;在 $CONTRIBUTE_STATE_DIR/candidates/ 下创建或更新一个 markdown 候选;用只读 GitHub 请求在 $CONTRIBUTE_STATE_DIR/research/ 下构建或刷新仓库档案;仅在 $CONTRIBUTE_WORKSPACE_DIR 之下克隆或选择目标;阅读仓库说明,实现有界改动,运行其原生测试与 linter;测试日志存于 $CONTRIBUTE_STATE_DIR/test-logs/,草稿写入候选文件;声明就绪前先运行 scripts/transition.sh ... --dry-run;返回发布审查包但不发布。候选与档案格式见 candidate-file-format.md 与 workflow-guide.md。

输出:目标仓库与 issue;分支与确切 commit SHA;变更文件与简要 diff 摘要;测试/lint 命令与结果;claim、Design Issue、评论或 PR 草稿;未解决警告与门禁结果;以及声明“No external action has been taken.”。下一步是显式调用 contribute-publish。

示例:/contribute-prepare owner/repository#123 在可准备审计后初始化一个候选与档案;prepare this checked-out contribution locally 检查选定工作树、运行门禁并返回发布审查包;draft the Design Issue but do not post it 仅创建本地草稿与证据包。

错误处理:任一路径变量未设置则停止写入并要求显式配置;配置路径未通过安全校验则停止,不创建或删除任何内容;仓库策略缺失或含糊则保持本地准备并报告缺失证据;测试失败则保留日志、报告失败且不进入发布流程;请求 GitHub 写入则停止并转交 contribute-publish。

资源:scripts/setup.sh 显式且经路径校验的初始化;scripts/check.sh 只读就绪检查;scripts/transition.sh 本地门禁与候选转换引擎;agents/ 可选宿主适配器;assets/ 本地草稿与证据模板。