Available Features
Currently, the CLI supports Docker containerization. Additional features like ESLint, Prettier, Jest, and GitHub Actions are defined in the codebase but not yet fully implemented in the interactive prompts.Docker
Multi-stage Dockerfile and docker-compose setup for development and production
ESLint
Coming soon - Code linting and quality checks
Prettier
Coming soon - Automated code formatting
Jest
Coming soon - Testing framework setup
GitHub Actions
Coming soon - CI/CD workflow automation
Docker
When you enable Docker, the CLI generates a production-optimized multi-stage Dockerfile and a complete docker-compose.yml configuration.Features
- Multi-stage build - Separate stages for dependencies, development, build, and production
- Database services - Automatic configuration for PostgreSQL, MySQL, or MongoDB
- Health checks - Built-in health monitoring for all services
- Volume management - Persistent data storage for databases
- Development mode - Hot reload with tsx watch
- Production optimization - Minimal runtime image with non-root user
Generated Files
Dockerfile Structure
The generated Dockerfile includes four optimized stages: Stage 1: DependenciesFull Dockerfile Example
Full Dockerfile Example
Docker Compose Configuration
Thedocker-compose.yml includes your application and selected database:
- PostgreSQL
- MySQL
- MongoDB
Docker Commands
Development Mode:.dockerignore
The CLI generates a.dockerignore file to exclude unnecessary files:
Health Checks
Both the application and database include health checks: Application Health Check:- Endpoint:
http://localhost:8000/health/app - Interval: 30 seconds
- Timeout: 5 seconds
- Retries: 3
- Start period: 5 seconds
- PostgreSQL:
pg_isreadycommand - MySQL:
mysqladmin pingcommand - MongoDB:
mongosh --eval "db.runCommand('ping')"
Health Check Endpoint
Health Check Endpoint
The CLI generates a health check endpoint:Health Routes (Health Controller (
src/routes/health-routes.ts):src/controllers/health-controller.ts):Coming Soon
The following features are planned for future releases:ESLint
- Configured ESLint with TypeScript support
- Recommended rule sets for Node.js
- Integration with VS Code
- Pre-commit hooks
Prettier
- Automatic code formatting
- Consistent style across team
- Integration with ESLint
- Format on save
Jest
- Unit testing framework setup
- TypeScript configuration
- Coverage reporting
- Test scripts in package.json
GitHub Actions
- CI/CD workflow templates
- Automated testing on push
- Linting and type checking
- Deployment workflows
These features are defined in the codebase enums but not yet fully implemented. Check the GitHub repository for updates.
Quick Start
Best Practices
Development Workflow
Development Workflow
- Use
docker-compose upfor local development - Mount source code as volume for hot reload
- Keep database data in named volumes
- Use separate
.env.developmentand.env.production
Production Deployment
Production Deployment
- Build with
--target runnerfor minimal image - Use non-root user (automatically configured)
- Enable health checks for container orchestration
- Store secrets in orchestrator (Kubernetes, Docker Swarm)
Database Management
Database Management
- Always use named volumes for persistence
- Backup volumes before major updates
- Use health checks to verify database readiness
- Consider external databases for production