Gerador automático de diagramas C4 usando OpenAI GPT. Crie documentação de arquitetura de software de forma rápida e consistente!
- 🤖 IA Integrada: Usa GPT-4 para gerar diagramas inteligentes
- 📊 4 Níveis C4: Context, Container, Component e Code
- 🎨 Múltiplos Formatos: Mermaid, PlantUML, Structurizr DSL
- 🔄 Progressivo: Cada nível usa contexto do anterior
- 📱 CLI Interativo: Interface amigável no terminal
- 📁 Auto-organização: Gera arquivos organizados + README
# 1. Instalar dependências
npm install
# 2. Configurar API Key
cp env.example .env
# Edite .env e adicione sua OPENAI_API_KEY
# 3. Testar instalação
npm test
# 4. Gerar primeiro diagrama
npm start- Node.js >= 18.0.0
- OpenAI API Key (obtenha em: https://platform.openai.com/api-keys)
- npm ou yarn
npm start
# ou
node index.js generateO CLI vai perguntar:
- Nome do projeto
- Descrição do sistema
- Domínio/setor
- Tecnologias principais
- Níveis C4 para gerar
- Formato de saída
node index.js exampleGera um exemplo completo de sistema e-commerce.
# Gerar diagramas interativamente
node index.js generate
# Gerar com opções
node index.js generate --project "MeuSistema" --output "./docs"
# Gerar exemplo
node index.js example
# Ver ajuda
node index.js --help
# Executar testes
npm test- Para: Executivos, Product Managers
- Mostra: Sistema principal + atores + sistemas externos
- Formato: Visão de negócio
- Para: Arquitetos, Tech Leads
- Mostra: Aplicações, APIs, bancos, tecnologias
- Formato: Arquitetura técnica
- Para: Desenvolvedores
- Mostra: Controllers, Services, Repositories
- Formato: Estrutura interna
- Para: Implementação
- Mostra: Classes, métodos, implementação
- Formato: Código funcional
| Formato | Extensão | Visualizar Em |
|---|---|---|
| Mermaid | .mmd |
https://mermaid.live/ |
| PlantUML | .puml |
http://www.plantuml.com/plantuml/ |
| Structurizr DSL | .dsl |
https://structurizr.com/ |
output/
├── README.md
├── meu-sistema-context.mmd
├── meu-sistema-container.mmd
├── meu-sistema-component.mmd
└── meu-sistema-code.js
# Obrigatório
OPENAI_API_KEY=sk-your-key-here
# Opcional
MODEL=gpt-4o-mini
MAX_TOKENS=2000
TEMPERATURE=0.7O gerador detecta automaticamente:
- Node.js/JavaScript → Gera código ES6+
- Java/Spring Boot → Gera código Java
- Python/Django → Gera código Python
- C#/.NET → Gera código C#
- Go → Gera código Go
npm start
# Nome: E-commerce Platform
# Descrição: Sistema de vendas online com catálogo e pagamentos
# Tecnologias: React, Node.js, PostgreSQL, Redis
# Níveis: Context, Container, Componentnpm start
# Nome: Banking API
# Descrição: API para operações bancárias e transferências
# Tecnologias: Java, Spring Boot, Oracle, Apache Kafka
# Níveis: Context, Container, Component, Codenpm start
# Nome: Hospital Management
# Descrição: Sistema de gestão hospitalar com prontuários
# Tecnologias: Python, Django, PostgreSQL, Redis
# Níveis: Context, Containerc4-generator/
├── src/
│ └── c4-generator.js # Classe principal
├── index.js # CLI interface
├── test.js # Testes
├── package.json
├── README.md
└── env.example # Configuração exemplo
# Watch mode
npm run dev
# Executar testes
npm test
# Debug
DEBUG=* npm start- Fork o projeto
- Crie uma branch:
git checkout -b feature/nova-funcionalidade - Commit:
git commit -m 'Adiciona nova funcionalidade' - Push:
git push origin feature/nova-funcionalidade - Abra um Pull Request
| Nível | Tokens Médios | Custo (GPT-4o-mini) |
|---|---|---|
| Context | 500 | ~$0.0003 |
| Container | 800 | ~$0.0005 |
| Component | 1200 | ~$0.0007 |
| Code | 1500 | ~$0.0009 |
| Total | 4000 | ~$0.0024 |
- Context: ~5-10 segundos
- Container: ~8-15 segundos
- Component: ~10-20 segundos
- Code: ~15-30 segundos
cp env.example .env
# Edite .env e adicione sua chave- Verifique se a API key está correta
- Verifique sua conexão com internet
- Verifique se tem créditos na conta OpenAI
- Copie o código gerado para os visualizadores online
- Verifique se a sintaxe está correta
- Tente regenerar com prompt mais específico
- Seja mais específico na descrição
- Mencione tecnologias específicas
- Inclua detalhes do domínio de negócio
MIT License - veja LICENSE para detalhes.
- Issues: Reporte bugs em GitHub Issues
- Discussões: Participe das GitHub Discussions
- Email: seuemail@exemplo.com
- Templates por setor (fintech, healthcare, e-commerce)
- Integração com Git (auto-commit diagramas)
- API REST para integração
- Plugin VSCode
- Suporte a mais formatos (Draw.io, Lucidchart)
- Modo batch (múltiplos projetos)
⭐ Se este projeto te ajudou, deixe uma estrela no GitHub!