Pular para o conteúdo

archgate adr

Cria um novo ADR interativamente ou via flags.

Janela do terminal
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. Integrados: backend, frontend, data, architecture, general. Domínios personalizados devem ser registrados antes via archgate adr domain add.
--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:

Janela do terminal
archgate adr create

Modo não interativo:

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

Lista todos os ADRs do projeto.

Janela do terminal
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:

Janela do terminal
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:

Janela do terminal
archgate adr list --json

Filtrar por domínio:

Janela do terminal
archgate adr list --domain backend

Exibe um ADR específico pelo ID.

Janela do terminal
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)
Janela do terminal
archgate adr show ARCH-001

Atualiza um ADR existente pelo ID.

Janela do terminal
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. Integrados: backend, frontend, data, architecture, general. Domínios personalizados devem ser registrados antes via archgate adr domain add.
--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
Janela do terminal
archgate adr update \
--id ARCH-001 \
--title "Updated Command Structure" \
--body "## Context\n\nUpdated context..."

Gerencia domínios ADR personalizados. Domínios personalizados são mapeamentos nome → prefixo de ID persistidos em .archgate/config.json e mesclados com os cinco integrados (backend, frontend, data, architecture, general) no momento da leitura.

Use este comando quando uma decisão não se encaixar claramente em nenhum domínio integrado. Antes de registrar um novo, verifique se a decisão pode ser agrupada sob um domínio existente. Integrados são o padrão, e um domínio personalizado deve ser introduzido apenas quando nenhum integrado for uma opção genuína.

Janela do terminal
archgate adr domain <subcommand> [options]
OpçãoAplica-se aDescrição
--jsontodos os subcomandosSaída como JSON

Exibe todos os domínios mesclados (integrados + personalizados) e seus prefixos:

Janela do terminal
archgate adr domain list
Domain Prefix Source
────────────────────────────────
architecture ARCH default
backend BE default
data DATA default
frontend FE default
general GEN default
security SEC custom

Registra um domínio personalizado:

Janela do terminal
archgate adr domain add <name> <prefix>

Regras de nomenclatura:

  • <name>: kebab-case em minúsculas, 2–32 caracteres (ex.: security, ml-ops)
  • <prefix>: letras maiúsculas, dígitos ou underscores, 2–10 caracteres (ex.: SEC, MLOPS)
  • Nomes e prefixos personalizados não podem colidir com integrados ou com qualquer outra entrada personalizada.

Exemplo:

Janela do terminal
archgate adr domain add security SEC

Remove um domínio personalizado (integrados não podem ser removidos):

Janela do terminal
archgate adr domain remove <name>

Importa ADRs do registro ou de um repositório git.

Janela do terminal
archgate adr import <source...> [options]

O comando clona a fonte, lê os arquivos ADR, remapeia os IDs para a sequência do projeto local e os grava em .archgate/adrs/. As importações são rastreadas em .archgate/imports.json para que possam ser verificadas posteriormente via archgate adr sync.

ArgumentoDescrição
<source...>Caminho(s) do registro, org/repo/path ou URL(s) git
OpçãoDescrição
--yesPula o prompt de confirmação
--jsonSaída como JSON
--dry-runVisualiza alterações sem gravar
--listLista ADRs importados anteriormente

Importar do registro:

Janela do terminal
archgate adr import archgate/packs/typescript

Importar de um repositório git:

Janela do terminal
archgate adr import https://github.com/acme/adr-packs.git

Visualizar o que seria importado sem gravar arquivos:

Janela do terminal
archgate adr import archgate/packs/typescript --dry-run

Importar de forma não interativa (pula confirmação):

Janela do terminal
archgate adr import archgate/packs/typescript --yes

Listar ADRs importados anteriormente:

Janela do terminal
archgate adr import --list

Verifica atualizações upstream para ADRs importados.

Janela do terminal
archgate adr sync [source...] [options]

O comando compara os ADRs importados locais com a fonte upstream e mostra quais seções mudaram. No modo interativo, solicita para cada ADR alterado com três opções: manter local, aceitar upstream ou pular.

ArgumentoDescrição
[source...]Filtro(s) de fonte opcionais. Sincroniza apenas importações correspondentes.
OpçãoDescrição
--checkSai com código 1 se houver atualizações (modo CI)
--yesPula prompts de confirmação
--jsonSaída como JSON
--strictFalha (código 1) quando a sincronização encontrar erros (fonte de importação não resolvida, clone falhou, arquivo local/upstream do ADR ausente)

--strict é resolvido da mesma forma que archgate check --strict: flag de linha de comando, depois uma chave strict: boolean em .archgate/config.json, depois desligado. Não existe uma flag --no-strict — a flag de linha de comando só pode ativar o modo estrito, não sobrepor um strict: true já configurado.

Verificar todos os ADRs importados por atualizações upstream:

Janela do terminal
archgate adr sync

Verificar apenas importações de uma fonte específica:

Janela do terminal
archgate adr sync archgate/packs/typescript

Modo CI (falha o build se algum ADR importado estiver desatualizado):

Janela do terminal
archgate adr sync --check

Aceitar todas as atualizações upstream de forma não interativa:

Janela do terminal
archgate adr sync --yes

Falhar o build se alguma importação não puder ser resolvida, clonada ou associada a um ADR local:

Janela do terminal
archgate adr sync --check --strict