返回顶部
a

aegis神盾

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.4.0
安全检测
已通过
153
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

aegis

Aegis — AI开发质量守护者

AI辅助软件开发的五层防御体系。

模式

精简模式(小型任务默认)

  • - 仅需设计概要 → 直接进入实现阶段
  • 适用场景:独立开发、单服务功能、快速修复

完整模式(多服务/团队项目)

  • - 完整的契约优先工作流
  • 适用场景:多API边界、团队协作、复杂功能

阶段0:工作区架构检测

在启动Aegis工作流之前,检测项目架构以选择正确的契约策略。

自动检测

扫描工作区以识别指标:

  • - 同时存在frontend//client//web/和backend//server//api/目录 → 单体仓库
  • package.json中包含同时涉及前端和后端的工作区 → 单体仓库
  • 仅存在一侧(纯前端或纯后端) → 分离工作区

如果检测到分离工作区,询问用户:

检测到:此工作区仅包含{前端|后端}代码。
另一侧代码位于何处?

(a) 由同一代理管理的另一个仓库(我可访问)
(b) 由不同代理/工作区管理的另一个仓库(我无法访问)
(c) 这实际上是一个单体仓库(我遗漏了某些信息)

架构模式

模式契约位置同步方式
单体仓库项目根目录下的contracts/直接(同一仓库)
多仓库,单代理
主导工作区的contracts/,复制到每个仓库 | 分发前复制 | | 跨代理,跨工作区 | 专用契约仓库 | Git子模块/包/主导复制同步 |

跨工作区: 契约存在于独立的Git仓库中。每个代理的工作区以只读方式集成。契约变更请求通过具有合并权限的主导代理处理。完整协议请参见references/multi-agent-protocol.md。



阶段1:设计

在任何非平凡功能之前,创建设计概要:

  1. 1. 阅读templates/design-brief.md模板
  2. 填写:问题陈述、架构概览、关键决策、模块边界、API表面、已知缺口、测试策略
  3. 提交供人工审核
  4. 关卡: 在设计概要获批之前,不得进入阶段2

精简模式在此停止 — 设计概要获批后直接进入阶段3。

阶段2:契约(完整模式)

在编写实现代码之前定义API契约:

  1. 1. 创建/更新contracts/api-spec.yaml(OpenAPI 3.1)— 使用templates/api-spec-starter.yaml作为基础
  2. 创建/更新contracts/shared-types.ts — 使用templates/shared-types-starter.ts作为基础
  3. 创建/更新contracts/errors.yaml — 使用templates/errors-starter.yaml作为基础
  4. 运行bash scripts/validate-contract.sh 检查一致性
  5. 关卡: 在开始实现之前,契约必须经过审核

参考:references/contract-first-guide.md了解完整的契约优先方法论。

阶段3:实现

编码前检查清单(每次编写代码前执行)

  1. 1. 检查项目根目录下是否存在contracts/
  2. 如果存在:读取contracts/api-spec.yaml、contracts/errors.yaml、contracts/shared-types.ts
  3. 读取CLAUDE.md了解项目特定约束
  4. 如果任务存在设计概要:读取docs/designs/相关文件

硬性规则(违反=PR被拒绝)

R1:契约即真理

  • - 所有API响应必须符合contracts/api-spec.yaml
  • 响应结构、状态码、字段名 — 全部来自规范

R2:共享类型 — 导入,绝不重新定义

  • - import { User, ApiResponse } from ../contracts/shared-types
  • 绝不要创建遮蔽契约类型的本地类型
  • 如果shared-types没有所需内容 → 提交变更请求(R5)

R3:仅使用注册表中的错误码

  • - 使用contracts/errors.yaml中定义的代码
  • 绝不要发明临时错误码
  • 需要新代码 → 提交变更请求(R5)

R4:契约测试强制要求

  • - 每个新的API端点必须有契约测试
  • 契约测试 = 针对OpenAPI规范模式验证实际响应
  • 修改的端点 → 更新契约测试

R5:绝不要直接修改契约
如果契约需要变更:

  1. 1. 创建docs/contract-changes/CHANGE-{日期}-{描述}.md
  2. 包含:变更内容、原因、影响的模块
  3. 继续使用当前契约进行实现
  4. 人工审核并更新契约

