CLI Reference - @koalarx/nest-cli
A CLI oficial da biblioteca @koalarx/nest facilita a criação de novos projetos estruturados automaticamente.
Instalação da CLI
bash
npm install -g @koalarx/nest-cliRequisitos:
- Node.js 20.18.0 ou superior
Comandos Disponíveis
Criar Novo Projeto
bash
koala-nest new <nome-do-projeto>Exemplos:
bash
# Criar um projeto chamado "meu-app"
koala-nest new meu-app
# Entrar na pasta do projeto
cd meu-app
# Executar as migrations no banco de dados
bun run prisma:deploy
# Iniciar em modo desenvolvimento
bun run start:devO que a CLI Configura Automaticamente
Quando você cria um novo projeto com a CLI, ele inclui:
📁 Estrutura de Pastas
src/
├── host/ # Camada de entrada
│ ├── app.module.ts # Módulo principal
│ ├── main.ts # Ponto de entrada
│ └── controllers/ # Controladores
├── core/ # Configuração central
│ ├── env.ts # Variáveis de ambiente
│ └── database/ # Configuração do banco
├── application/ # Lógica de aplicação
│ ├── handlers/ # Command handlers
│ └── mapping/ # AutoMapper profiles
├── domain/ # Lógica de negócio
│ ├── entities/ # Entidades
│ ├── repositories/ # Interfaces de repositório
│ ├── dtos/ # Data Transfer Objects
│ └── services/ # Serviços de domínio
├── infra/ # Implementação técnica
│ ├── database/ # Repositories concretos
│ ├── services/ # Serviços técnicos
│ └── mappers/ # Mapeadores
└── test/ # Utilitários de teste🛠️ Configuração Incluída
- ✅ Módulo KoalaNest - Configurado e pronto para uso
- ✅ Prisma ORM - Integrado com PostgreSQL
- ✅ Redis - Configurado para sincronização de background services
- ✅ Padrões de Autenticação - Templates para implementar Guards com JWT ou API Key
- ✅ Documentação Swagger/Scalar - API documentada automaticamente
- ✅ Tratamento de Erros - Filtros de exceção configurados
- ✅ Validação com Zod - Schema validation pronto
- ✅ Exemplo Prático - Entidade de exemplo (Pessoa) para referência
📦 Dependências Instaladas
bash
# Core
@koalarx/nest
@nestjs/common
@nestjs/core
@nestjs/config
@nestjs/platform-express
# Banco de Dados
@prisma/client
prisma
# Autenticação
@nestjs/jwt
@nestjs/passport
passport-jwt
# Validação
zod
# Documentação
@nestjs/swagger
@scalar/nestjs-api-reference
# Utilitários
ioredis
dotenv
reflect-metadata
# Desenvolvimento
typescript
@types/node
ts-node
tsxPróximos Passos Após Criar o Projeto
Configure as variáveis de ambiente (.env)
bash# O arquivo .env já foi criado com valores padrão # Edite-o conforme necessário nano .envInicie o banco de dados (se usar PostgreSQL via Docker)
bash# O projeto já vem com migrations de exemplo # Execute-as no banco de dados: bun run prisma:deploy⚠️ Importante: O CLI não executa
prisma:deployautomaticamente. Você precisa rodá-lo manualmente após configurar o banco de dados para aplicar as migrations e poder executar o projeto de demonstração.Inicie a aplicação
bashbun run start:devAcesse a documentação
- Scalar UI:
http://localhost:3000/doc - Swagger:
http://localhost:3000/api
- Scalar UI:
Exemplos de Uso
Criar um Projeto Simples
bun run prisma:deploy # Aplicar migrations de exemplo bun run start:dev
Seu blog API estará rodando em `http://localhost:3000` com:
- Exemplo de entidade (Pessoa)
- Endpoints CRUD funcionais
- Autenticação
Seu blog API estará rodando em `http://localhost:3000` com:
- Exemplo de entidade (Pessoa)
- Endpoints CRUD funcionais
- Autenticação JWT configurada
- Documentação interativa
### Estrutura Gerada Exemplo
O projeto criado inclui:
- **PersonController** - Exemplo de controlador REST
- **PersonService** - Exemplo de serviço de domínio
- **PersonRepository** - Exemplo de repositório
- **Migrations Prisma** - Schema de exemplo para rodar
## Troubleshooting
### Node.js Versão Incompatível
```bash
# Verifique sua versão
node --version
# Você precisa da versão 20.18.0 ou superior
# Atualize node se necessárioProblemas com Permissões no Linux/Mac
bash
# Se receber erro de permissão, use sudo
sudo npm install -g @koalarx/nest-cliLimpar Cache de Instalação
bash
npm cache clean --force
npm install -g @koalarx/nest-cliRepositório da CLI
Para mais informações, contribuições ou reportar bugs:
- GitHub: koala-nest-cli
- NPM: @koalarx/nest-cli
Links Úteis
- Guia de Instalação - Mais detalhes sobre setup manual
- Configuração Inicial - Entender a estrutura criada
- Exemplo Prático - Aprender com exemplos completos e funcionando