documentation-and-adrs
Registra decisões importantes sobre o projeto e sua arquitetura. Essencial para manter o histórico e facilitar a colaboração futura.
O que ela faz
Esta ferramenta ajuda a registrar decisões importantes sobre como um projeto de software é construído e por quê. Ela também serve para documentar partes do código que não são óbvias.
Quando usar
- ✓Ao tomar uma decisão importante sobre a arquitetura do projeto.
- ✓Ao mudar algo que afeta como outros programas usam seu código.
- ✓Quando você precisa explicar o motivo de uma escolha técnica para colegas.
Exemplo do que pedir para a IA
“Registre 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
Você escreve um documento chamado ADR (Architecture Decision Record) explicando o contexto, a decisão tomada, as alternativas consideradas e as consequências. Para o código, você adiciona comentários que explicam o 'porquê' e não o 'o quê'.
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 sickn33/agentic-awesome-skills --skill documentation-and-adrsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/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 compensações 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ões Arquiteturais (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
Modelo de ADR
Siga a localização e numeração de ADRs existente no repositório; use docs/decisions/ apenas se não houver convenção. As seguintes decisões e alternativas são suposições fictícias do projeto, não rankings universais de banco de dados:
# 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: Our measured concurrent-write requirements exceed the selected deployment's constraints; assess SQLite for the actual workload before rejecting it
### 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 muda, escreva um novo ADR que referencie e substitua o antigo.
Documentação Inline
Quando Comentar
Comente o porquê, não o o quê:
// BAD: Restates the code
// Increment counter by 1
counter += 1;
// GOOD: Explains non-obvious intent
// This simple counter resets its window on the first request after expiry.
// It is not a sliding-window limiter; assess bursts near the boundary.
if (now - windowStart > WINDOW_SIZE_MS) {
counter = 0;
windowStart = now;
}
Quando NÃO Comentar
// Don't comment self-explanatory code
function calculateTotal(items: CartItem[]): number {
return items.reduce((sum, item) => sum + item.price * item.quantity, 0);
}
// Don't leave TODO comments for things you should just do now
// TODO: add error handling ← Just add it
// Don't leave commented-out code
// const oldImplementation = () => { ... } ← Delete it, git has history
Documente "Gotchas" Conhecidos
/**
* IMPORTANTE: Esta função deve ser chamada antes da primeira renderização.
* Se chamada após a hidratação, causa um flash de conteúdo não estilizado
* porque o contexto do tema não está disponível durante o SSR.
*
…
Perguntas frequentes
O que é um ADR?
É um documento que registra o raciocínio por trás de decisões técnicas importantes, como a escolha de uma tecnologia ou a estrutura de dados.
Quando devo escrever um ADR?
Sempre que fizer uma escolha técnica significativa que seria difícil de reverter, como escolher um framework ou um banco de dados.
Devo documentar todo o código?
Não, apenas o código que tem uma lógica não óbvia ou um motivo específico para ser feito de uma certa maneira. Evite documentar o óbvio.
Detalhes
Descrição original do autor
Records decisions and documentation. Use when making architectural decisions, changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2868
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-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