documentation-and-adrs
Registra decisões importantes sobre o projeto e sua arquitetura. É útil para que todos entendam as escolhas feitas e o motivo delas, facilitando o trabalho futuro.
O que ela faz
Esta ferramenta ajuda a registrar decisões importantes sobre como um projeto de software é construído e por quê. Ela cria documentos chamados 'Registros de Decisão de Arquitetura' (ADRs) para explicar escolhas técnicas e também ajuda a adicionar comentários explicativos no código.
Quando usar
- ✓Ao tomar uma decisão importante sobre a estrutura do projeto.
- ✓Ao escolher entre diferentes tecnologias ou abordagens.
- ✓Ao mudar algo que afeta como os usuários interagem com o software.
Exemplo do que pedir para a IA
“Grave a decisão de usar PostgreSQL como banco de dados principal para o aplicativo de gerenciamento de tarefas.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta cria um registro detalhado explicando o problema, as opções consideradas, a decisão tomada e as consequências. Ela também pode adicionar comentários ao código que explicam o 'porquê' de uma parte específica do código ter sido escrita de uma certa maneira.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add addyosmani/agent-skills --skill documentation-and-adrsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/documentation-and-adrs/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Documentação e ADRs
Visão Geral
Documente decisões, não apenas código. A documentação mais valiosa captura o porquê — o contexto, as restrições e as trocas que levaram a uma decisão. O código mostra o que foi construído; a documentação explica por que foi construído dessa forma e quais alternativas foram consideradas. Esse contexto é essencial para futuros humanos e agentes que trabalham na base de código.
Quando Usar
- Ao tomar uma decisão arquitetural significativa
- Ao escolher entre abordagens concorrentes
- Ao adicionar ou alterar uma API pública
- Ao lançar um recurso que altera o comportamento voltado para o usuário
- Ao integrar novos membros da equipe (ou agentes) ao projeto
- Quando você se pega explicando a mesma coisa repetidamente
Quando NÃO usar: Não documente código óbvio. Não adicione comentários que reafirmem o que o código já diz. Não escreva documentação para protótipos descartáveis.
Registros de Decisão Arquitetural (ADRs)
ADRs capturam o raciocínio por trás de decisões técnicas significativas. Eles são a documentação de maior valor que você pode escrever.
Quando Escrever um ADR
- Ao escolher um framework, biblioteca ou dependência principal
- Ao projetar um modelo de dados ou esquema de banco de dados
- Ao selecionar uma estratégia de autenticação
- Ao decidir sobre uma arquitetura de API (REST vs. GraphQL vs. tRPC)
- Ao escolher entre ferramentas de build, plataformas de hospedagem ou infraestrutura
- Qualquer decisão que seria cara de reverter
Combine a convenção existente primeiro
Antes de criar um ADR, inspecione o contexto do repositório disponível em busca de uma convenção estabelecida — ADRs existentes, instruções do projeto e configuração ou ferramentas relacionadas a ADRs (por exemplo, um arquivo .adr-dir). Uma convenção estabelecida substitui os padrões abaixo. Combine:
- Localização e formato — por exemplo,
docs/adr/*.md,Documentation/Decisions/*.rst, um layout MADR ou uma configuraçãoadr-tools. Combine o diretório existente, a extensão do arquivo e a marcação (Markdown vs. reStructuredText). - Numeração e nomenclatura — continue a sequência existente e o padrão de nome de arquivo (
ADR-004-Title.rst,0004-title.md, …); não reinicie em 001 nem introduza um segundo esquema. - Títulos de seção — reutilize o conjunto de títulos do projeto em vez de impor este modelo.
Se as evidências disponíveis conflitarem, apresente o conflito em vez de introduzir silenciosamente outro esquema. Somente quando nenhuma convenção puder ser estabelecida, você aplicará o padrão abaixo.
Modelo de ADR
Armazene ADRs em docs/decisions/ com numeração sequencial (a menos que o projeto já use outro local — veja acima):
# ADR-001: Use PostgreSQL for primary database
## Status
Proposed | Accepted | Superseded by ADR-XXX | Deprecated
## Date
2025-01-15
## Context
We need a primary database for the task management application. Key requirements:
- Relational data model (users, tasks, teams with relationships)
- ACID transactions for task state changes
- Support for full-text search on task content
- Managed hosting available (for small team, limited ops capacity)
## Decision
Use PostgreSQL with Prisma ORM.
## Alternatives Considered
### MongoDB
- Pros: Flexible schema, easy to start with
- Cons: Our data is inherently relational; would need to manage relationships manually
- Rejected: Relational data in a document store leads to complex joins or data duplication
### SQLite
- Pros: Zero configuration, embedded, fast for reads
- Cons: Limited concurrent write support, no managed hosting for production
- Rejected: Not suitable for multi-user web application in production
### MySQL
- Pros: Mature, widely supported
- Cons: PostgreSQL has better JSON support, full-text search, and ecosystem tooling
- Rejected: PostgreSQL is the better fit for our feature requirements
## Consequences
- Prisma provides type-safe database access and migration management
- We can use PostgreSQL's full-text search instead of adding Elasticsearch
- Team needs PostgreSQL knowledge (standard skill, low risk)
- Hosting on managed service (Supabase, Neon, or RDS)
Ciclo de Vida do ADR
PROPOSED → ACCEPTED → (SUPERSEDED or DEPRECATED)
- Não exclua ADRs antigos. Eles capturam o contexto histórico.
- Quando uma decisão mudar, escreva um novo ADR que referencie e substitua o antigo.
Documentação Inline
Quando Comentar
Comente o porquê, não o o quê:
// RUIM: Reafirma o código
// Incrementa o contador em 1
counter += 1;
// BOM: Explica a intenção não óbvia
// O rate limit usa uma janela deslizante — reinicia o contador no limite da janela,
…
Perguntas frequentes
O que é um ADR?
ADR significa 'Architecture Decision Record' (Registro de Decisão de Arquitetura). É um documento curto que explica uma decisão técnica importante, o contexto em que foi tomada e as alternativas consideradas.
Quando devo usar esta ferramenta?
Use-a sempre que fizer uma escolha técnica significativa que precise ser lembrada e compreendida por outras pessoas no futuro, ou quando precisar explicar o motivo de uma parte do código.
O que NÃO devo documentar?
Não documente código óbvio que se explica sozinho, nem adicione comentários que apenas repetem o que o código já faz. Evite também documentar protótipos temporários.
Detalhes
Descrição original do autor
Records decisions and documentation. Use when you need to document an architecture decision (ADR) or the reasoning behind a design choice, when changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.
repo: addyosmani/agent-skills
Popularidade
- Estrelas no GitHub
- 107 mil
- Posição no ranking
- #349
- Licença
- MIT
- Atualizada em
- 13/10/2026
Comentários
- …
Mais skills deste repositório
api-and-interface-design
Ajuda a criar APIs e interfaces bem definidas. É útil ao projetar como diferentes partes de um software vão se comunicar.
addyosmani/agent-skills
browser-testing-with-devtools
Ajuda seu agente a testar código diretamente em navegadores reais. É útil para verificar como algo funciona no ambiente onde será usado, encontrando erros e problemas de performance.
addyosmani/agent-skills
ci-cd-and-automation
Ensina seu agente de IA a automatizar tarefas repetitivas e colocar projetos no ar e cuidar da infraestrutura.
addyosmani/agent-skills
code-review-and-quality
Realiza revisões de código detalhadas em várias frentes. É útil antes de juntar novas mudanças para garantir a qualidade e evitar problemas futuros.
addyosmani/agent-skills
Skills parecidas
architecture-decision-records
Faz seu agente registrar decisões importantes sobre a estrutura do projeto. Ajuda a entender o porquê das escolhas feitas e a manter um histórico claro das mudanças.
affaan-m/ECC
code-tour
Faz seu agente criar guias passo a passo no código, com locais exatos em arquivos e linhas. É útil para apresentar um projeto, explicar código ou revisar mudanças. Ajuda a entender como um sistema funciona.
affaan-m/ECC
codebase-onboarding
Ajuda seu agente a analisar um código desconhecido e criar um guia de integração. Ele inclui um mapa da arquitetura, pontos de entrada e convenções. Ideal para quem está começando em um novo projeto.
affaan-m/ECC