Pular para o conteúdo

Archgate

Escreva um ADR uma vez. Aplique em todo lugar. Alimente agentes de IA automaticamente.

O Archgate possui duas camadas que trabalham juntas:

  1. ADRs como documentos — Arquivos Markdown com frontmatter YAML que descrevem decisões arquiteturais em linguagem natural. Humanos os leem. Agentes de IA os leem. Todos ficam alinhados.

  2. ADRs como regras — Arquivos complementares .rules.ts com verificações automatizadas escritas em TypeScript. Eles são executados contra sua base de código e reportam violações com caminhos de arquivos e números de linha.

ADRs que se aplicam sozinhos

Escreva uma decisão em Markdown. Adicione regras em TypeScript. A CLI verifica a conformidade automaticamente.

ARCH-003-api-routes.md
---
id: ARCH-003
title: API Route Conventions
domain: backend
rules: true
files:
  - "src/api/**/*.ts"
---

## Decision

All API route handlers must use the
createRoute() factory function.
Direct export default is prohibited.

## Do's and Don'ts

DO:  Use createRoute({ handler })
DON'T: Use export default function
ARCH-003-api-routes.rules.ts
import { defineRules } from "archgate/rules";

export default defineRules((ctx) => [
  {
    name: "require-createRoute",
    severity: "error",
    async run() {
      const files = await ctx.glob("src/api/**/*.ts");

      for (const file of files) {
        const hits = await ctx.grep(
          file, /export\s+default\s+function/
        );
        for (const hit of hits) {
          ctx.report({
            file, line: hit.line,
            message: "Use createRoute() factory",
          });
        }
      }
    },
  },
]);
Terminal
$ archgate check
ARCH-003 API Route Conventions
error require-createRoute: Use createRoute() factory
src/api/users/list.ts:14
1 violation found across 1 ADR

Quando você executa archgate check, a CLI carrega cada ADR que possui rules: true em seu frontmatter, executa o arquivo de regras complementar e reporta quaisquer violações. Código de saída 0 significa que seu código está em conformidade. Código de saída 1 significa que não está.

Regras Executáveis

Escreva regras em TypeScript. O Archgate as executa contra sua base de código e reporta violações com caminhos de arquivos e números de linha. As regras ficam ao lado das decisões que elas aplicam.

Integração com CI

Conecte archgate check ao seu pipeline. Código de saída 1 bloqueia merges quando regras são violadas. Funciona com GitHub Actions, GitLab CI ou qualquer sistema de CI que respeite códigos de saída.

Governança com IA

O servidor MCP dá aos agentes de IA acesso em tempo real aos seus ADRs. Eles leem as decisões antes de escrever código e validam depois. Sem copiar e colar regras nos prompts.

Auto-Governança

O Archgate governa seu próprio desenvolvimento. A mesma ferramenta que verifica seu código verifica o nosso. Seis ADRs aplicam estrutura de comandos, tratamento de erros, formatação de saída, testes e mais.

A CLI do Archgate funciona de forma independente, mas os plugins para editores habilitam um fluxo completo de governança com IA. Os plugins dão aos agentes de IA habilidades baseadas em papéis para que leiam seus ADRs antes de programar, validem depois e capturem novos padrões para sua equipe — automaticamente.

Claude Code

O plugin para Claude Code adiciona cinco habilidades: developer, architect, quality-manager, adr-author e onboard. Os agentes seguem um ciclo estruturado de leitura-validação-captura em cada tarefa.

Cursor

O plugin para Cursor fornece regras e habilidades pré-configuradas para agentes, dando ao agente de IA do Cursor o mesmo fluxo de governança do Claude Code.