Pular para o conteúdo

Importando ADRs

Um ADR pack é uma coleção curada de Architecture Decision Records agrupados sob um tema compartilhado. Cada pack inclui:

  • Um manifesto archgate-pack.yaml com metadados (nome, versão, mantenedores, tags)
  • Um ou mais arquivos ADR markdown em um diretório adrs/
  • Arquivos complementares .rules.ts opcionais que aplicam cada decisão automaticamente

Packs permitem inicializar um projeto com convenções arquiteturais comprovadas em vez de escrever tudo do zero.

O registro Archgate awesome-adrs hospeda packs mantidos pela comunidade. Importe um com:

Terminal window
archgate adr import packs/typescript-strict

Isso clona o registro, copia os ADRs para o diretório .archgate/adrs/ e remapeia os IDs para se adequar ao esquema de numeração do seu projeto.

Adicione @<ref> para fixar em uma tag ou branch específica:

Terminal window
archgate adr import packs/[email protected]

Você não precisa importar um pack inteiro. Aponte para um arquivo ADR específico dentro de um pack:

Terminal window
archgate adr import packs/security/adrs/SEC-001-no-secrets-in-code

Apenas esse ADR (e seu arquivo de regras complementar, se existir) será importado.

Qualquer repositório GitHub com arquivos ADR funciona como fonte. Use a sintaxe org/repo/path com três segmentos:

Terminal window
archgate adr import acme/company-adrs/packs/api-standards

Isso clona https://github.com/acme/company-adrs.git e importa do subpath especificado.

Para repositórios não-GitHub ou quando precisar de controle total, passe uma URL completa:

Terminal window
archgate adr import https://github.com/org/repo/tree/main/packs/my-pack

O CLI analisa o formato GitHub /tree/<ref>/<path> automaticamente. Para outros hosts, passe qualquer URL clonável via git:

Terminal window
archgate adr import https://gitlab.com/team/repo.git

Veja o que seria importado sem escrever nada:

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

A saída mostra os IDs originais, IDs remapeados e títulos em uma tabela.

Verifique o que foi importado anteriormente:

Terminal window
archgate adr import --list

Isso lê .archgate/imports.json e exibe cada fonte, versão e os IDs de ADR produzidos.

Quando você importa ADRs, os IDs originais são remapeados para corresponder aos prefixos de domínio do seu projeto. O campo domain de cada ADR determina qual prefixo ele recebe. Por exemplo, um ADR com domain: frontend vira FE-XXX, enquanto um com domain: backend vira BE-XXX. Cada domínio tem seu próprio contador, então importar um pack com domínios mistos produz IDs corretamente prefixados sem colisões.

Por exemplo, importar um pack com três ADRs de frontend e dois de backend em um projeto que já tem FE-001 e BE-001 produz:

  • FE-002, FE-003, FE-004 (frontend)
  • BE-002, BE-003 (backend)

O remapeamento garante:

  1. Nenhuma colisão de ID com ADRs existentes
  2. Cada domínio mantém sua própria sequência de numeração
  3. Arquivos de regras importados funcionam imediatamente sem edições manuais

Cada importação é registrada em .archgate/imports.json:

{
"imports": [
{
"source": "packs/typescript-strict",
"version": "0.3.0",
"importedAt": "2026-05-10T14:32:00.000Z",
"adrIds": ["ARCH-006", "ARCH-007", "ARCH-008"]
}
]
}

Este manifesto permite rastrear a proveniência: de onde cada ADR importado veio e quando. Faça commit dele no controle de versão junto com seus ADRs.

OpçãoDescrição
--yesPula o prompt de confirmação
--jsonSaída em formato JSON
--dry-runPreview sem escrever arquivos
--listLista ADRs importados anteriormente