380 lines
9.7 KiB
Markdown
380 lines
9.7 KiB
Markdown
|
|
# 🚀 Rustelo Just Build System - Setup Complete!
|
||
|
|
|
||
|
|
## 📋 Overview
|
||
|
|
|
||
|
|
Your Rustelo project now has a comprehensive build and task management system using **Just** as the primary task runner, with modular scripts organized by functionality. This setup provides everything you need for development, testing, deployment, and maintenance.
|
||
|
|
|
||
|
|
## 🎯 Quick Start
|
||
|
|
|
||
|
|
### Essential Commands
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Show all available commands
|
||
|
|
just
|
||
|
|
|
||
|
|
# Show comprehensive help
|
||
|
|
just help-all
|
||
|
|
|
||
|
|
# System overview (recommended first run)
|
||
|
|
just overview
|
||
|
|
|
||
|
|
# Start development
|
||
|
|
just dev
|
||
|
|
|
||
|
|
# Build project
|
||
|
|
just build
|
||
|
|
|
||
|
|
# Run tests
|
||
|
|
just test
|
||
|
|
|
||
|
|
# Quality checks
|
||
|
|
just quality
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📁 Project Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
rustelo/
|
||
|
|
├── justfile # Main task runner configuration
|
||
|
|
├── scripts/ # Modular script system
|
||
|
|
│ ├── databases/ # Database management
|
||
|
|
│ │ ├── db.sh # Master database hub
|
||
|
|
│ │ ├── db-setup.sh # Setup & initialization
|
||
|
|
│ │ ├── db-migrate.sh # Migration management
|
||
|
|
│ │ ├── db-backup.sh # Backup & restore
|
||
|
|
│ │ ├── db-monitor.sh # Monitoring & health
|
||
|
|
│ │ └── db-utils.sh # Utilities & maintenance
|
||
|
|
│ ├── setup/ # Project setup
|
||
|
|
│ │ ├── install.sh # Main installer
|
||
|
|
│ │ ├── setup_dev.sh # Dev environment
|
||
|
|
│ │ └── setup-config.sh # Configuration
|
||
|
|
│ ├── tools/ # Advanced tooling
|
||
|
|
│ │ ├── performance.sh # Performance testing
|
||
|
|
│ │ ├── security.sh # Security auditing
|
||
|
|
│ │ ├── ci.sh # CI/CD pipeline
|
||
|
|
│ │ └── monitoring.sh # Application monitoring
|
||
|
|
│ ├── utils/ # General utilities
|
||
|
|
│ ├── overview.sh # System overview
|
||
|
|
│ ├── make-executable.sh # Script management
|
||
|
|
│ └── README.md # Comprehensive documentation
|
||
|
|
└── (other project files...)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🛠️ Command Categories
|
||
|
|
|
||
|
|
### 🚀 Development Commands
|
||
|
|
```bash
|
||
|
|
just dev # Start development server
|
||
|
|
just dev-port 3031 # Start on custom port
|
||
|
|
just dev-full # Start with CSS watching
|
||
|
|
just css-build # Build CSS files
|
||
|
|
just css-watch # Watch CSS changes
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🔨 Build Commands
|
||
|
|
```bash
|
||
|
|
just build # Development build
|
||
|
|
just build-prod # Production build
|
||
|
|
just build-features auth # Build with specific features
|
||
|
|
just clean # Clean build artifacts
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🧪 Testing Commands
|
||
|
|
```bash
|
||
|
|
just test # All tests
|
||
|
|
just test-coverage # Tests with coverage
|
||
|
|
just test-e2e # End-to-end tests
|
||
|
|
just test-watch # Watch mode testing
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🔍 Quality Commands
|
||
|
|
```bash
|
||
|
|
just check # Clippy checks
|
||
|
|
just check-strict # Strict clippy
|
||
|
|
just fmt # Format code
|
||
|
|
just fmt-check # Check formatting
|
||
|
|
just audit # Security audit
|
||
|
|
just quality # All quality checks
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🗄️ Database Commands
|
||
|
|
```bash
|
||
|
|
just db-setup # Complete database setup
|
||
|
|
just db-create # Create database
|
||
|
|
just db-migrate # Run migrations
|
||
|
|
just db-backup # Create backup
|
||
|
|
just db-restore backup.sql # Restore from backup
|
||
|
|
just db-status # Check status
|
||
|
|
just db-health # Health check
|
||
|
|
```
|
||
|
|
|
||
|
|
### ⚡ Performance Commands
|
||
|
|
```bash
|
||
|
|
just perf-benchmark # Load testing
|
||
|
|
just perf-stress # Stress testing
|
||
|
|
just perf-monitor # Live monitoring
|
||
|
|
just perf-report # Performance report
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🔒 Security Commands
|
||
|
|
```bash
|
||
|
|
just security-audit # Full security audit
|
||
|
|
just security-secrets # Scan for secrets
|
||
|
|
just security-deps # Check dependencies
|
||
|
|
just security-fix # Auto-fix issues
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🚀 CI/CD Commands
|
||
|
|
```bash
|
||
|
|
just ci-pipeline # Full CI/CD pipeline
|
||
|
|
just ci-build # Build Docker image
|
||
|
|
just ci-test # All tests
|
||
|
|
just ci-deploy-staging # Deploy to staging
|
||
|
|
just ci-deploy-prod # Deploy to production
|
||
|
|
```
|
||
|
|
|
||
|
|
### 📊 Monitoring Commands
|
||
|
|
```bash
|
||
|
|
just monitor-health # Health monitoring
|
||
|
|
just monitor-metrics # Metrics collection
|
||
|
|
just monitor-logs # Log analysis
|
||
|
|
just monitor-all # Monitor everything
|
||
|
|
just monitor-report # Generate report
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🐳 Docker Commands
|
||
|
|
```bash
|
||
|
|
just docker-build # Build image
|
||
|
|
just docker-run # Run container
|
||
|
|
just docker-up # Start compose
|
||
|
|
just docker-down # Stop compose
|
||
|
|
```
|
||
|
|
|
||
|
|
### 🔧 Utility Commands
|
||
|
|
```bash
|
||
|
|
just setup # Project setup
|
||
|
|
just update # Update dependencies
|
||
|
|
just info # System information
|
||
|
|
just health # Application health
|
||
|
|
just overview # System overview
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🎨 Features
|
||
|
|
|
||
|
|
### ✨ Modular Design
|
||
|
|
- **Categorized Scripts**: Organized by functionality (database, tools, setup, utils)
|
||
|
|
- **Master Hub Scripts**: Central control for each category
|
||
|
|
- **Consistent Interface**: Uniform command structure across all scripts
|
||
|
|
- **Extensible**: Easy to add new scripts and categories
|
||
|
|
|
||
|
|
### 🚀 Comprehensive Coverage
|
||
|
|
- **Development Workflow**: From setup to deployment
|
||
|
|
- **Database Management**: Setup, migration, backup, monitoring
|
||
|
|
- **Performance Testing**: Load testing, benchmarking, optimization
|
||
|
|
- **Security Auditing**: Vulnerability scanning, secret detection
|
||
|
|
- **CI/CD Pipeline**: Build, test, deploy automation
|
||
|
|
- **Monitoring**: Health checks, metrics, alerting
|
||
|
|
|
||
|
|
### 🔧 Developer Experience
|
||
|
|
- **Just Integration**: Unified task runner interface
|
||
|
|
- **Help System**: Comprehensive help for all commands
|
||
|
|
- **Error Handling**: Robust error checking and reporting
|
||
|
|
- **Logging**: Consistent logging with color coding
|
||
|
|
- **Progress Indicators**: Visual feedback for long-running tasks
|
||
|
|
|
||
|
|
### 📋 Automation Ready
|
||
|
|
- **CI/CD Integration**: Ready for GitHub Actions, GitLab CI, etc.
|
||
|
|
- **Docker Support**: Containerized builds and deployments
|
||
|
|
- **Environment Management**: Dev, staging, production configurations
|
||
|
|
- **Monitoring Setup**: Prometheus, Grafana integration ready
|
||
|
|
|
||
|
|
## 🔧 Configuration
|
||
|
|
|
||
|
|
### Environment Variables
|
||
|
|
Key environment variables used by the scripts:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Project Configuration
|
||
|
|
PROJECT_NAME=rustelo
|
||
|
|
ENVIRONMENT=dev
|
||
|
|
LOG_LEVEL=info
|
||
|
|
|
||
|
|
# Database
|
||
|
|
DATABASE_URL=postgresql://user:pass@localhost/db
|
||
|
|
|
||
|
|
# Docker
|
||
|
|
DOCKER_REGISTRY=docker.io
|
||
|
|
DOCKER_IMAGE=rustelo
|
||
|
|
DOCKER_TAG=latest
|
||
|
|
|
||
|
|
# Monitoring
|
||
|
|
METRICS_PORT=3030
|
||
|
|
GRAFANA_PORT=3000
|
||
|
|
PROMETHEUS_PORT=9090
|
||
|
|
```
|
||
|
|
|
||
|
|
### Script Options
|
||
|
|
Most scripts support common options:
|
||
|
|
- `--help` - Show help
|
||
|
|
- `--verbose` - Verbose output
|
||
|
|
- `--quiet` - Suppress output
|
||
|
|
- `--dry-run` - Show what would be done
|
||
|
|
- `--env ENV` - Specify environment
|
||
|
|
|
||
|
|
## 📚 Documentation
|
||
|
|
|
||
|
|
### Getting Help
|
||
|
|
```bash
|
||
|
|
# Show all available commands
|
||
|
|
just
|
||
|
|
|
||
|
|
# Category-specific help
|
||
|
|
just help-dev
|
||
|
|
just help-build
|
||
|
|
just help-db
|
||
|
|
just help-security
|
||
|
|
just help-ci
|
||
|
|
just help-monitor
|
||
|
|
|
||
|
|
# Comprehensive help
|
||
|
|
just help-all
|
||
|
|
|
||
|
|
# Script-specific help
|
||
|
|
./scripts/databases/db.sh --help
|
||
|
|
./scripts/tools/performance.sh --help
|
||
|
|
```
|
||
|
|
|
||
|
|
### Learning Resources
|
||
|
|
- **Scripts README**: `scripts/README.md` - Comprehensive script documentation
|
||
|
|
- **Database Scripts**: `scripts/databases/DATABASE_SCRIPTS.md` - Database operations guide
|
||
|
|
- **Main README**: `README.md` - Project overview and features
|
||
|
|
|
||
|
|
## 🚀 Next Steps
|
||
|
|
|
||
|
|
### 1. Initial Setup
|
||
|
|
```bash
|
||
|
|
# Check system status
|
||
|
|
just overview
|
||
|
|
|
||
|
|
# Setup project (if not done already)
|
||
|
|
just setup
|
||
|
|
|
||
|
|
# Setup database
|
||
|
|
just db-setup
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Development Workflow
|
||
|
|
```bash
|
||
|
|
# Start development
|
||
|
|
just dev-full
|
||
|
|
|
||
|
|
# In another terminal - run tests
|
||
|
|
just test-watch
|
||
|
|
|
||
|
|
# Check code quality
|
||
|
|
just quality
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Production Deployment
|
||
|
|
```bash
|
||
|
|
# Run full pipeline
|
||
|
|
just ci-pipeline
|
||
|
|
|
||
|
|
# Deploy to staging
|
||
|
|
just ci-deploy-staging
|
||
|
|
|
||
|
|
# Deploy to production
|
||
|
|
just ci-deploy-prod
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4. Monitoring Setup
|
||
|
|
```bash
|
||
|
|
# Setup monitoring tools
|
||
|
|
just monitor-setup
|
||
|
|
|
||
|
|
# Start monitoring
|
||
|
|
just monitor-all
|
||
|
|
|
||
|
|
# Generate reports
|
||
|
|
just monitor-report
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔧 Customization
|
||
|
|
|
||
|
|
### Adding New Commands
|
||
|
|
1. Add command to `justfile`
|
||
|
|
2. Create script in appropriate `scripts/` subdirectory
|
||
|
|
3. Make executable: `just scripts-executable`
|
||
|
|
4. Update documentation
|
||
|
|
|
||
|
|
### Extending Scripts
|
||
|
|
1. Follow existing script conventions
|
||
|
|
2. Use consistent logging functions
|
||
|
|
3. Add help documentation
|
||
|
|
4. Include error handling
|
||
|
|
|
||
|
|
### Environment Specific
|
||
|
|
- Use `.env` files for configuration
|
||
|
|
- Support multiple environments (dev/staging/prod)
|
||
|
|
- Implement feature flags where appropriate
|
||
|
|
|
||
|
|
## 🐛 Troubleshooting
|
||
|
|
|
||
|
|
### Common Issues
|
||
|
|
|
||
|
|
**Scripts not executable:**
|
||
|
|
```bash
|
||
|
|
just scripts-executable
|
||
|
|
```
|
||
|
|
|
||
|
|
**Missing dependencies:**
|
||
|
|
```bash
|
||
|
|
just setup-deps
|
||
|
|
```
|
||
|
|
|
||
|
|
**Database connection issues:**
|
||
|
|
```bash
|
||
|
|
just db-status
|
||
|
|
just db-setup
|
||
|
|
```
|
||
|
|
|
||
|
|
**Application not running:**
|
||
|
|
```bash
|
||
|
|
just health
|
||
|
|
just dev
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🤝 Contributing
|
||
|
|
|
||
|
|
When adding new scripts or commands:
|
||
|
|
1. Follow the established patterns
|
||
|
|
2. Add comprehensive help documentation
|
||
|
|
3. Include error handling and logging
|
||
|
|
4. Update this documentation
|
||
|
|
5. Test thoroughly
|
||
|
|
|
||
|
|
## 📞 Support
|
||
|
|
|
||
|
|
- **Documentation**: Check `scripts/README.md` for detailed script documentation
|
||
|
|
- **Overview**: Run `just overview` for system status
|
||
|
|
- **Help**: Use `just help-all` for comprehensive command reference
|
||
|
|
- **Issues**: Create issues in the project repository
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎉 Congratulations!
|
||
|
|
|
||
|
|
Your Rustelo project now has a powerful, modular build and task management system. You can:
|
||
|
|
|
||
|
|
✅ **Develop** with hot reloading and live CSS updates
|
||
|
|
✅ **Test** with comprehensive testing pipelines
|
||
|
|
✅ **Deploy** with automated CI/CD workflows
|
||
|
|
✅ **Monitor** with real-time health and performance tracking
|
||
|
|
✅ **Secure** with automated security auditing
|
||
|
|
✅ **Scale** with Docker containerization and orchestration
|
||
|
|
|
||
|
|
**Happy coding!** 🚀
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
*This setup was generated for the Rustelo Modern Rust Web Framework.*
|