合规规则包

规则包是精心整理的合规规则集合,把常见架构模式的最佳实践编码成规则。您无需从零开始编写规则,只需安装一个规则包,几秒钟内就能获得一套有明确主张、久经实战检验的规则集。
为什么需要规则包?
大多数团队都遵循广为人知的模式——微服务、整洁架构、事件驱动系统。每种模式都带有一些应当自动执行的约束:
- 微服务之间不应共享数据库
- 领域层不应导入基础设施代码
- 事件应遵循 schema 契约
规则包把这些原则变成可执行的护栏。
可用的规则包
| 规则包 | 规则数 | 侧重点 |
|---|---|---|
| Microservices | 10 | 服务边界、独立部署能力、受约束的通信 |
| Clean Architecture | 9 | 层边界、领域隔离、端口/适配器约束 |
| Event-Driven | 8 | 通道合规、schema 要求、死信队列 |
| API-First | 8 | 契约要求、版本控制、认证文档 |
| Security Baseline | 8 | 网关约束、密钥管理、外部访问控制 |
安装规则包
通过 archyl-developer 技能
向您的 AI 编程代理提出请求:
Install the microservices conformance rules pack
代理会调用 Archyl MCP 服务器,在一次操作中创建全部规则。
通过 SDK
import { ArchylClient } from "@archyl/sdk";
const client = new ArchylClient({
apiKey: process.env.ARCHYL_API_KEY,
organizationId: "your-org-id",
});
// Install a pack by name
await client.governance.installPack("microservices");
通过界面
前往 代理中心 > 规则包,在任意规则包上点击 安装。
各规则包包含的内容
Microservices(10 条规则)
- 禁止共享数据库 —— 每个服务必须拥有自己的数据。跨服务查询只能通过 API 进行。
- 独立部署能力 —— 服务之间不得存在编译期依赖。共享库必须进行版本管理。
- 受约束的通信 —— 服务之间通过已定义的 API 契约或事件通道通信,而不是直接访问数据库或共享文件。
- 服务隔离 —— 禁止跨服务导入。每个服务都有自己的依赖树。
Clean Architecture(9 条规则)
- 领域层纯净 —— 领域代码没有任何外部导入。不依赖框架、ORM 或 HTTP。
- 依赖方向 —— 依赖指向内层。handler 依赖服务,服务依赖领域,绝不反向。
- 端口/适配器约束 —— 基础设施相关的内容(数据库、HTTP、消息)放在适配器包中,而不是领域层或服务层。
- 接口边界 —— 服务使用接口(端口),而不是具体实现。
Event-Driven(8 条规则)
- 通道合规 —— 事件生产者和消费者必须使用已声明的事件通道。禁止随意创建 topic。
- Schema 要求 —— 每个事件都必须有定义好的 schema。禁止无类型的 payload。
- 死信队列 —— 消费者必须为处理失败的消息配置 DLQ。
- Topic 命名约定 —— topic 遵循统一的命名模式(例如
domain.entity.event)。
API-First(8 条规则)
- 必须有契约 —— 每个公开端点都必须存档对应的 OpenAPI、gRPC 或 AsyncAPI 契约。
- 版本控制 —— API 端点必须包含版本前缀(
/v1/、/v2/)。 - 认证文档 —— 安全方案必须在契约中写明。
- 禁止未记录的端点 —— 没有对应契约文档的 handler 文件会触发违规。
Security Baseline(8 条规则)
- 网关约束 —— 外部流量必须经过 API 网关或负载均衡器。禁止直接暴露服务。
- 密钥管理 —— 源代码中禁止硬编码密钥、API 密钥或密码。请使用环境变量或密钥管理器。
- 外部访问控制 —— 接受外部请求的服务必须强制执行身份验证和速率限制。
- 必须使用 TLS —— 所有服务间通信都必须使用 TLS。服务之间禁止使用明文 HTTP。
自定义规则
安装规则包后,每条规则都可以完全编辑:
- 更改严重级别 —— 如果某条规则与您的风险承受度不符,可将其从
critical降为medium - 禁用特定规则 —— 单独关闭不需要的规则,而无需移除整个规则包
- 修改配置 —— 调整文件 glob、模式、允许的导入或层定义,以适配您的项目结构
前往 代理中心,点击任意规则上的编辑图标即可修改。
组合使用规则包
规则包可以叠加使用。安装多个规则包,覆盖不同的架构关注点:
| 组合 | 使用场景 |
|---|---|
| Microservices + API-First + Security Baseline | 带安全护栏、以 API 驱动的微服务平台 |
| Clean Architecture + Security Baseline | 层边界严格、注重安全规范的单体应用 |
| Event-Driven + Microservices | 基于事件溯源的微服务系统 |
| API-First + Clean Architecture | 契约驱动的单体或模块化单体 |
如果两个规则包包含重叠的规则,Archyl 会自动去重——不会产生冲突。
贡献
规则包是开源的。您可以提议新的规则包、为现有规则包添加规则,或报告问题:
后续步骤
- 合规规则 - 规则类型与配置的完整指南
- GitHub Actions - 在 CI/CD 中运行合规检查