Pular para o conteúdo

archgate check

Executa todas as verificações automatizadas de conformidade com ADRs no codebase.

Terminal window
archgate check [options] [files...]

Carrega cada ADR com rules: true no frontmatter, executa o arquivo .rules.ts complementar e reporta violações com caminhos de arquivo e números de linha. Quando caminhos de arquivo são fornecidos como argumentos posicionais, apenas ADRs cujos padrões files correspondem a esses arquivos são executados.

OpçãoDescrição
--stagedVerificar apenas arquivos no git stage (útil para hooks de pre-commit)
--jsonSaída JSON legível por máquina
--ciFormato de anotação do GitHub Actions
--adr <id>Verificar apenas regras de um ADR específico
--verboseMostrar regras aprovadas e informações de tempo
ArgumentoDescrição
[files...]Caminhos de arquivo opcionais para limitar as verificações. Apenas ADRs cujos padrões files correspondem serão executados. Suporta pipe via stdin.
CódigoSignificado
0Todas as regras passaram. Nenhuma violação encontrada.
1Uma ou mais violações detectadas.
2Erro na execução de regra (ex.: regra malformada, bloqueio do scanner de segurança).

Verificar o projeto inteiro:

Terminal window
archgate check

Verificar apenas arquivos no stage antes de commitar:

Terminal window
archgate check --staged

Verificar um único ADR:

Terminal window
archgate check --adr ARCH-001

Verificar arquivos específicos (apenas ADRs correspondentes são executados):

Terminal window
archgate check src/foo.ts src/bar.ts

Pipe do git (verificar apenas arquivos alterados):

Terminal window
git diff --name-only | archgate check --json

Obter saída JSON para integração com CI:

Terminal window
archgate check --json

Obter anotações do GitHub Actions:

Terminal window
archgate check --ci

Quando --json é usado, a saída é um único objeto JSON:

{
"pass": false,
"total": 4,
"passed": 3,
"failed": 1,
"warnings": 0,
"errors": 1,
"infos": 0,
"ruleErrors": 0,
"truncated": false,
"results": [
{
"adrId": "ARCH-001",
"ruleId": "register-function-export",
"description": "Command file must export a register*Command function",
"status": "fail",
"totalViolations": 1,
"shownViolations": 1,
"violations": [
{
"message": "Command file must export a register*Command function",
"file": "src/commands/broken.ts",
"line": 1,
"endLine": 1,
"endColumn": 42,
"severity": "error"
}
],
"durationMs": 12
}
],
"durationMs": 42
}
CampoTipoDescrição
messagestringDescrição da violação
filestring?Caminho relativo do arquivo
linenumber?Linha inicial (base 1)
endLinenumber?Linha final (base 1) — para destaque preciso no editor
endColumnnumber?Coluna final (base 0) — para destaque preciso no editor
fixstring?Correção sugerida (apenas orientação)
severitystring"error", "warning" ou "info"

Quando um arquivo de regra é bloqueado pelo scanner de segurança (ex.: usa Bun.spawn()) ou um arquivo .rules.ts complementar está ausente, o resultado aparece na saída JSON com status: "error" e ruleId: "security-scan". As violações incluem o arquivo e a linha exata do código bloqueado (ou a linha rules: true no ADR para arquivos complementares ausentes).