This document outlines proposed improvements to the Wheels CLI tool (wheels-cli CommandBox module).
New Command: wheels watch
Description: Monitors file changes in the application and automatically reloads the application during development.
Implementation:
- Use file system watchers to detect changes in controllers, models, views, and config files
- Automatically trigger application reload when changes are detected
- Provide options to watch specific directories or file types
- Include a live notification system for developers
New Commands:
wheels test:coverage- Generate code coverage reports for testswheels test:debug- Run tests with interactive debugging capabilities
Implementation:
- Integrate with TestBox's coverage reporting features
- Add detailed output options for test results
- Provide selective test execution based on tags or patterns
- Include visual code coverage reports
New Command: wheels generate api-resource [name]
Description: Creates RESTful API endpoints with proper content negotiation.
Implementation:
- Generate controller with API-specific actions (GET, POST, PUT, DELETE)
- Include proper content negotiation and response formats
- Create documentation templates for API endpoints
- Add options for authentication integration
New Command: wheels generate frontend [framework]
Description: Scaffold and integrate modern frontend frameworks with Wheels.
Implementation:
- Support popular frameworks like React, Vue, Alpine.js
- Generate proper asset pipeline configuration
- Include build process integration
- Add example components and templates
New Commands:
wheels config:list- List all configuration settingswheels config:set- Set configuration valueswheels config:env- Manage environment-specific settings
Implementation:
- Create consistent interface for managing application settings
- Support environment variable management
- Add encryption for sensitive configuration values
- Include validation for configuration values
New Command: wheels deps [action]
Description: Manage Wheels-specific dependencies and plugins with version control.
Implementation:
- Add commands to install, update, and remove Wheels plugins
- Create dependency tracking and resolution
- Include compatibility checking between components
- Generate dependency reports
New Command: wheels analyze [target]
Description: Identify performance bottlenecks in applications.
Implementation:
- Add profiling tools for controller actions and view rendering
- Create database query analysis tools
- Include memory usage reporting
- Generate performance reports with recommendations
New Commands:
wheels db:seed- Generate and populate test datawheels db:schema- Visualize the current database schema
Implementation:
- Create data generation factories for models
- Add visualization tools for database relationships
- Include data import/export capabilities
- Support seed data management for different environments
New Command: wheels ci:init [platform]
Description: Generate CI/CD configuration files for popular platforms.
Implementation:
- Support GitHub Actions, GitLab CI, Jenkins, and other popular CI systems
- Include testing, building, and deployment workflows
- Add environment configuration for different stages
- Create documentation for CI/CD best practices
New Commands:
wheels docker:init- Initialize Docker configuration for developmentwheels docker:deploy- Create production-ready Docker configurations
Implementation:
- Generate Dockerfiles and docker-compose configurations
- Include multi-stage builds for optimization
- Add environment configuration for containers
- Create documentation for Docker best practices
- Create a fork of the wheels-cli repository
- Implement features in order of priority
- Add comprehensive documentation for each new command
- Include tests for all new functionality
- Submit pull requests to the main wheels-cli repository
These improvements will significantly enhance the developer experience when working with Wheels applications, bringing modern workflow practices to the framework.