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ção | Descriçã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) | | --rules | Define rules: true no frontmatter | | --json | Saí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ção | Descrição | | ------------------- | ------------------- | | --json | Saí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.

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

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]

| Subcomando | Descrição | | ----------------------------------------- | ------------------------------------------------------------------------------- | | archgate adr domain list | Exibe 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ção | Aplica-se a | Descrição | | -------- | -------------------- | --------------- | | --json | todos os subcomandos | Saí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

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

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

| Argumento | Descrição | | ------------- | ----------------------------------------------------- | | <source...> | Caminho(s) do registro, org/repo/path ou URL(s) git |

| Opção | Descrição | | ----------- | ----------------------------------- | | --yes | Pula o prompt de confirmação | | --json | Saída como JSON | | --dry-run | Visualiza alterações sem gravar | | --list | Lista ADRs importados anteriormente |

Importar do registro:

Terminal window
archgate adr import archgate/packs/typescript

Importar de um repositório git:

Terminal window
archgate adr import https://github.com/acme/adr-packs.git

Visualizar o que seria importado sem gravar arquivos:

Terminal window
archgate adr import archgate/packs/typescript --dry-run

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

Terminal window
archgate adr import archgate/packs/typescript --yes

Listar ADRs importados anteriormente:

Terminal window
archgate adr import --list

Verifica atualizações upstream para ADRs importados.

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

| Argumento | Descrição | | ------------- | ---------------------------------------------------------------------------- | | [source...] | Filtro(s) de fonte opcionais — sincroniza apenas importações correspondentes |

| Opção | Descrição | | --------- | ------------------------------------------------- | | --check | Sai com código 1 se houver atualizações (modo CI) | | --yes | Pula prompts de confirmação | | --json | Saída como JSON |

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

Terminal window
archgate adr sync

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

Terminal window
archgate adr sync archgate/packs/typescript

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

Terminal window
archgate adr sync --check

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

Terminal window
archgate adr sync --yes