R6:CLAUDE.md约束

  • - 阅读并遵循CLAUDE.md中的所有⛔硬性约束
  • 这些是项目特定的,覆盖一般偏好

R7:提交前检查强制要求

  • - 提交前运行lint → 类型检查 → 格式检查 → 契约验证
  • 在所有代码变更之后,最后一步运行格式化工具
  • 绝不要使用--no-verify绕过

快速参考

情况操作
需要新端点先检查api-spec.yaml
需要新类型
检查shared-types.ts → 如果缺失,提交变更请求 | | 需要新错误码 | 检查errors.yaml → 如果缺失,提交变更请求 | | API响应与规范不匹配 | 修复代码,而非规范 | | 规范似乎有误 | 提交变更请求,按当前规范实现 | | 没有contracts/目录 | 硬性规则不适用 — 标准开发流程 |

阶段4:验证

实现完成后,验证质量:

  1. 1. 运行契约测试 — bash scripts/validate-contract.sh
  2. 运行前端测试 — pnpm test(如果存在前端)
  3. 运行后端集成测试 — 针对真实服务器+真实数据库的HTTP端到端测试
  4. 生成缺口报告 — bash scripts/gap-report.sh
  5. 审核:所有设计概要项目是否已实现?
  6. 审核:所有端点是否都有契约测试+集成测试?
  7. 关卡: 所有测试必须通过才能提交PR/MR

测试层级

端到端测试 ← Playwright(真实浏览器+真实后端)
集成测试 ← 真实HTTP服务器+真实数据库(无模拟)
契约测试 ← 针对api-spec.yaml验证(不模拟契约)
前端测试 ← Vitest + React Testing Library + MSW(契约类型化模拟)
单元测试 ← 模拟外部依赖,测试纯逻辑

前端测试(当项目包含前端时)

  • - 技术栈: Vitest + React Testing Library + MSW
  • 要求覆盖率: API客户端(正常/错误/认证)、数据钩子(加载/成功/错误)、关键组件
  • MSW处理器: 必须模拟每个后端端点,数据匹配contracts/shared-types.ts
  • CI关卡: pnpm test必须通过 — 与后端测试具有相同的阻断能力

后端集成测试(HTTP端到端)

  • - 每个端点必须包含:正常路径(200)+ 错误请求(400)+ 未找到(404)+ 认证失败(401)
  • 真实数据库 — 隔离的测试数据库,而非模拟。使用事务或迁移确保干净状态。
  • 变更验证 — POST/PUT/DELETE → GET以确认状态变更
  • CI流水线: lint → 类型检查 → 单元测试 → 前端测试 → 契约测试 → 集成测试 → 路由覆盖 → 构建 → 端到端测试

消费者驱动的路由覆盖

集成测试必须覆盖前端调用的内容,而不仅仅是后端实现的内容。

  • - 完整模式: verify-route-coverage.sh交叉引用前端API调用与后端路由。每个消费者路由都需要后端处理器+集成测试。
  • 降级模式: 如果不存在前端清单或可扫描的前端代码,CI发出警告但不失败。提供者驱动的测试仍为基线。
  • 跨工作区: 前端代理将consumer-routes.yaml导出到契约仓库。后端CI根据它验证覆盖。
  • 路由清单: contracts/route-manifest.yaml — 声明前端消费的每个API路由。自动生成或手动创建。

在CI中集成测试后运行:
bash
bash scripts/verify-route-coverage.sh

测试策略 = 设计产物

全栈功能需要在编码开始前在设计概要中包含完整的测试策略。

参考:references/testing-strategy.md了解完整的测试金字塔和标准。

阶段5:项目管理

跟踪进度并强制执行质量关卡:

  1. 1. 更新docs/designs/<功能>/implementation-summary.md —

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 aegis-quality-guardian-1775976984 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 aegis-quality-guardian-1775976984 技能

通过命令行安装

skillhub install aegis-quality-guardian-1775976984

下载

⬇ 下载 aegis v1.4.0(免费)

文件大小: 36.89 KB | 发布时间: 2026-4-13 09:09

v1.4.0 最新 2026-4-13 09:09
Consumer-Driven Contract Testing + Cross-Repo Route Coverage + Degradation Strategy

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部