Uma ferramenta de scaffolding moderna que utiliza IA para gerar estruturas de projetos em qualquer linguagem de programação, com foco em boas práticas e modularidade.
- 🤖 Integração com IA - Utiliza Gemini, GPT, OpenRouter ou Claude para gerar estruturas inteligentes
- 🔍 Avaliação de Qualidade - Sistema integrado que verifica a qualidade dos projetos antes de materializar
- 🔌 Sistema de Plugins - Arquitetura extensível através de plugins
- 🌍 Multi-linguagem - Suporte a qualquer linguagem de programação
- 📦 Scaffolding Inteligente - Estruturas otimizadas para cada tipo de projeto
- 🛠️ Configurável - Personalizável através de plugins e configurações
- 🪟 Suporte a Windows - Funciona perfeitamente em ambientes Windows
- 🧠 Contexto llms.txt - Scaffolding contextualizado baseado em arquivos de especificação
- 🔄 Modo Contextual - Expande projetos existentes de forma inteligente e segura
- Go 1.20 ou superior
- Chave de API de pelo menos um provedor de IA:
- Gemini (gratuita)
- OpenAI GPT (paga)
- OpenRouter (gratuita e paga)
- Claude (paga, via OpenRouter)
Você tem duas opções para instalar o Zion:
go install github.com/ktfth/zion@latest
# Configure o ambiente (cria diretórios necessários e plugin de exemplo)
zion setup# Clone o repositório
git clone https://github.com/ktfth/zion/.git
# Entre no diretório
cd zion
# Compile o projeto
go build
# Configure o ambiente (cria diretórios necessários e plugin de exemplo)
./zion setupO Zion suporta quatro provedores de IA: Gemini, GPT, OpenRouter e Claude. Você pode configurar qualquer um deles:
- Obtenha uma chave de API do Gemini em: https://makersuite.google.com/app/apikey
- Configure a chave de API:
# Windows PowerShell $env:GEMINI_API_KEY="sua-chave-aqui" # Linux/macOS export GEMINI_API_KEY="sua-chave-aqui"
- Configure como provider padrão:
# Windows PowerShell $env:ZION_AI_PROVIDER="gemini" # Linux/macOS export ZION_AI_PROVIDER="gemini"
- Obtenha uma chave de API do OpenAI em: https://platform.openai.com/account/api-keys
- Configure a chave de API:
# Windows PowerShell $env:OPENAI_API_KEY="sua-chave-aqui" # Linux/macOS export OPENAI_API_KEY="sua-chave-aqui"
- Configure o modelo padrão (opcional):
# Windows PowerShell $env:OPENAI_MODEL="gpt-4o" # Linux/macOS export OPENAI_MODEL="gpt-4o"
- Configure o número máximo de tokens (opcional):
# Windows PowerShell $env:OPENAI_MAX_TOKENS="2048" # Linux/macOS export OPENAI_MAX_TOKENS="2048"
- Configure a temperatura (opcional):
# Windows PowerShell $env:OPENAI_TEMPERATURE="0.7" # Linux/macOS export OPENAI_TEMPERATURE="0.7"
- Configure como provider padrão:
# Windows PowerShell $env:ZION_AI_PROVIDER="gpt" # Linux/macOS export ZION_AI_PROVIDER="gpt"
OpenRouter oferece acesso a múltiplos modelos de IA, incluindo opções gratuitas e pagas.
- Obtenha uma chave de API do OpenRouter em: https://openrouter.ai/keys
- Configure a chave de API:
# Windows PowerShell $env:OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui" # Linux/macOS export OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui"
- Configure o modelo (opcional):
# Windows PowerShell # Modelo gratuito (padrão) $env:OPENROUTER_MODEL="meta-llama/llama-3.2-3b-instruct:free" # Modelo pago de alta qualidade $env:OPENROUTER_MODEL="anthropic/claude-3-haiku" # Linux/macOS # Modelo gratuito (padrão) export OPENROUTER_MODEL="meta-llama/llama-3.2-3b-instruct:free" # Modelo pago de alta qualidade export OPENROUTER_MODEL="anthropic/claude-3-haiku"
- Configure o número máximo de tokens (opcional):
# Windows PowerShell $env:OPENROUTER_MAX_TOKENS="2048" # Linux/macOS export OPENROUTER_MAX_TOKENS="2048"
- Configure a temperatura (opcional):
# Windows PowerShell $env:OPENROUTER_TEMPERATURE="0.7" # Linux/macOS export OPENROUTER_TEMPERATURE="0.7"
- Configure como provider padrão:
# Windows PowerShell $env:ZION_AI_PROVIDER="openrouter" # Linux/macOS export ZION_AI_PROVIDER="openrouter"
O Claude pode ser usado de duas formas: através do OpenRouter ou como provider dedicado.
# Windows PowerShell
$env:OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui"
$env:ZION_AI_PROVIDER="openrouter"
$env:OPENROUTER_MODEL="anthropic/claude-3-haiku"
# Linux/macOS
export OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui"
export ZION_AI_PROVIDER="openrouter"
export OPENROUTER_MODEL="anthropic/claude-3-haiku"- Obtenha uma chave de API do OpenRouter em: https://openrouter.ai/keys
- Configure a chave de API:
# Windows PowerShell $env:CLAUDE_API_KEY="sk-or-v1-sua-chave-aqui" # Linux/macOS export CLAUDE_API_KEY="sk-or-v1-sua-chave-aqui"
- Configure o modelo Claude (opcional):
# Windows PowerShell $env:CLAUDE_MODEL="anthropic/claude-3-haiku" # Linux/macOS export CLAUDE_MODEL="anthropic/claude-3-haiku"
- Configure parâmetros adicionais (opcional):
# Windows PowerShell $env:CLAUDE_MAX_TOKENS="4096" $env:CLAUDE_TEMPERATURE="0.7" # Linux/macOS export CLAUDE_MAX_TOKENS="4096" export CLAUDE_TEMPERATURE="0.7"
- Configure como provider padrão:
# Windows PowerShell $env:ZION_AI_PROVIDER="claude" # Linux/macOS export ZION_AI_PROVIDER="claude"
anthropic/claude-3-haiku- Rápido e econômicoanthropic/claude-3-sonnet- Equilibrado (velocidade/qualidade)anthropic/claude-3-opus- Máxima qualidadeanthropic/claude-3-5-sonnet- Última geração
Gratuitos:
meta-llama/llama-3.2-3b-instruct:free- Llama 3.2 3B (padrão)qwen/qwen-2-7b-instruct:free- Qwen 2 7B
Pagos (Alta Qualidade):
anthropic/claude-3-haiku- Claude 3 Haikuopenai/gpt-3.5-turbo- GPT-3.5 Turboopenai/gpt-4- GPT-4google/gemini-pro- Gemini Prometa-llama/llama-3.1-8b-instruct- Llama 3.1 8B
Antes de gerar projetos, você pode gerenciar e configurar os provedores de IA:
# Listar todos os provedores disponíveis
zion provider list
# Ver qual provider está atualmente ativo
zion provider current
# Ver instruções de configuração para um provider específico
zion provider config gemini # Para Gemini
zion provider config gpt # Para GPT
zion provider config openrouter # Para OpenRouter
zion provider config claude # Para Claude
# Testar a conexão com um provider (após configurar)
zion provider test gemini
zion provider test gpt
zion provider test openrouter
zion provider test claude# Sintaxe básica
zion scaffold -l <linguagem> -n <nome-projeto> -d "<descrição>"
# Exemplo: Criar uma API GraphQL em TypeScript
zion scaffold -l typescript -n minha-api -d "API GraphQL com autenticação e banco de dados"# Usar OpenRouter com API key específica
zion scaffold -l python -n meu-projeto -d "API REST com FastAPI" \
-p openrouter -k "sk-or-v1-sua-chave-aqui"
# Usar OpenRouter com modelo específico
zion scaffold -l javascript -n frontend-app -d "App React moderno" \
-p openrouter -k "sk-or-v1-sua-chave-aqui" -m "anthropic/claude-3-haiku"
# Usar GPT com configurações específicas
zion scaffold -l go -n api-server -d "API REST em Go" \
-p gpt -k "sk-sua-chave-openai" -m "gpt-4"
# Usar Gemini
zion scaffold -l rust -n cli-tool -d "Ferramenta CLI em Rust" \
-p gemini -k "sua-chave-gemini"
# Usar Claude via OpenRouter
zion scaffold -l python -n ml-project -d "Projeto de Machine Learning" \
-p openrouter -k "sk-or-v1-sua-chave-aqui" -m "anthropic/claude-3-haiku"
# Usar Claude como provider dedicado
zion scaffold -l typescript -n web-app -d "Aplicação web moderna" \
-p claude -k "sk-or-v1-sua-chave-aqui" -m "anthropic/claude-3-sonnet"zion provider list- Lista todos os provedores disponíveiszion provider current- Mostra o provider atualmente ativozion provider config <provider>- Mostra instruções de configuraçãozion provider test <provider>- Testa a conexão com o provider
zion evaluate -f <arquivo> -l <linguagem>- Avalia a qualidade de um projeto-f, --file- Arquivo com a estrutura do projeto (JSON ou texto) (obrigatório)-l, --language- Linguagem do projeto (obrigatório)-o, --format- Formato de saída (text, json) (padrão: text)-d, --details- Mostrar análise detalhada por categoria
Exemplos de uso:
# Avaliar estrutura de um projeto Go
zion evaluate -f response.txt -l go
# Formato JSON para automação
zion evaluate -f project.json -l typescript --format json
# Relatório detalhado
zion evaluate -f structure.json -l python --detailsSistema de Avaliação Integrado:
- ✅ Avaliação automática no comando
scaffoldpor padrão - ✅ Bloqueio inteligente para projetos com issues críticos
- ✅ Score de qualidade de 0-100 com categorização
- ✅ Sugestões específicas para melhorias
- ✅ Verificação de segurança e vulnerabilidades
# Scaffold com avaliação automática (padrão)
zion scaffold -l go -n meu-projeto -d "API REST"
# Pular avaliação se necessário
zion scaffold -l go -n meu-projeto -d "API REST" --skip-evaluationCategorias de Análise:
- 🏗️ Estrutura: Organização de diretórios e convenções
- 📝 Nomenclatura: Padrões de nomes de arquivos e diretórios
- 📦 Dependências: Versões, vulnerabilidades e consistência
- ⚙️ Configuração: Arquivos de build e configurações válidas
- 🔒 Segurança: Vulnerabilidades e práticas inseguras
- 🛠️ Manutenibilidade: Documentação, testes e boas práticas
Para mais detalhes, consulte a documentação do sistema evaluator.
-l, --language- Linguagem do projeto (obrigatório)-n, --name- Nome do projeto (obrigatório)-d, --description- Descrição do projeto (opcional)-p, --provider- Provider de IA (gemini, gpt, openrouter, claude)-k, --api-key- API key específica para o provider-m, --model- Modelo específico do provider-r, --retries- Número máximo de tentativas em caso de falha (padrão: 3)
O Zion CLI possui um sistema de retry robusto que garante maior confiabilidade:
- Retry automático: Até 3 tentativas por padrão (configurável)
- Dois níveis: Retry na geração de conteúdo e na criação da estrutura
- Feedback visual: Mostra progresso e número de tentativas
- Intervalos inteligentes: 2s entre tentativas de geração, 1s entre tentativas de criação
Exemplo com retry customizado:
# Definir 5 tentativas máximas
zion scaffold -l go -n api-project -d "API REST completa" --retries 5
# Usar forma abreviada
zion scaffold -l typescript -n web-app -d "Aplicação web" -r 2Para mais detalhes, consulte a documentação do sistema de retry.
zion setup- Configura o ambiente inicialzion --help- Mostra ajuda geralzion <comando> --help- Mostra ajuda específica de um comando
O Zion AI implementa um sistema revolucionário de controle adaptativo que funciona como um camaleão, adaptando-se dinamicamente ao propósito específico do projeto:
- 🔍 Detecção Inteligente: Analisa automaticamente a descrição do projeto para identificar intenções
- 📏 Controle de Escopo: Adapta-se a diferentes níveis (mínimo, padrão, abrangente)
- 🔒 Obediência Estrita: Segue rigorosamente as instruções fornecidas
- ⚖️ Validação de Conformidade: Verifica se a saída está conforme as especificações
- 🏗️ Integração com Camadas: Funciona perfeitamente com geração em camadas
zion scaffold js "minha-api" "uma API REST simples apenas para CRUD de usuários"Resultado: Apenas arquivos essenciais para CRUD, sem testes, docker ou features extras.
zion scaffold js "minha-app" "uma aplicação completa com frontend, backend, testes e docker"Resultado: Solução completa com API, frontend, testes, Docker, CI/CD e documentação.
zion scaffold js "minha-app" "um sistema de gerenciamento de tarefas"Resultado: Estrutura balanceada com funcionalidade essencial e boas práticas.
- Escopo Mínimo: "apenas", "somente", "só", "básico", "simples"
- Escopo Abrangente: "completo", "abrangente", "robusto", "detalhado"
- Recursos Específicos: "api", "frontend", "testes", "docker", "banco"
- Exclusões: "sem testes", "sem docker", "não incluir"
| Característica | Gemini | GPT (OpenAI) | OpenRouter | Claude |
|---|---|---|---|---|
| Custo | Gratuito | Pago | Gratuito + Pago | Pago |
| Qualidade | Boa | Excelente | Varia por modelo | Excelente |
| Velocidade | Rápida | Rápida | Varia por modelo | Rápida |
| Modelos | Gemini 2.0 Flash | GPT-3.5/4 | 50+ modelos | Claude 3 família |
| Limite gratuito | Generoso | Não | Limitado | Não |
| Configuração | Simples | Simples | Flexível | Simples |
| Uso recomendado | Pessoal/Aprendizado | Profissional | Experimental/Flexível | Profissional/Análise |
- ✅ Projetos pessoais
- ✅ Aprendizado e experimentação
- ✅ Prototipagem rápida
- ✅ Sem restrições de orçamento
- ✅ Projetos profissionais
- ✅ Qualidade consistente
- ✅ Suporte oficial
- ✅ Documentação extensa
- ✅ Experimentação com múltiplos modelos
- ✅ Acesso a modelos de ponta
- ✅ Flexibilidade de escolha
- ✅ Opções gratuitas e pagas
- ✅ Análise profunda de código
- ✅ Respostas detalhadas e estruturadas
- ✅ Excelente para projetos complexos
- ✅ Forte capacidade de raciocínio
# 1. Configurar as variáveis de ambiente
export OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui"
export ZION_AI_PROVIDER="openrouter"
export OPENROUTER_MODEL="anthropic/claude-3-haiku"
# 2. Testar a configuração
zion provider test openrouter
# 3. Gerar um projeto
zion scaffold -l typescript -n ecommerce-app -d "Aplicação de e-commerce completa com React, TypeScript e Node.js"# Usar modelo gratuito diretamente na linha de comando
zion scaffold -l python -n ml-project -d "Projeto de Machine Learning com análise de dados" \
-p openrouter \
-k "sk-or-v1-sua-chave-aqui" \
-m "meta-llama/llama-3.2-3b-instruct:free"# Gerar o mesmo projeto com diferentes provedores
zion scaffold -l go -n api-rest -d "API REST com autenticação JWT" -p gemini -k "sua-chave-gemini"
zion scaffold -l go -n api-rest-gpt -d "API REST com autenticação JWT" -p gpt -k "sua-chave-openai"
zion scaffold -l go -n api-rest-openrouter -d "API REST com autenticação JWT" -p openrouter -k "sk-or-v1-sua-chave"# 1. Verificar provedores disponíveis
zion provider list
# 2. Configurar OpenRouter
zion provider config openrouter
# 3. Testar conexão
zion provider test openrouter
# 4. Gerar projeto com configurações específicas
zion scaffold \
-l javascript \
-n fullstack-app \
-d "Aplicação fullstack com Next.js, API REST e banco de dados PostgreSQL" \
-p openrouter \
-k "sk-or-v1-sua-chave-aqui" \
-m "anthropic/claude-3-haiku"
# 5. Verificar o projeto gerado
cd fullstack-app
ls -la# Configurar Claude como provider dedicado
export CLAUDE_API_KEY="sk-or-v1-sua-chave-aqui"
export ZION_AI_PROVIDER="claude"
export CLAUDE_MODEL="anthropic/claude-3-sonnet"
# Gerar um projeto complexo
zion scaffold -l typescript -n enterprise-app -d "Aplicação enterprise completa com microserviços, autenticação avançada, monitoramento, testes automatizados e CI/CD"
# Ou usar Claude via OpenRouter
zion scaffold -l python -n ai-project -d "Sistema de IA com processamento de linguagem natural, análise de sentimentos e API RESTful" \
-p openrouter -k "sk-or-v1-sua-chave-aqui" -m "anthropic/claude-3-haiku"# Gerar o mesmo projeto com todos os provedores disponíveis
PROJECT_DESC="API GraphQL com autenticação, cache Redis e banco PostgreSQL"
# Gemini (gratuito)
zion scaffold -l go -n api-gemini -d "$PROJECT_DESC" -p gemini -k "sua-chave-gemini"
# GPT (pago)
zion scaffold -l go -n api-gpt -d "$PROJECT_DESC" -p gpt -k "sua-chave-openai"
# OpenRouter (modelo gratuito)
zion scaffold -l go -n api-openrouter-free -d "$PROJECT_DESC" \
-p openrouter -k "sk-or-v1-sua-chave" -m "meta-llama/llama-3.2-3b-instruct:free"
# Claude via OpenRouter (pago)
zion scaffold -l go -n api-claude-openrouter -d "$PROJECT_DESC" \
-p openrouter -k "sk-or-v1-sua-chave" -m "anthropic/claude-3-haiku"
# Claude dedicado (pago)
zion scaffold -l go -n api-claude -d "$PROJECT_DESC" -p claude -k "sk-or-v1-sua-chave"# 1. Verificar provedores disponíveis
zion provider list
# 2. Configurar OpenRouter
zion provider config openrouter
# 3. Testar conexão
zion provider test openrouter
# 4. Gerar projeto com configurações específicas
zion scaffold \
-l javascript \
-n fullstack-app \
-d "Aplicação fullstack com Next.js, API REST e banco de dados PostgreSQL" \
-p openrouter \
-k "sk-or-v1-sua-chave-aqui" \
-m "anthropic/claude-3-haiku"
# 5. Verificar o projeto gerado
cd fullstack-app
ls -la- Gemini: Gratuito, bom para projetos pessoais e aprendizado
- GPT: Pago, excelente qualidade, ideal para projetos profissionais
- OpenRouter: Flexível, oferece tanto opções gratuitas quanto pagas
meta-llama/llama-3.2-3b-instruct:free(OpenRouter - Gratuito)- Gemini (Google - Gratuito)
anthropic/claude-3-haiku(OpenRouter - Pago)openai/gpt-4(OpenRouter/OpenAI - Pago)gpt-3.5-turbo(OpenAI - Pago)
openai/gpt-4(Máxima qualidade)anthropic/claude-3-sonnet(OpenRouter - Pago)anthropic/claude-3-opus(OpenRouter - Máxima qualidade Claude)
anthropic/claude-3-haiku(Rápido e econômico)anthropic/claude-3-5-sonnet(Última geração Claude)
Para facilitar o uso, você pode criar um script de configuração:
# setup-zion.sh (Linux/macOS)
#!/bin/bash
export OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui"
export ZION_AI_PROVIDER="openrouter"
export OPENROUTER_MODEL="anthropic/claude-3-haiku"
export OPENROUTER_MAX_TOKENS="4096"
export OPENROUTER_TEMPERATURE="0.7"
# Alternativa: usar Claude como provider dedicado
# export CLAUDE_API_KEY="sk-or-v1-sua-chave-aqui"
# export ZION_AI_PROVIDER="claude"
# export CLAUDE_MODEL="anthropic/claude-3-sonnet"# setup-zion.ps1 (Windows PowerShell)
$env:OPENROUTER_API_KEY="sk-or-v1-sua-chave-aqui"
$env:ZION_AI_PROVIDER="openrouter"
$env:OPENROUTER_MODEL="anthropic/claude-3-haiku"
$env:OPENROUTER_MAX_TOKENS="4096"
$env:OPENROUTER_TEMPERATURE="0.7"
# Alternativa: usar Claude como provider dedicado
# $env:CLAUDE_API_KEY="sk-or-v1-sua-chave-aqui"
# $env:ZION_AI_PROVIDER="claude"
# $env:CLAUDE_MODEL="anthropic/claude-3-sonnet"O Zion possui um sistema de plugins robusto que permite estender suas funcionalidades:
-
Plugins Estáticos (Windows)
- Implementados diretamente no código fonte
- Requerem recompilação do Zion
-
Plugins Dinâmicos (Linux/macOS)
- Arquivos
.socarregados em tempo de execução - Podem ser adicionados sem recompilação
- Arquivos
BeforeGeneration- Executado antes da geração do scaffoldModifyPrompt- Permite modificar o prompt enviado à IAAfterGeneration- Executado após a geração do scaffold
- Windows:
%APPDATA%\Local\Zion\plugins - Linux/macOS:
~/.github.com/ktfth/zion/plugins
- Fork o projeto
- Crie sua branch de feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add: nova funcionalidade') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Issues: Use o GitHub Issues para reportar problemas
- Documentação: Consulte a Wiki para documentação detalhada
- Exemplos: Veja a pasta
examples/para exemplos de uso
- Plugins no Windows: Os plugins são implementados estaticamente devido a limitações do Go com plugins dinâmicos no Windows
- Chaves de API: É necessário configurar pelo menos um provedor de IA para o funcionamento da ferramenta
- Caracteres especiais: Alguns caracteres especiais (como @ em pacotes npm) podem requerer tratamento especial
- OpenRouter:
- Oferece modelos gratuitos e pagos
- Requer conta no OpenRouter.ai
- Modelos gratuitos têm limitações de uso
- Verifique os preços dos modelos pagos antes de usar
- Seleção automática: O Zion seleciona automaticamente o provider baseado nas chaves de API disponíveis:
- Prioridade: GEMINI_API_KEY → OPENAI_API_KEY → OPENROUTER_API_KEY → CLAUDE_API_KEY
- Use
ZION_AI_PROVIDERpara forçar um provider específico
# Solução: Recompilar o projeto
go build -o zion.exe .
# Ou verificar se o provider está registrado
zion provider list# Verificar se a variável de ambiente está definida
echo $OPENROUTER_API_KEY # Linux/macOS
echo $env:OPENROUTER_API_KEY # Windows PowerShell
# Ou usar a flag -k diretamente
zion scaffold -l go -n teste -p openrouter -k "sua-chave-aqui"- Verifique se a API key está correta
- Confirme se tem saldo/créditos (para modelos pagos)
- Teste com um modelo gratuito primeiro
- Para Claude: verifique se está usando a chave do OpenRouter
- Aguarde um pouco e tente novamente (rate limiting)
- Considere usar um modelo com menos demanda
# Verificar modelos disponíveis no OpenRouter
# Usar modelos conhecidos como:
zion scaffold -l python -n teste -p openrouter -k "sua-chave" -m "meta-llama/llama-3.2-3b-instruct:free"# Verificar configuração atual
zion provider current
# Testar conexão
zion provider test openrouter
zion provider test claude
# Verificar todos os provedores
zion provider list- Guia Completo do OpenRouter - Documentação detalhada do provider OpenRouter
- Uso do OpenRouter na CLI - Exemplos práticos de uso
- Resumo dos Providers - Comparação técnica entre providers
- Implementação OpenRouter - Detalhes técnicos da implementação
- Claude Provider - Documentação Técnica - Documentação técnica completa do Claude
- Guia de Uso - Claude Provider - Guia prático de uso do Claude
- OpenRouter.ai - Site oficial do OpenRouter
- OpenRouter Models - Lista de modelos disponíveis
- OpenRouter Pricing - Preços dos modelos
- OpenAI API - Plataforma OpenAI
- Google AI Studio - Plataforma Gemini
⭐️ Se este projeto te ajudou, considere dar uma estrela!