Pular para o conteúdo

Comandos da CLI

Estas opções estão disponíveis em todos os comandos:

OpçãoDescrição
--version, -VExibe a versão do Archgate
--help, -hMostra ajuda para qualquer comando
Terminal window
archgate --version
archgate check --help

Autentique-se com o GitHub para acessar os plugins de editor do Archgate.

Terminal window
archgate login

Inicia 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.

SubcomandoDescrição
archgate loginAutenticar (pula se já estiver logado)
archgate login statusMostrar o status atual de autenticação
archgate login logoutRemover credenciais armazenadas
archgate login refreshReautenticar e solicitar um novo token

Fazer login pela primeira vez:

Terminal window
archgate login
Authenticating with GitHub...
Open https://github.com/login/device in your browser
and enter the code: ABCD-1234
Waiting for authorization...
GitHub user: yourname
Claiming 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:

Terminal window
archgate login status
Logged in as yourname (since 2026-02-28)

Fazer logout:

Terminal window
archgate login logout

Reautenticar:

Terminal window
archgate login refresh

Inicializa a governança do Archgate no projeto atual.

Terminal window
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çãoPadrãoDescrição
--editor <editor>claudeIntegração de editor a configurar (claude, cursor, vscode, copilot)
--install-pluginautoInstalar 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.

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/.

.archgate/
adrs/
ARCH-001-example.md # Example ADR
ARCH-001-example.rules.ts # Example rules file
lint/
archgate.config.ts # Archgate configuration

Gerencia os plugins de editor do Archgate independentemente do archgate init.

Terminal window
archgate plugin <subcomando> [options]

Use archgate plugin para instalar plugins ou obter a URL autenticada do repositório em projetos que já foram inicializados.

Exibe a URL autenticada do repositório de plugins para configuração manual de ferramentas.

Terminal window
archgate plugin url [options]
OpçãoPadrãoDescrição
--editor <editor>claudeEditor 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:

Terminal window
claude plugin marketplace add "$(archgate plugin url)"
claude plugin install archgate@archgate

Para o VS Code, a URL aponta para um repositório de plugin separado:

Terminal window
archgate plugin url --editor vscode

Instala o plugin do Archgate para o editor especificado em um projeto já inicializado.

Terminal window
archgate plugin install [options]
OpçãoPadrãoDescrição
--editor <editor>claudeEditor alvo (claude, cursor, vscode, copilot)

O comportamento de instalação varia por editor:

  • Claude Code: Instala automaticamente via CLI claude se disponível; exibe comandos manuais caso contrário.
  • Copilot CLI: Instala automaticamente via CLI copilot se 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.

Obter a URL do plugin para configuração manual:

Terminal window
archgate plugin url

Instalar o plugin para o Claude Code:

Terminal window
archgate plugin install

Instalar o plugin para o Cursor:

Terminal window
archgate plugin install --editor cursor

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

Terminal window
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çã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
CódigoSignificado
0Todas as regras passaram. Nenhuma violação encontrada.
1Uma ou mais violações detectadas.
2Erro interno (ex.: ADR ou regra malformada).

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

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",
"severity": "error"
}
],
"durationMs": 12
}
],
"durationMs": 42
}

Cria um novo ADR interativamente ou via flags.

Terminal window
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çãoDescriçã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)
--rulesDefine rules: true no frontmatter
--jsonSaída como JSON

Modo interativo:

Terminal window
archgate adr create

Modo não interativo:

Terminal window
archgate adr create \
--title "API Response Envelope" \
--domain backend \
--files "src/api/**/*.ts" \
--rules

Lista todos os ADRs do projeto.

Terminal window
archgate adr list [options]
OpçãoDescrição
--jsonSaída como JSON
--domain <domain>Filtrar por domínio

Listar todos os ADRs em formato de tabela:

Terminal window
archgate adr list
ID Domain Rules Title
────────────────────────────────────────────────────────
ARCH-001 architecture true Command Structure
ARCH-002 architecture true Error Handling
BE-001 backend true API Response Envelope

Listar ADRs como JSON:

Terminal window
archgate adr list --json

Filtrar por domínio:

Terminal window
archgate adr list --domain backend

Exibe um ADR específico pelo ID.

Terminal window
archgate adr show <id>

Imprime o conteúdo completo do ADR (frontmatter e corpo) na saída padrão.

ArgumentoDescrição
<id>ID do ADR (ex.: ARCH-001, BE-003)
Terminal window
archgate adr show ARCH-001

Atualiza um ADR existente pelo ID.

Terminal window
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çãoObrigatórioDescrição
--id <id>SimID do ADR a atualizar (ex.: ARCH-001)
--body <markdown>SimCorpo completo do ADR em markdown (substitui o existente)
--title <title>NãoNovo título do ADR (preserva o existente se omitido)
--domain <domain>NãoNovo domínio (backend, frontend, data, architecture, general)
--files <patterns>NãoNovos padrões de arquivo, separados por vírgula (preserva existente se omitido)
--rulesNãoDefine rules: true no frontmatter
--jsonNãoSaída como JSON
Terminal window
archgate adr update \
--id ARCH-001 \
--title "Updated Command Structure" \
--body "## Context\n\nUpdated context..."

Atualiza o Archgate para a versão mais recente via npm.

Terminal window
archgate upgrade

Verifica 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.

Terminal window
archgate upgrade
Checking for latest Archgate release...
Upgrading 0.3.0 -> 0.4.0...
Archgate upgraded to 0.4.0 successfully.

Remove o diretório de cache da CLI.

Terminal window
archgate clean

Remove ~/.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.

Terminal window
archgate clean
/home/user/.archgate cleaned up