██████╗ ██████╗ ██████╗ ███████╗██╗██████╗ ███████╗████████╗
██╔══██╗██╔═══██╗██╔════╝ ██╔════╝██║██╔══██╗██╔════╝╚══██╔══╝
██║ ██║██║ ██║██║ █████╗ ██║██████╔╝███████╗ ██║
██║ ██║██║ ██║██║ ██╔══╝ ██║██╔══██╗╚════██║ ██║
██████╔╝╚██████╔╝╚██████╗ ██║ ██║██║ ██║███████║ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═╝
Documentation-First Approach
Template profissional de arquitetura de software com IA determinística
🚀 Início Rápido • 📖 Documentação • 💡 Exemplos • 🤝 Contribuindo • 📜 Licença
Um boilerplate completo e pronto para produção que elimina alucinações de IA através de especificações determinísticas.
Este template implementa uma abordagem científica e comprovada para desenvolvimento de software assistido por IA, reduzindo alucinações de 60-80% para <10% através de especificações Arc42, diagramas C4, cenários BDD e 64 regras (39 quality + 25 security).
- ❌ Desenvolvimento Tradicional com IA
- "Crie um sistema de login"
- ↓
- IA interpreta de 10²⁰ formas diferentes
- ↓
- Taxa de alucinação: 60-80%
- ↓
- Código não corresponde aos requisitos
- ↓
- Retrabalho constante, débito técnico
+ ✅ Abordagem Documentation-First
+ POST /api/auth/login
+ Body: {email: string (max 255, RFC 5322), password: string (min 8)}
+ Response 200: {access_token: jwt, refresh_token: jwt, expires_in: 7200}
+ Errors: 400 INVALID_EMAIL, 401 INVALID_CREDENTIALS, 429 RATE_LIMIT
+ ↓
+ IA interpreta deterministicamente (1 forma correta)
+ ↓
+ Taxa de alucinação: <10%
+ ↓
+ Código 100% alinhado com requisitos
+ ↓
+ Zero retrabalho, qualidade consistente✅ Claude Code instalado → https://claude.ai/code
✅ Git configurado
✅ Node.js 18+ (opcional, para validações)# 1. Clone o template
git clone https://github.com/yourusername/arq-specs-template.git meu-projeto
cd meu-projeto
# 2. Remova o histórico do template
rm -rf .git
# 3. Inicie seu próprio repositório
git init
git add .
git commit -m "feat: projeto inicial baseado em Documentation-First"
# 4. (Opcional) Configure validações
chmod +x .claude/hooks/*.sh
chmod +x .claude/validators/**/*.shAbra o projeto no Claude Code e execute:
# 1️⃣ Defina a visão do projeto
/vision Criar uma plataforma de e-commerce B2B com gestão de inventário
# 2️⃣ Defina a stack tecnológica
/stack Node.js 20, TypeScript 5, PostgreSQL 15, Redis 7, Docker
# 3️⃣ Crie sua primeira feature
/feature Usuário completa checkout e recebe confirmação de pagamento por email
# 4️⃣ Implemente o código
/code🎉 Pronto! Você agora tem:
- ✅ Documentação Arc42 completa (12 capítulos)
- ✅ Cenários BDD em formato Gherkin
- ✅ Diagramas C4 (Contexto, Container, Componente)
- ✅ ADRs (Architectural Decision Records)
- ✅ Código de produção com testes (≥80% cobertura)
- ✅ Código organizado com DDD Tactical Co-Located
- ✅ Zero alucinações de IA
|
Construído sobre frameworks consagrados da engenharia de software:
|
7 fases totalmente automatizadas por agentes especializados:
|
| Métrica | Antes | Depois | 🎯 Melhoria |
|---|---|---|---|
| Taxa de Alucinação da IA | 60-80% | <10% | ⬇️ 85% |
| Taxa de Retrabalho | 50-70% | <15% | ⬇️ 78% |
| Cobertura de Testes | Variável | ≥80% | ✅ Consistente |
| Débito Técnico | Alto | Baixo | ✅ Controlado |
| Previsibilidade | Imprevisível | Previsível | ✅ 100% |
| Qualidade do Código | Inconsistente | Excelente | ⬆️ Profissional |
Execute no Claude Code para documentar seu projeto:
/vision # 🎯 Visão, objetivos, stakeholders, escopo
/stack # 🏗️ Tech stack, constraints, ADR inicial
/actor # 👤 Atores e sistemas externos
/container # 📦 Serviços de alto nível (C4 L2)
/component # 🧩 Componentes internos (C4 L3)
/plan # 📐 Criar building blocks + runtime
/rule # 📏 Criar/atualizar regras de qualidade
/feature # 🎭 Criar cenários BDD completos
/flow # 🔄 Documentar fluxos de runtime
/build # 🚀 Deployment, CI/CD, qualidade
/cross # 🌐 Conceitos transversais (segurança, logging)
/adr # 📝 Registrar decisões arquiteturais
/code # 💻 Implementar a partir das specs
/import # 📥 Importar documentos externos
/stats # 📊 Dashboard de saúde do projetoAgentes inteligentes que trabalham para você:
| Agente | Fase | Responsabilidade |
|---|---|---|
| analyst | 1, 3 | 📊 Discovery + Especificação detalhada |
| architect | 2 | 🏗️ Design de arquitetura (apenas HIGH complexity) |
| orchestrator | 3.5 | 🔪 Decomposição de tarefas (CRÍTICO!) |
| developer | 4 | 💻 Implementação de código + testes |
| gatekeeper | 4 | 🚪 Quality gates entre tarefas |
| reviewer | 5 | 🔍 Code review automatizado |
| tester | 5 | 🧪 Validação de testes |
| documenter | 6 | 📖 Atualização de documentação |
| guardian | 7 | 🛡️ Validação pré-commit |
Scripts que garantem qualidade:
# Validar estrutura DDD
.claude/validators/code/ddd-structure.sh
# Validar qualidade de cenários BDD
.claude/validators/specification/bdd-quality.sh
# Validar completude Arc42
.claude/validators/specification/arc42-completeness.sh
# Validar qualidade do README
.claude/validators/documentation/readme-quality.shAprenda com exemplos completos e profissionais:
Arquitetura:
- 🏛️ Diagrama C4 Context completo (E-commerce)
- 📝 ADR completo (Monolito Modular vs Microsserviços)
BDD Scenarios:
- 🔐 Login de usuário (5 cenários)
- 💳 Checkout e pagamento (5 cenários com Stripe)
Regras de Qualidade:
- 📏 Regra 001: Máximo 1 nível de indentação
- 🚫 Regra 002: Sem cláusula ELSE
Explore todos: .claude/examples/
arq-specs-template/
│
├── 📂 .claude/ # ⚙️ Configuração do Claude Code
│ ├── commands/ # 💬 15 comandos slash
│ ├── skills/ # 🤖 10 agentes especializados
│ ├── rules/ # 📏 64 regras (39 quality + 25 security)
│ ├── templates/ # 📄 Templates Arc42, C4, BDD, ADR, Security
│ ├── examples/ # 💡 8 exemplos práticos
│ ├── prompts/ # 📝 Prompts de automação
│ ├── validators/ # ✅ Scripts de validação
│ └── hooks/ # 🪝 Hooks de automação
│
├── 📂 specs/ # 📖 Documentação Arc42 (12 capítulos)
│ ├── 01_introduction/ # Visão, objetivos, stakeholders
│ ├── 02_constraints/ # Restrições técnicas e organizacionais
│ ├── 03_context/ # Contexto do sistema (C4 Nível 1)
│ ├── 04_solution-strategy/ # Estratégia de solução
│ ├── 05_building-blocks/ # Containers + Componentes (C4 L2-3)
│ ├── 06_runtime/ # Runtime + Cenários BDD
│ ├── 07_deployment/ # Visão de deployment
│ ├── 08_crosscutting/ # Conceitos transversais
│ ├── 09_decisions/ # ADRs (decisões arquiteturais)
│ ├── 10_quality/ # Requisitos de qualidade
│ ├── 11_risks/ # Riscos + débito técnico
│ └── 12_glossary/ # Linguagem ubíqua
│
├── 📂 changes/ # 🔄 Mudanças ativas em desenvolvimento
│ └── [change-id]/
│ ├── proposal.md # Fase 1: Discovery
│ ├── design.md # Fase 2: Architecture
│ ├── spec.md # Fase 3: Specification
│ └── tasks.md # Fase 3.5: Task decomposition
│
├── 📂 src/ # 💻 Código-fonte (DDD Co-Located)
│ └── [bounded-context]/[container]/[component]/
│ ├── index.ts # Aggregate root (exports)
│ ├── criar-[entity].ts # Factory
│ ├── [action]-[entity].ts # Use case
│ ├── [Entity].ts # Entity
│ ├── [ValueObject].ts # Value Object
│ └── [component].spec.ts # Testes (≥80% cobertura)
│
├── 📂 .github/ # 🔧 Configurações GitHub
│ ├── ISSUE_TEMPLATE/ # Templates de issues
│ ├── PULL_REQUEST_TEMPLATE.md # Template de PR
│ └── workflows/ # GitHub Actions (CI/CD)
│
├── 📄 README.md # 📖 Este arquivo
├── 📄 CONTRIBUTING.md # 🤝 Guia de contribuição
├── 📄 CODE_OF_CONDUCT.md # 🤝 Código de conduta
├── 📄 SECURITY.md # 🔒 Política de segurança
├── 📄 CHANGELOG.md # 📋 Histórico de versões
├── 📄 LICENSE # ⚖️ Licença MIT
└── 📄 .claudeignore # 🚫 Arquivos ignorados pelo Claude
Features são automaticamente classificadas para determinar o workflow ideal:
| Complexidade | Critérios | Workflow | Exemplo |
|---|---|---|---|
| 🟢 LOW |
• 1 bounded context • <5 arquivos • Padrões estabelecidos |
Fases 1, 3, 4-7 (pula architecture) |
• Validação de email • Novo campo • Ajuste de UI |
| 🟡 MEDIUM |
• Múltiplos componentes • 5-15 arquivos • Alguns padrões novos |
Fases 1, 3-7 (pula architecture) |
• Feature CRUD • 3-5 use cases • Novo módulo |
| 🔴 HIGH |
• Múltiplos bounded contexts • >15 arquivos • Decisões arquiteturais |
Fases 1-7 (workflow completo) |
• Sistema de pagamentos • Autenticação completa • Integração complexa |
Por que a decomposição de tarefas é CRÍTICA:
❌ Sem Decomposição (Orchestrator):
┌─────────────────────────────────────────────────────────┐
│ Spec de 5000 linhas │
│ ↓ │
│ IA carrega tudo no contexto │
│ ↓ │
│ Complexidade de atenção O(n²) │
│ ↓ │
│ "Lost in the Middle" (Liu et al. 2023) │
│ ↓ │
│ IA alucina e gera código incorreto │
│ ↓ │
│ Taxa de erro: 60-80% │
└─────────────────────────────────────────────────────────┘
✅ Com Orchestrator (Decomposição):
┌─────────────────────────────────────────────────────────┐
│ Spec de 5000 linhas │
│ ↓ │
│ Orchestrator decompõe → 50 tasks × 100 LOC │
│ ↓ │
│ Developer processa task por task │
│ ↓ │
│ Contexto pequeno (~500 linhas) mantém determinismo │
│ ↓ │
│ IA gera código 100% correto │
│ ↓ │
│ Taxa de erro: <10% │
└─────────────────────────────────────────────────────────┘
Ciência por trás:
- 📚 Contextos grandes (5000+ linhas) → Dispersão de atenção
- 🎯 Contextos pequenos (~500 linhas) → Foco determinístico
- 📖 Baseado em "Lost in the Middle" - Liu et al. 2023
Spec ambígua: "Criar sistema de usuários"
↓
|Ω| = k^n
onde:
k = interpretações possíveis por decisão (≈10)
n = decisões necessárias (≈20)
|Ω| = 10²⁰ implementações possíveis
IA escolhe probabilisticamente
↓
Taxa de erro: 60-80%
Arc42 + C4 + BDD + ADR + 39 Regras de Qualidade
↓
Espaço colapsado para ~10 implementações
funcionalmente equivalentes
↓
|Ω| ≈ 10
IA gera deterministicamente
↓
Taxa de erro: <10%
Redução = 10²⁰ / 10 = 10¹⁹
Redução de 19 ordens de magnitude!
Esta fundação matemática demonstra cientificamente como especificações determinísticas transformam outputs probabilísticos em determinísticos.
| 📄 Documento | 📝 Descrição | 👥 Público |
|---|---|---|
| README.md | Documentação principal e quick start | 👥 Todos |
| .claude/README.md | Arquitetura completa do sistema | 👨💻 Desenvolvedores, Arquitetos |
| CONTRIBUTING.md | Como contribuir para o projeto | 🤝 Contribuidores |
| CODE_OF_CONDUCT.md | Diretrizes da comunidade | 🤝 Contribuidores |
| SECURITY.md | Política de segurança | 🔒 Pesquisadores de segurança |
| CHANGELOG.md | Histórico de versões | 📋 Todos |
| 📂 Diretório | 📋 Conteúdo | 📊 Quantidade |
|---|---|---|
.claude/commands/ |
Comandos slash | 15 |
.claude/skills/ |
Agentes especializados | 9 |
.claude/rules/ |
Regras de qualidade | 39 |
.claude/templates/ |
Templates determinísticos | 21 |
.claude/examples/ |
Exemplos práticos | 8 |
specs/ |
Capítulos Arc42 | 12 |
Validação de Email
# No Claude Code
/feature Validar formato de email antes do registro de usuário
# Implementar
/code⏱️ Tempo: ~30 minutos 📊 Resultado:
✅ specs/06_runtime/scenarios/SCN-001_validar-email.md
✅ src/user-management/api/usuario/Email.ts (Value Object)
✅ src/user-management/api/usuario/Email.spec.ts (Testes)
✅ src/user-management/api/usuario/validar-email.ts (Use Case)
✅ Cobertura de testes: 92%
✅ Todas as 64 regras aplicadas (39 quality + 25 security)
Autenticação OAuth2 Completa
# No Claude Code - inicie com o analyst
@analyst "Adicionar autenticação OAuth2 com Google, GitHub e Microsoft"⏱️ Tempo: ~8 horas (automatizado) vs ~40 horas (manual) 📊 Resultado:
Fase 1: Discovery
✅ changes/oauth2/proposal.md
Complexidade: HIGH detectada automaticamente
Fase 2: Architecture
✅ changes/oauth2/design.md
✅ specs/09_decisions/adr/ADR-003_oauth2-providers.md
✅ specs/09_decisions/adr/ADR-004_token-storage.md
✅ specs/09_decisions/adr/ADR-005_refresh-strategy.md
Fase 3: Specification
✅ changes/oauth2/spec.md (Arc42 + BDD)
✅ specs/06_runtime/scenarios/SCN-010-015_oauth2.md
Fase 3.5: Task Decomposition (CRÍTICO!)
✅ changes/oauth2/tasks.md
47 tarefas × ~100 LOC cada
Fase 4-7: Implementation + Review + Documentation
✅ 47 arquivos de código implementados
✅ 47 arquivos de teste (cobertura ≥80%)
✅ Documentação completa atualizada
✅ Todas as validações aprovadas
❌ Organização Tradicional (Camadas Técnicas)
src/
├── domain/
│ ├── entities/
│ │ └── Usuario.ts
│ └── value-objects/
│ └── Email.ts
├── application/
│ └── services/
│ └── UsuarioService.ts
└── infrastructure/
└── repositories/
└── UsuarioRepository.ts
Problemas:
- 😵 Domínio obscurecido pela estrutura técnica
- 🔀 Baixa coesão (arquivos relacionados espalhados)
- 🗺️ Difícil navegar pelo domínio
- 📦 Alta cerimônia
✅ Organização Documentation-First (Co-Localizada)
src/user-management/api/usuario/
├── index.ts # Aggregate root (exports)
├── criar-usuario.ts # Factory function
├── Usuario.ts # Entity
├── Email.ts # Value Object
├── Senha.ts # Value Object
├── registrar.ts # Use case: Registrar usuário
├── autenticar.ts # Use case: Autenticar
├── recuperar-senha.ts # Use case: Recuperar senha
└── usuario.spec.ts # Testes (tudo junto)
Benefícios:
- ✅ Domínio transparente na estrutura
- ✅ Alta coesão (tudo relacionado junto)
- ✅ Fácil navegar (domínio = pastas)
- ✅ Zero cerimônia
|
🚀 Projetos Novos
🤖 Desenvolvimento com IA
👥 Times Distribuídos
|
🏢 Domínios Complexos
🔧 Manutenção de Longo Prazo
📋 Conformidade Regulatória
|
| ❌ Cenário | 💡 Por Quê |
|---|---|
| Protótipo/código descartável | Overhead desnecessário para experimentos rápidos |
| CRUD simples sem domínio | Pode ser excessivo para aplicações triviais |
| Prazos apertados + requisitos vagos | Requer clareza inicial para funcionar bem |
Contribuições são muito bem-vindas! 🎉
- 🍴 Fork este repositório
- 🌿 Crie uma branch (
git checkout -b feature/MinhaFeature) - 💻 Faça suas alterações
- ✅ Teste suas mudanças
- 📝 Commit (
git commit -m 'feat: adiciona MinhaFeature') - 📤 Push (
git push origin feature/MinhaFeature) - 🔀 Abra um Pull Request
Por favor, leia CONTRIBUTING.md para detalhes sobre:
- 📋 Processo de pull request
- 🐛 Como reportar bugs
- 💡 Como sugerir melhorias
- 🎨 Diretrizes de estilo
- 🧪 Como executar testes
Este projeto está licenciado sob a Licença MIT - veja LICENSE para detalhes.
MIT License - Livre para uso comercial e pessoal
✅ Uso comercial
✅ Modificação
✅ Distribuição
✅ Uso privado
Esta abordagem é construída sobre os ombros de gigantes da engenharia de software:
|
Arc42 Peter Hruschka Gernot Starke |
C4 Model Simon Brown |
BDD Dan North |
|
DDD Eric Evans |
Clean Code Robert C. Martin |
Claude Code Anthropic |
- Lost in the Middle (Liu et al. 2023) - Fundação científica para Fase 3.5
- Arc42 Documentation - Framework de documentação
- C4 Model - Visualização de arquitetura
- Domain-Driven Design (Evans, 2003) - Tactical patterns
- 📖 Documentação Completa
- 💬 Discussões
- 🐛 Issues
- 📋 Roadmap
- 📚 Wiki
- ✅ Template completo Arc42 (12 capítulos)
- ✅ 15 comandos slash funcionais
- ✅ 10 agentes especializados (+ security-analyst)
- ✅ 64 regras (39 quality + 25 security)
- ✅ 5 frameworks de segurança (OWASP ASVS, STRIDE, Top 10, CWE, NIST SSDF)
- ✅ Tradução completa para Português BR
- ✅ 8 exemplos práticos
- ✅ Validadores automáticos
- 🔄 GitHub Actions CI/CD
- 🔄 Docker Compose setup
- 🔄 CLI tool para geração de projetos
- 🔄 VS Code extension
- 🔄 Mais exemplos (GraphQL, gRPC, Event Sourcing)
✨ Determinismo sobre Caos ✨
Desenvolvido com 🇧🇷 por desenvolvedores, para desenvolvedores