Comandos da CLI
Opções globais
Seção intitulada “Opções globais”Estas opções estão disponíveis em todos os comandos:
| Opção | Descrição |
|---|---|
--version, -V | Exibe a versão do Archgate |
--help, -h | Mostra ajuda para qualquer comando |
archgate --versionarchgate check --helparchgate login
Seção intitulada “archgate login”Autentique-se com o GitHub para acessar os plugins de editor do Archgate.
archgate loginInicia um GitHub Device Flow (OAuth). A CLI exibe um código de uso único e uma URL. Abra a URL no seu navegador, insira o código e autorize o Archgate GitHub OAuth App. Após a autorização, a CLI troca sua identidade do GitHub por um token de plugin do Archgate e armazena ambos em ~/.archgate/credentials.
As credenciais são necessárias para instalar plugins de editor via archgate init --install-plugin. A CLI em si (check, init, etc.) funciona sem login.
Subcomandos
Seção intitulada “Subcomandos”| Subcomando | Descrição |
|---|---|
archgate login | Autenticar (pula se já estiver logado) |
archgate login status | Mostrar o status atual de autenticação |
archgate login logout | Remover credenciais armazenadas |
archgate login refresh | Reautenticar e solicitar um novo token |
Exemplos
Seção intitulada “Exemplos”Fazer login pela primeira vez:
archgate loginAuthenticating with GitHub...
Open https://github.com/login/device in your browserand enter the code: ABCD-1234
Waiting for authorization...GitHub user: yournameClaiming archgate plugin token...
Authenticated as yourname. Plugin access is now available.Run `archgate init` to set up a project with the archgate plugin.Verificar o status do login:
archgate login statusLogged in as yourname (since 2026-02-28)Fazer logout:
archgate login logoutReautenticar:
archgate login refresharchgate init
Seção intitulada “archgate init”Inicializa a governança do Archgate no projeto atual.
archgate init [options]Cria o diretório .archgate/ com um ADR de exemplo, arquivo de regras complementar e configuração do linter. Opcionalmente configura a integração com o editor para fluxos de trabalho com agentes de IA e instala o plugin de editor do Archgate.
| Opção | Padrão | Descrição |
|---|---|---|
--editor <editor> | claude | Integração de editor a configurar (claude, cursor, vscode, copilot) |
--install-plugin | auto | Instalar o plugin de editor do Archgate (requer archgate login prévio) |
Quando --install-plugin é passado, a CLI instala o plugin do Archgate para o editor selecionado. Se a flag for omitida, a CLI faz detecção automática: instala o plugin quando existem credenciais válidas (de um archgate login anterior) e pula caso contrário.
Comportamento de instalação do plugin
Seção intitulada “Comportamento de instalação do plugin”Claude Code: Se a CLI claude estiver no seu PATH, o plugin é instalado automaticamente via claude plugin marketplace add e claude plugin install. Se a CLI claude não for encontrada, o comando exibe os comandos de instalação manual.
Cursor: O pacote do plugin é baixado de plugins.archgate.dev e extraído no diretório .cursor/.
Initialized Archgate governance in /path/to/project adrs/ - architecture decision records lint/ - linter-specific rules .claude/ - Claude Code settings configured
Archgate plugin installed for Claude Code.Quando --editor cursor é usado, a saída mostra .cursor/ em vez de .claude/.
Estrutura gerada
Seção intitulada “Estrutura gerada”.archgate/ adrs/ ARCH-001-example.md # Example ADR ARCH-001-example.rules.ts # Example rules file lint/ archgate.config.ts # Archgate configurationarchgate plugin
Seção intitulada “archgate plugin”Gerencia os plugins de editor do Archgate independentemente do archgate init.
archgate plugin <subcomando> [options]Use archgate plugin para instalar plugins ou obter a URL autenticada do repositório em projetos que já foram inicializados.
Subcomandos
Seção intitulada “Subcomandos”archgate plugin url
Seção intitulada “archgate plugin url”Exibe a URL autenticada do repositório de plugins para configuração manual de ferramentas.
archgate plugin url [options]| Opção | Padrão | Descrição |
|---|---|---|
--editor <editor> | claude | Editor alvo (claude, cursor, vscode, copilot) |
A URL inclui suas credenciais e pode ser usada para configurar manualmente as ferramentas do editor. Por exemplo, para adicionar o marketplace do Archgate no Claude Code:
claude plugin marketplace add "$(archgate plugin url)"claude plugin install archgate@archgatePara o VS Code, a URL aponta para um repositório de plugin separado:
archgate plugin url --editor vscodearchgate plugin install
Seção intitulada “archgate plugin install”Instala o plugin do Archgate para o editor especificado em um projeto já inicializado.
archgate plugin install [options]| Opção | Padrão | Descrição |
|---|---|---|
--editor <editor> | claude | Editor alvo (claude, cursor, vscode, copilot) |
O comportamento de instalação varia por editor:
- Claude Code: Instala automaticamente via CLI
claudese disponível; exibe comandos manuais caso contrário. - Copilot CLI: Instala automaticamente via CLI
copilotse disponível; exibe comandos manuais caso contrário. - Cursor: Baixa e extrai o pacote do plugin no diretório
.cursor/. - VS Code: Adiciona a URL do marketplace nas configurações de usuário do VS Code.
Exemplos
Seção intitulada “Exemplos”Obter a URL do plugin para configuração manual:
archgate plugin urlInstalar o plugin para o Claude Code:
archgate plugin installInstalar o plugin para o Cursor:
archgate plugin install --editor cursorarchgate check
Seção intitulada “archgate check”Executa todas as verificações automatizadas de conformidade com ADRs no codebase.
archgate check [options]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.
| Opção | Descrição |
|---|---|
--staged | Verificar apenas arquivos no git stage (útil para hooks de pre-commit) |
--json | Saída JSON legível por máquina |
--ci | Formato de anotação do GitHub Actions |
--adr <id> | Verificar apenas regras de um ADR específico |
--verbose | Mostrar regras aprovadas e informações de tempo |
Códigos de saída
Seção intitulada “Códigos de saída”| Código | Significado |
|---|---|
| 0 | Todas as regras passaram. Nenhuma violação encontrada. |
| 1 | Uma ou mais violações detectadas. |
| 2 | Erro interno (ex.: ADR ou regra malformada). |
Exemplos
Seção intitulada “Exemplos”Verificar o projeto inteiro:
archgate checkVerificar apenas arquivos no stage antes de commitar:
archgate check --stagedVerificar um único ADR:
archgate check --adr ARCH-001Obter saída JSON para integração com CI:
archgate check --jsonObter anotações do GitHub Actions:
archgate check --ciFormato da saída JSON
Seção intitulada “Formato da saída JSON”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", "severity": "error" } ], "durationMs": 12 } ], "durationMs": 42}archgate adr create
Seção intitulada “archgate adr create”Cria um novo ADR interativamente ou via flags.
archgate adr create [options]Quando executado sem --title e --domain, o comando solicita interativamente o domínio, título e padrões de arquivo opcionais. Quando ambos --title e --domain são fornecidos, ele executa de forma não interativa.
O ID do ADR é gerado automaticamente com o prefixo do domínio e o próximo número de sequência disponível (ex.: ARCH-002, BE-001).
| Opção | Descrição |
|---|---|
--title <title> | Título do ADR (pula o prompt interativo) |
--domain <domain> | Domínio do ADR (backend, frontend, data, architecture, general) |
--files <patterns> | Padrões de arquivo, separados por vírgula |
--body <markdown> | Corpo completo do ADR em markdown (pula o template) |
--rules | Define rules: true no frontmatter |
--json | Saída como JSON |
Exemplos
Seção intitulada “Exemplos”Modo interativo:
archgate adr createModo não interativo:
archgate adr create \ --title "API Response Envelope" \ --domain backend \ --files "src/api/**/*.ts" \ --rulesarchgate adr list
Seção intitulada “archgate adr list”Lista todos os ADRs do projeto.
archgate adr list [options]| Opção | Descrição |
|---|---|
--json | Saída como JSON |
--domain <domain> | Filtrar por domínio |
Exemplos
Seção intitulada “Exemplos”Listar todos os ADRs em formato de tabela:
archgate adr listID Domain Rules Title────────────────────────────────────────────────────────ARCH-001 architecture true Command StructureARCH-002 architecture true Error HandlingBE-001 backend true API Response EnvelopeListar ADRs como JSON:
archgate adr list --jsonFiltrar por domínio:
archgate adr list --domain backendarchgate adr show
Seção intitulada “archgate adr show”Exibe um ADR específico pelo ID.
archgate adr show <id>Imprime o conteúdo completo do ADR (frontmatter e corpo) na saída padrão.
Argumentos
Seção intitulada “Argumentos”| Argumento | Descrição |
|---|---|
<id> | ID do ADR (ex.: ARCH-001, BE-003) |
Exemplo
Seção intitulada “Exemplo”archgate adr show ARCH-001archgate adr update
Seção intitulada “archgate adr update”Atualiza um ADR existente pelo ID.
archgate adr update --id <id> --body <markdown> [options]Substitui o corpo do ADR pelo markdown fornecido. Campos do frontmatter (--title, --domain, --files, --rules) são atualizados apenas quando passados explicitamente; caso contrário, os valores existentes são preservados.
| Opção | Obrigatório | Descrição |
|---|---|---|
--id <id> | Sim | ID do ADR a atualizar (ex.: ARCH-001) |
--body <markdown> | Sim | Corpo completo do ADR em markdown (substitui o existente) |
--title <title> | Não | Novo título do ADR (preserva o existente se omitido) |
--domain <domain> | Não | Novo domínio (backend, frontend, data, architecture, general) |
--files <patterns> | Não | Novos padrões de arquivo, separados por vírgula (preserva existente se omitido) |
--rules | Não | Define rules: true no frontmatter |
--json | Não | Saída como JSON |
Exemplo
Seção intitulada “Exemplo”archgate adr update \ --id ARCH-001 \ --title "Updated Command Structure" \ --body "## Context\n\nUpdated context..."archgate upgrade
Seção intitulada “archgate upgrade”Atualiza o Archgate para a versão mais recente via npm.
archgate upgradeVerifica o registro npm para a versão mais recente publicada. Se uma versão mais nova estiver disponível, executa npm install -g archgate@latest para atualizar. Se já estiver atualizado, exibe uma mensagem e encerra.
Exemplo
Seção intitulada “Exemplo”archgate upgradeChecking for latest Archgate release...Upgrading 0.3.0 -> 0.4.0...Archgate upgraded to 0.4.0 successfully.archgate clean
Seção intitulada “archgate clean”Remove o diretório de cache da CLI.
archgate cleanRemove ~/.archgate/, que armazena dados em cache como timestamps de verificação de atualização. Seguro para executar a qualquer momento — o diretório é recriado automaticamente quando necessário.
Exemplo
Seção intitulada “Exemplo”archgate clean/home/user/.archgate cleaned up