Pular para o conteúdo

archgate adr

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

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. 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
Terminal window
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.

Terminal window
archgate adr domain <subcommand> [options]
SubcomandoDescrição
archgate adr domain listExibe todos os domínios mesclados (integrados + personalizados) e seus prefixos
archgate adr domain add <name> <prefix>Registra um domínio personalizado
archgate adr domain remove <name>Remove um domínio personalizado (integrados não podem ser removidos)
  • <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.
OpçãoAplica-se aDescrição
--jsontodos os subcomandosSaída como JSON

Listar domínios integrados e personalizados:

Terminal window
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

Registrar um domínio personalizado:

Terminal window
archgate adr domain add security SEC

Remover um domínio personalizado:

Terminal window
archgate adr domain remove security