news 2026/8/28 16:01:21

Superpowers 持续集成:3 条命令从提交到绿灯

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Superpowers 持续集成:3 条命令从提交到绿灯

Superpowers 持续集成:3 条命令从提交到绿灯

【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers

Superpowers 是给编程智能体的技能库与开发方法论,每个技能本质是一份提示词加脚本。这篇文章讲怎么为它搭一套自动化测试配置:PR 上只跑快速技能测试套件,集成测试每晚定时跑,部署只需一条 git pull。看完即可把配置抄走使用。

一条 PR 的旅程:快两层 + 慢一层

Superpowers 持续集成的第一条原则:别在每次 PR 上跑所有东西。把测试拆成两层:

  • 快速测试:无重依赖,分钟级以内,每次 push 都跑;
  • 慢测试:要启动 CLI 走完整流程,10~30 分钟,只进定时任务。

项目文档 docs/testing.md 把测试分成两类:tests/验证插件代码本身是否坏了,evals/验证智能体在真实会话里是否守规矩。后者单个场景 3~30 分钟,目前不进 CI,文档建议的分级策略正是上面这种:PR 跑快速子集,夜间跑全量。

所以一条 PR 的旅程是:

  1. 克隆仓库git clone https://gitcode.com/GitHub_Trending/su/superpowers,装好套件依赖;
  2. 跑三个快速测试:tests/claude-code/run-skill-tests.sh(需要 Claude Code CLI)、tests/opencode/run-tests.sh(默认只跑插件加载、启动缓存两个无外部依赖的项)、brainstorm-server 的npm test
  3. 全绿可合并。三个套件退出码约定一致:0 全过、1 有失败,结尾打印 Passed/Failed/Skipped 统计,CI 层直接执行脚本即可,不用额外解析。
./tests/claude-code/run-skill-tests.sh ./tests/opencode/run-tests.sh cd tests/brainstorm-server && npm test

集成测试默认被隐藏,要加--integration才会跑,耗时 10~30 分钟,留给夜间层。

挑 2 个参数跑测试

参数不用全记,记住这两个就够:

  • --test NAME:只跑指定的测试文件,改动后定点复测;
  • --timeout SECONDS:单个测试的超时预算,默认 900 秒,超时后 runner 判超时(底层退出码 124)。
./tests/claude-code/run-skill-tests.sh --test test-sdd-workspace.sh --verbose

--verbose会把完整过程日志打出来,而不是只给结尾结果,排障时必开。剩下两个参数忘了就--help,不用翻源码。

GitHub Actions 或 GitLab CI 怎么选

两个测试脚本对平台零依赖,只要求 bash、node 和对应 CLI,所以配置差异只在触发方式和 runner 上。

GitHub Actions 方案:push/PR 触发快测。

on: [push, pull_request] jobs: fast: runs-on: ubuntu-latest

夜间慢测放独立 workflow,只多一个 schedule:

schedule: - cron: "0 3 * * *"

然后在其中跑两个套件并加--integration

GitLab CI 等价做法:rules匹配 push 与 merge_request 跑快测,pipeline: schedule标记夜间流水线,届时才加--integration

取舍很简单:仓库本来在 GitHub 就用 Actions,自建 GitLab 就用 GitLab CI。无论选哪个,守住一点:慢层不阻塞 PR。另外建议把 CLI 版本在作业里固定下来,避免 runner 镜像随时间漂移导致"本地过、CI 挂"。

超时、环境漂移与失败定位

⚠️ CI 变红,绝大多数落在下面三类里。

集成测试卡超时:10~30 分钟是正常时长,不是卡死。CI 平台默认作业超时往往只有 30~60 分钟,给慢作业留 45 分钟以上余量,或者用--timeout调低单测预算。claude-code 套件的默认 900 秒预算,正是按它最慢测试文件"9 个提示词 × 每个 90 秒"的最坏情况留的。

环境漂移:快测套件不挑环境,但 claude-code 套件要求装好 Claude Code CLI,opencode 的--integration要求装 OpenCode。CI 里第一行报错是"找不到 CLI"时,先补环境,别去改测试。

失败定位:先--verbose判断是超时(退出码 124)还是断言失败;行为层面不对,照 skills/systematic-debugging/SKILL.md 的步骤回溯根因,别靠猜。

可执行清单

逐条打勾,CI/CD 部署流程即算搭完:

  • CI 环境已装 Claude Code CLI;要跑 opencode 慢测的,再装 OpenCode
  • PR 流水线只跑三个快速测试,不带--integration
  • 慢测试由 schedule 每晚触发,作业超时 ≥45 分钟
  • 会用--test定点复现、--verbose排障
  • 部署:opencode 插件以软链指向仓库,在插件安装目录git pull拉新版,再跑tests/opencode/test-plugin-loading.sh验证加载

【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 16:01:18

VR头显图像传感器怎么选?轻量微型、全局快门与低功耗实战解析

做图像传感器这些年,我手里过过的芯片没有一百也有八十颗了,但被问得最多的一次,是有人拿着手机摄像头传感器来问"能不能直接用在VR头显里"。答案是能,但效果会很差。手机那颗Sensor是给人眼拍照用的,VR里的…

作者头像 李华
网站建设 2026/8/28 15:59:51

一份CLAUDE.md让LLM少犯四个编码错误

一份CLAUDE.md让LLM少犯四个编码错误 【免费下载链接】andrej-karpathy-skills A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls. 项目地址: https://gitcode.com/GitHub_Trending/an/andrej-…

作者头像 李华
网站建设 2026/8/28 15:59:21

PyTorch实战:NLP四大损失函数实现与避坑指南

1. 项目概述:为什么我们需要关注NLP损失函数? 在自然语言处理(NLP)项目里摸爬滚打这么多年,我越来越觉得,模型架构固然重要,但真正决定模型“学得好不好”的,往往是背后那个默默无闻…

作者头像 李华
网站建设 2026/8/28 15:58:01

如何为材料性能预测选对机器学习算法:从零开始的完整流程

如何为材料性能预测选对机器学习算法:从零开始的完整流程 【免费下载链接】Python All Algorithms implemented in Python 项目地址: https://gitcode.com/GitHub_Trending/pyt/Python 你手里有几百条材料的成分、工艺参数和实测性能数据,却不知道…

作者头像 李华
网站建设 2026/8/28 15:57:28

从零实现逻辑回归:理解神经网络基础与梯度下降实战

1. 从零开始:为什么逻辑回归是深度学习的“第一块砖”如果你刚开始接触吴恩达老师的深度学习课程,学完第一周的理论,面对第二周的编程作业“实现简单逻辑回归”时,心里可能会犯嘀咕:这听起来像是机器学习入门的内容&am…

作者头像 李华