Superpowers 持续集成与自动化测试指南:从最小 CI 到部署验收检查清单
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
这份指南解决一个问题:如何给 Superpowers 配置一条从提交、测试到部署的自动化流程。适合刚接手项目的新手和维护者。读完并照做后,你能在 30 分钟内跑通最小 CI,并知道集成测试超时怎么调、插件更新后如何确认生效、失败时按什么顺序排查。
快速开始:一条最小可用的 Superpowers CI 主流程
Superpowers 仓库自带两个测试入口,都是普通 bash 脚本,不需要额外框架:
tests/claude-code/run-skill-tests.sh—— 技能单测,前置要求是机器上已装 Claude Code CLI;tests/opencode/run-tests.sh—— 插件检查,默认模式不依赖外部工具,加--integration才需要 OpenCode。
最小闭环是:PR 上跑单测加插件加载检查,合并后补慢测试。YAML 只需保留触发和测试两步:
name: superpowers-ci on: [pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: 安装 Claude Code CLI run: npm install -g @anthropic-ai/claude-code - name: 技能单测 run: ./tests/claude-code/run-skill-tests.sh - name: 插件加载检查 run: ./tests/opencode/run-tests.sh先把这条流水线跑绿,再谈扩展。💡
分阶段扩展:测试分层与触发时机
单测绿了,按下面顺序逐层接入慢测试,每层先本地跑通再进 CI:
| 测试层 | 触发时机 | 典型耗时 | 排障要点 |
|---|---|---|---|
| 技能单测(worktree、SDD 等) | 每次 PR | 1~5 分钟 | 先确认 CLI 已安装,再用--verbose看输出 |
| SDD 完整工作流集成 | 夜间定时 | 10~30 分钟 | 超时参数按实测上调,别照抄默认值 |
| OpenCode 插件与技能工具 | 夜间定时 | 数分钟 | 需要可运行的 OpenCode,检查opencode.json |
| brainstorm-server(node) | 改动 JS 时 | 1 分钟内 | 进入tests/brainstorm-server/执行npm test |
两点提醒:
- 集成测试走
--integration开关接入,不要默认开,否则 PR 流水线会被拖死; skills/目录里还有面向真实 LLM 会话的行为评测,单个场景要十几分钟起,当前不在 CI 范围内,想跑通再单独安排。
Superpowers 集成测试超时怎么排查
先分清两种超时:
- 单文件预算:
run-skill-tests.sh对每个测试文件用timeout控制,默认 900 秒,注释写明必须覆盖该文件的最坏耗时; - CI 工作流总时长:集成测试整套跑完需要 10~30 分钟,很容易被 CI 平台默认超时掐掉。
处理动作就三步:
# 1. 本地先测出真实耗时 ./tests/claude-code/run-skill-tests.sh --integration --verbose # 2. 按实测上调单文件预算 ./tests/claude-code/run-skill-tests.sh --integration --timeout 1800 # 3. 再同步调大 CI 工作流超时原则:先测出真实耗时,再定参数,不要拍脑袋。⚠️
Superpowers 插件测试与部署更新怎么验证
test-plugin-loading.sh在隔离的临时 HOME 里装好插件,依次检查:symlink 注册指向有效、skills 目录下SKILL.md数量大于 0、using-superpowers引导技能存在、插件 JS 语法(node --check)通过、bootstrap 没有指向旧技能路径。加--integration后,test-tools.sh和test-priority.sh再验证技能发现与优先级:项目技能 > 个人技能 > Superpowers 技能。
部署更新(以 OpenCode 为例):
cd ~/.config/opencode/superpowers && git pull # 若重启后仍是旧版本:清 OpenCode 包缓存,或重装插件 opencode run --print-logs "hello" 2>&1 | grep -i superpowers最后开一个新会话问 "Tell me about your superpowers",能列出技能即确认部署成功。✅
失败排查与交付检查表
失败时按表定位,别从零开始猜:
| 现象 | 排查动作 |
|---|---|
| 单测报 "Claude Code CLI not found" | 先装 CLI,claude --version能输出再继续 |
| 单测超时 | --verbose重跑定位卡点,--timeout上调预算 |
| 插件没加载 | 用opencode run --print-logs过滤 superpowers,核对opencode.json |
| 技能找不到 | 逐个检查 skills 目录里的SKILL.md及其 YAML frontmatter |
| 更新不生效 | 清 OpenCode 包缓存或重装插件;需要固定版本时按 tag 引用 |
交付检查表(全部满足才算 CI 和部署稳定):
- PR 流水线连续 5 次全绿,且本地
./tests/claude-code/run-skill-tests.sh可复现结果; - 单测、集成、插件检查三层触发时机与超时值已按实测配好;
- 部署更新走完一次
git pull→ 重启 → 日志 → 会话确认,链路无断点; - 每类失败的排查动作已写进团队文档,新人能独立定位。
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考