Files
superpowers-zh/site
AI不止语 8a2f37071a feat(installer): 新增 Crush 适配(23 款工具,#40);补齐 verify-release 覆盖盲区
## Crush(#40)

查权威源(charmbracelet/crush repo 文档)确认:Crush 遵循 Agent Skills 开放标准,
项目级**自动发现** .crush/skills、.agents/skills、.claude/skills、.cursor/skills
四个目录,无需任何配置;用户级为 ~/.config/crush/skills。

重要副作用写进了 docs:已经为 CC / Cursor / Codex / Antigravity 装过的用户,
Crush 现在就已经能读到那些 skills,此时不要再装 --tool crush,否则同一批
skills 会有两份、被重复加载。docs 里给了确认命令。

- TARGETS 加 Crush(detect: .crush / crush.json / .crush.json),支持 --global
- CLI_PROBES 加 crush(它是 CLI,PATH 探得到)
- skills-only 适配,不需要 bootstrap;不动用户的 crush.json
- 新增 docs/README.crush.md
- 计数 22 -> 23(installer TARGETS 22 条 + Copilot CLI 单独计)

实测:装 20 skills / 二次装幂等 / 卸载零残留且正确保留用户的 crush.json;
--global 装到 ~/.config/crush/skills 并可干净卸载。

## audit Category 5 当场抓到我漏改的 5 处

加计数时忘了 site/build.mjs 的 5 个位置(三语言标语 + FAQ 枚举)。上个版本
新加的计数一致性检查直接 FAIL 拦下 —— 这是它第一次在真实改动中生效。已补
site 18 处并重建,三语言首页 23 计数、0 残留、Crush 均已出现。

## verify-release.sh 有同样的漂移问题,已修

它有自己独立的覆盖清单,加新工具时不进去就静默不测(本次 Crush 就是:
分数仍是 82,因为压根没测它)。

- SPEC / DETECT / GLOBAL_OK 三处补 Crush
- 顺带发现 B 段还漏了 3 个工具的检测标记:DeerFlow(deer_flow)、
  VS Code(.github/copilot-instructions.md)、Gemini CLI(GEMINI.md)——
  后两个是文件而非目录,DETECT 循环原先一律 mkdir,现按扩展名区分创建方式
- 新增 G 段自检:SPEC 覆盖数必须等于 installer 宣称的工具数;
  DETECT 覆盖的工具名集合必须包含全部 TARGETS 名字(用集合比对而非数条数 ——
  一个工具可以有多个检测标记,数数会误判)

覆盖从 82 项升到 90 项。

回归:audit.sh 152 pass / 0 warn / 0 fail、verify-release.sh 90 pass / 0 fail
2026-08-08 06:14:48 +08:00
..

superpowers-zh 官网

零依赖静态站生成器。一条命令产出中/英双语站点 + 每个 skill 的详情(操作文档)页,内容全部来自 ../skills/*/SKILL.md,与源文件同步、不会漂移。

构建 / 预览

node site/build.mjs          # 生成 site/dist/42 个页面)
npx serve site/dist          # 本地预览(或 python3 -m http.server

产物结构:

dist/
  index.html              # 中文首页
  en/index.html           # 英文首页
  skills/<name>.html      # 中文 skill 详情(操作文档)× 20
  en/skills/<name>.html   # 英文 skill 详情 × 20
  styles.css  app.js      # 深/浅主题 + 交互(原生 JS零依赖
  assets/                 # 图标 + 公众号/抖音二维码
  _headers                # Cloudflare Pages 缓存策略

特性

  • 中英双语服务端生成两套真实页面非前端切换SEO 友好、无闪烁。导航栏「中文 / EN」互切。
  • 深 / 浅主题CSS 变量 + localStorage 记忆,内联脚本在首屏前生效,无白屏闪烁。导航栏 ◐ 按钮切换。
  • Skill 详情页:内置零依赖 Markdown 渲染器(md.mjs),把每个 SKILL.md 渲染成完整操作文档,支持标题/代码块/表格/列表/引用。
  • 安装命令生成器、Skill 搜索 / 分类筛选、一键复制 —— 全部原生 JS。

改内容改哪里

想改什么 改哪里
Skill 正文 / 文档内容 源头 skills/<name>/SKILL.md(改完重新 node site/build.mjs
Skill 中/英标题、英文简介、分组 site/build.mjsSKILL_META
首页所有文案(中/英) site/build.mjsT.zh / T.en
支持工具 / 安装命令 site/build.mjsTOOLS(与 bin/superpowers-zh.jsTARGETS 对齐)
样式 / 主题 site/template/styles.css
交互逻辑 site/template/app.js
Markdown 渲染规则 site/md.mjs

部署到 Cloudflare Pages

发布目录 site/dist,三选一:

方式 A — 连接仓库自动构建(推荐,无需密钥)

Cloudflare Dashboard → Pages → 连接 GitHub 仓库 jnMetaCode/superpowers-zh

  • Build commandnode site/build.mjs
  • Build output directorysite/dist

之后每次 push 自动重建发布。绑自定义域名(当前线上:sp.aiolaola.com)。

方式 B — 命令行一键发布

npx wrangler login                  # 浏览器登录(交互,仅首次)
npm run site:deploy                 # = 构建 + wrangler pages deploy site/dist

在本会话中可用 ! 前缀直接登录:!npx wrangler login

方式 C — GitHub Actions 自动部署

仓库已含 .github/workflows/deploy-site.yml。在 Settings → Secrets and variables → Actions 配置:

  • CLOUDFLARE_API_TOKENPages 编辑权限)
  • CLOUDFLARE_ACCOUNT_ID

之后 site/skills/ 变更 push 到 main 即自动部署。


国内访问优先用 Cloudflare Pages + 自定义域名GitHub Pages 在国内访问较慢,不建议作为主站。