deb-tool
v1.0.9
Published
A comprehensive CLI tool for automatically bootstrapping Docker-based development environments for Node.js/Express projects. Analyzes project structure, detects required services, and generates optimized configurations for both development and production
Maintainers
Readme
DevEnvBootstrap (DEB)
🚀 A comprehensive CLI tool for automatically bootstrapping Docker-based development environments for Node.js/Express projects. Analyzes project structure, detects required services, and generates optimized configurations for both development and production environments.
Features
- 🔍 Smart Project Analysis: Auto-detect project structure, dependencies, and required services
- 🐳 Docker Configuration: Generate optimized Dockerfiles and docker-compose configurations
- 🛠️ Service Integration: Automatically configure MongoDB, Redis, RabbitMQ and other services
- ⚡ TypeScript Support: First-class support for TypeScript projects
- 🔄 Environment Management: Intelligent environment variable detection and configuration
- 🔒 Production Ready: Generate secure configurations for production deployment
Installation
# Install globally
npm install -g deb-tool
# Or use it directly with npx
npx deb-toolQuick Start
# Scan your project
deb scan
# Analyze your project structure
deb analyze
# For Express.js projects
deb express analyze
deb express generate -i # Interactive modeCommands
Project Analysis
deb scan [dir]- Scan project directory for Express.js setupdeb analyze [dir]- Analyze project structure and dependencies
Express.js Commands
deb express analyze [dir]- Analyze Express.js project- Options:
--json- Output results as JSON
- Options:
deb express generate [dir]- Generate Docker configuration- Options:
-d, --dev- Generate development configuration-p, --port <number>- Override port number--node-version <version>- Specify Node.js version-i, --interactive- Use interactive configuration
- Options:
Example Usage
Basic Express.js Project
# Create a new project
mkdir my-express-app && cd my-express-app
npm init -y
# Install Express.js
npm install express
# Generate Docker configuration
deb express generate -i
# Start development environment
docker compose up -dWith TypeScript and Services
# Analyze project
deb express analyze
# Generate Docker configuration with custom settings
deb express generate \
--dev \
--port 3000 \
--node-version 20-alpineConfiguration
DEB supports various configuration options through:
- Interactive prompts (
-iflag) - Command line arguments
- Configuration file (
.devenvrc.json)
Example configuration:
{
"docker": {
"mode": "development",
"port": 3000,
"nodeVersion": "20-alpine",
"volumes": ["./src:/app/src"]
}
}Documentation
API References
Guides
Examples
Project Status
| Feature | Status | |------------------------|--------| | Project Analysis | ✅ | | Docker Generation | ✅ | | Service Detection | ✅ | | TypeScript Support | ✅ | | Interactive Config | ✅ | | Environment Handling | ✅ | | Test Coverage (82%) | ✅ | | Multi-service Support | ✅ | | Binaries (Win/Mac/Linux) | ✅ | | Documentation | ✅ | | Error Handling | ✅ |
Contributing
We welcome contributions! Please see our Contributing Guide for details.
# Clone the repository
git clone https://github.com/SpongeBUG/DEB.git
cd DEB
# Install dependencies
npm install
# Run tests
npm testLicense
This project is licensed under the MIT License - see the LICENSE file for details.
Support
Acknowledgments
Special thanks to all contributors and these amazing open-source projects:
- Commander.js - CLI framework
- TypeScript - Type safety
- Docker - Containerization
- Jest - Testing framework
- Semantic Release - Release automation
Built with ❤️ by the SpongeBUG team
