By magcen-zone
向 Next.js(App Router)/ Expo 的 npm workspaces + turborepo monorepo 施加 JSDoc 契约优先 + TDD 开发流程的 Superpowers 增强插件。
supadevops 的实现·验收测试生成 subagent。实现已 red 模块的桩本体使 turbo typecheck test 变绿,或生成 endpoint/end2end(Playwright/Maestro)的验收测试。在阶段3(实现)·阶段4(验收)想以模块为单位委托实现或测试生成时使用(也作为 supa-implement / supa-acceptance Workflow 的 agentType 起动)。
特化于 supadevops 规约的代码评审 subagent(只读)。按维度点检 JS+JSDoc 的契约·测试放置位置·类型检查·按代码类别的测试·中立性,将 [严重度] 问题结构化返回。在阶段5,或想点检 JS+JSDoc 规约的遵守情况时使用(也作为 supa-review Workflow 的 agentType 起动)。增强 Superpowers 的通用 code review。
supadevops 阶段4(验收)的并行加速 authoring 技能。当已实现、且 endpoint(Route Handler)、end2end(next 路由 / Expo web / Expo 画面)的验收对象有3个以上、且用户选择启用时,生成 .claude/workflows/supa-acceptance-workflow.js 并并行生成、执行 Playwright/Maestro 的验收测试。用于在 supa-tdd 的阶段4对并行化取得同意的场景。当对象较少、无选择启用时不使用。
supadevops 阶段3(实现)的并行加速 authoring 技能。当已完成 red 且互相独立的模块有3个以上、且用户选择启用(opt-in)并行化时,生成 .claude/workflows/supa-implement-workflow.js 并以 Workflow 并行实现各模块→turbo typecheck test。用于在 supa-tdd 的实现阶段对"是否并行化?"取得同意的场景。当模块在2个以下、互相依赖、或无选择启用时不使用,而在会话内串行实现。
当用户想按 supadevops / JS+JSDoc 项目规约审查代码时使用,尤其要并行覆盖多个文件或多个规约维度的场景。典型意图(即使没点名本技能或阶段5):检查测试是否混入业务文件、是否残留 .d.ts、tsc/jsconfig 类型规约;契约层是否齐全、契约优先分层;所有路由/画面是否都有 e2e、是否用了 RTL/jsdom 等按代码类别的测试覆盖;文件轻薄度与放置位置。会生成并启动 .claude/workflows/supa-review-workflow.js,用 supa-reviewer 按文件/维度并行评审;也用于 supa-tdd 的阶段5评审。不要用于:与规约无关的通用代码审查、PR 整体逻辑对错、单文件随手看、Python 等非 JS 评审(这些请用 Superpowers);也不用于修测试、讲解 supa-reviewer 用法。
在 Next.js(App Router)/ Expo(React Native)的 npm workspaces + turborepo monorepo 中,先于实现确定 JSDoc 契约,并以 5 阶段(Plan→Test→Implement→验收→Finish)+人工门控推进的 supadevops 契约优先 TDD 开发流。当添加新功能、修复缺陷、重构,或新建/变更辅助函数/Route Handler/Server Action/组件/Expo 画面/共享库时,即使未被明确要求也必须使用本技能。它施加 JSDoc 契约、tsc/jest/Playwright/Maestro、测试放置位置、类型检查的纪律,并增强 Superpowers。对于非 supadevops 对象的仓库,或不伴随设计的一行修改,不使用本技能。
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
本规约规定 Claude Code 插件 supadevops 所施加的开发流程。supadevops 增强 Superpowers,在使用 Claude Code 进行 Next.js(App Router)/ Expo(React Native) 开发时,先于实现用 JSDoc 确定契约。对象是 npm workspaces + turborepo 的 monorepo(app/* 下的各应用 + package/* 下的共享库群),/supa-init 命令用官方 CLI 初始化各应用以构建对部署保持中立的脚手架(§6)。插件对部署保持中立,deploy 到何处由开发者自行裁量(参考结构见 §1.4 末尾)。以契约为起点,单元(辅助函数、Server Action)采用 test-first(red → green),endpoint、end2end(API、UI)作为实现后的验收测试来验证(§2.1),并对各阶段施加人工门控。功能新增、缺陷修复以本流程为一个循环进行迭代,每个循环均为回归安全(§2.2)。本书为两部构成:第 I 部为方法论(§1–§4),第 II 部为 supadevops 插件的构建与分发(§5–§8)。
| 项目 | 规定 |
|---|---|
| 语言、类型 | JavaScript + JSDoc。类型全部以 JSDoc(@typedef / @param / @returns 等)记述。不创建 .d.ts。类型检查用 tsc(不输出) |
| 模块 | ESM(import / export,package.json 中 "type": "module") |
| 仓库形态 | npm workspaces + turborepo 的 monorepo。root 有 package.json("workspaces": ["app/*", "package/*"])/ package-lock.json / turbo.json / node_modules(主要 hoist 到 root)。app/* 放各应用,package/* 放共享库群(结构见 §1.4) |
| 对象 | 适用 supadevops 的 monorepo。可并置 app/next-<名>(Next.js src/app)与 app/expo-<名>(Expo)。契约、验证施加于全部应用、全部代码(按代码种别的手段见 §3.6,结构见 §1.4)。插件对部署保持中立(部署目标由开发者裁量,§1.4 末尾为参考) |
| 目录 | 各 Next.js 应用为 src/ 结构:src/helper/(纯函数)/ src/action/(Server Action,使用时)/ src/component/(组件)/ src/type/(共享 @typedef)/ src/app/(page、layout、api/**/route.js)。Expo 应用以 Expo Router(app/)+ src/helper 等分离逻辑。package/* 的各共享库仅含与平台无关的逻辑、类型(§3.6)。测试见 §3.4 |
| 测试 | 单元 = Jest(Expo 为 jest-expo),endpoint = Playwright request,end2end = Playwright(web、Expo web)/ Maestro(Expo native) |
| 文档 | Markdown + Mermaid |
| 依赖 | 依赖 Superpowers(不内置)。在 plugin.json 的 dependencies 中声明(§8) |
补充:横切类型在各应用的
src/type/(若跨应用共享则放package/*的库)以 JS+JSDoc 的@typedef汇总(模块固有类型放在该文件内即可)。Server Action 是带有'use server'的函数/文件,汇总于src/action/(src/action/中不放 Server Action 以外的普通模块)。package/*的共享库可能被 Next.js(React DOM)与 Expo(React Native)双方 import,因此不放 React DOM 专用的.jsx组件,仅限 framework 无关的逻辑、类型、hooks、API 客户端(§3.6)。root 直下的app/(应用束)与 Next.js 的src/app/或 Expo Router 的app/层级不同,workspaces的 glob 仅匹配直下(不会冲突)。
@typedef 各层记述 @param / @returns / @throws 与意图。实现向此契约收敛。.js / .jsx(辅助函数等的 .js 与组件的 .jsx)直接记入契约与结构占位符。位置以文件内顺序(§3.1)确定,不依赖行号。.js / .jsx)为单位整体进行,不按函数单位切分。throw 桩表示。不在另外的文件中重复管理进度。@param / @returns / @typedef 等)与一行意图(行为)。记于 module / class / function / component props 各层。throw new Error('not implemented') 的声明。tsc/jest 验证、放置规约)。src/helper/,以 Jest 单元测试。src/app/api/**/route.js。调用公共服务、外部服务的轻薄 API 边界(BFF)。以 endpoint 验证。'use server' 的函数。从 React 的表单/客户端调用的 UI 变更手段,仅存在于持有 UI(表单)的 next 应用中(是否使用为可选。默认的变更系统是 Route Handler)。汇总于 src/action/,作为函数以 Jest(公共服务、外部服务的 HTTP 用 MSW mock)验证(纯粹部分提取到辅助函数)。app/*)与共享库群(package/*)束于一仓库的结构(§1.4)。turbo 跨工作区执行并缓存任务(build / dev / lint / typecheck / test)。app/expo-<名>)。从一份代码库获得 native(iOS / Android)与 web(expo export -p web。以 web.output 得 SPA / SSG)的 build 输出(deploy 目标插件不关注)。request 验证 Route Handler(API)的测试(无浏览器,公共服务、外部服务在 dev 服务器上 stub)。放置见 §3.4。expect(...) 等)。supa-<功能>-workflow.js 即此 Workflow 脚本(§5)。supadevops 以 npm workspaces + turborepo 的 monorepo 为单位适用。一个 monorepo 束起多个应用(app/*)与共享库群(package/*),/supa-init(§6)用官方 CLI 与 npm 命令初始化各应用以构建对部署保持中立的脚手架。插件对部署保持中立,不关注部署目标、网络、服务间认证、应用的角色划分(这些由开发者裁量。本社的参考结构见本节末尾)。
npx claudepluginhub magcen-zone/supadevops --plugin supadevopsMulti-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.