合规规则包

Rules grouped by type, with packs and a browsable catalog

规则包是精心整理的合规规则集合,把常见架构模式的最佳实践编码成规则。您无需从零开始编写规则,只需安装一个规则包,几秒钟内就能获得一套有明确主张、久经实战检验的规则集。

为什么需要规则包?

大多数团队都遵循广为人知的模式——微服务、整洁架构、事件驱动系统。每种模式都带有一些应当自动执行的约束:

  • 微服务之间不应共享数据库
  • 领域层不应导入基础设施代码
  • 事件应遵循 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 会自动去重——不会产生冲突。

贡献

规则包是开源的。您可以提议新的规则包、为现有规则包添加规则,或报告问题:

后续步骤