wheels generate app-wizard
Interactive wizard for creating a new Wheels application.
Synopsis
wheels generate app-wizard [options]
wheels g app-wizard [options]
Description
The wheels generate app-wizard
command provides an interactive, step-by-step wizard for creating a new Wheels application. It guides you through all configuration options with helpful prompts and explanations, making it ideal for beginners or when you want to explore all available options.
Options
--expert
Show advanced options
false
--skip-install
Skip dependency installation
false
--help
Show help information
Interactive Process
Step 1: Application Name
? What is the name of your application? › myapp
Must be alphanumeric with hyphens/underscores
Used for directory and configuration names
Step 2: Template Selection
? Which template would you like to use? ›
❯ Base - Minimal Wheels application
Base@BE - Backend-only (no views)
HelloWorld - Simple example application
HelloDynamic - Database-driven example
HelloPages - Static pages example
Step 3: Target Directory
? Where should the application be created? › ./myapp
Defaults to
./{app-name}
Can specify absolute or relative path
Step 4: Database Configuration
? Would you like to configure a database? (Y/n) › Y
? Database type? ›
❯ H2 (Embedded)
MySQL
PostgreSQL
SQL Server
Custom
Step 5: Additional Features
? Select additional features: ›
◯ Bootstrap CSS framework
◯ jQuery library
◯ Sample authentication
◯ API documentation
◯ Docker configuration
Step 6: CFML Engine
? Which CFML engine will you use? ›
❯ Lucee 5
Lucee 6
Adobe ColdFusion 2018
Adobe ColdFusion 2021
Adobe ColdFusion 2023
Step 7: Security Settings
? Set reload password (leave blank for 'wheels'): › ****
? Enable CSRF protection? (Y/n) › Y
? Enable secure cookies? (y/N) › N
Step 8: Review & Confirm
Application Configuration:
─────────────────────────
Name: myapp
Template: Base
Directory: ./myapp
Database: H2 (Embedded)
Features: Bootstrap, jQuery
Engine: Lucee 5
Reload PWD: ****
? Create application with these settings? (Y/n) › Y
Wizard Flow
graph TD
A[Start Wizard] --> B[Enter App Name]
B --> C[Select Template]
C --> D[Choose Directory]
D --> E[Configure Database]
E --> F[Select Features]
F --> G[Choose CFML Engine]
G --> H[Security Settings]
H --> I[Review Configuration]
I --> J{Confirm?}
J -->|Yes| K[Create Application]
J -->|No| B
K --> L[Install Dependencies]
L --> M[Show Next Steps]
Expert Mode
Enable expert mode for additional options:
wheels generate app-wizard --expert
Additional prompts in expert mode:
Custom server ports
JVM settings
Environment-specific configurations
Advanced routing options
Custom plugin repositories
Build tool integration
Configuration Profiles
Save and reuse configurations:
Save Profile
? Save this configuration as a profile? (y/N) › Y
? Profile name: › enterprise-api
Use Profile
wheels generate app-wizard profile=enterprise-api
List Profiles
wheels generate app-wizard --list-profiles
Feature Descriptions
Bootstrap CSS
Includes Bootstrap 5.x
Responsive grid system
Pre-styled components
Example layouts
jQuery Library
Latest jQuery version
AJAX helpers configured
Example usage in views
Sample Authentication
User model with secure passwords
Login/logout controllers
Session management
Protected routes example
API Documentation
OpenAPI/Swagger setup
Auto-generated documentation
Interactive API explorer
Docker Configuration
Multi-stage Dockerfile
docker-compose.yml
Development & production configs
Database containers
Post-Creation Steps
After successful creation, the wizard displays:
✓ Application created successfully!
Next steps:
1. cd myapp
2. box install (or run manually if skipped)
3. box server start
4. Visit http://localhost:3000
Additional commands:
- wheels test Run tests
- wheels dbmigrate up Run migrations
- wheels generate Generate code
- wheels help Show all commands
Error Handling
The wizard handles common issues:
Invalid names: Suggests valid alternatives
Existing directories: Offers to overwrite or choose new location
Missing dependencies: Provides installation instructions
Configuration errors: Allows editing before creation
Validation Rules
Application Name
Start with letter
Alphanumeric plus
-
and_
No spaces or special characters
Not a reserved word
Directory Path
Must be writable
Cannot be system directory
Warns if not empty
Passwords
Minimum 6 characters
Strength indicator
Confirmation required
Customization
Custom Templates
Add templates to ~/.wheels/templates/
:
~/.wheels/templates/
├── my-template/
│ ├── template.json
│ ├── config/
│ ├── controllers/
│ └── views/
Template Configuration
template.json
:
{
"name": "My Custom Template",
"description": "Custom template for specific use case",
"author": "Your Name",
"version": "1.0.0",
"prompts": [
{
"name": "apiVersion",
"message": "API version?",
"default": "v1"
}
]
}
Integration
CI/CD Pipeline
Generate with CI configuration:
wheels generate app-wizard ci=github
Includes:
.github/workflows/test.yml
Build configuration
Deployment scripts
IDE Configuration
Generate with IDE files:
wheels generate app-wizard ide=vscode
Includes:
.vscode/settings.json
.vscode/launch.json
.editorconfig
Best Practices
Run wizard in empty directory
Choose descriptive application names
Configure database early
Enable security features for production
Save profiles for team consistency
Review all settings before confirming
Common Use Cases
API-Only Application
Choose Base@BE template
Skip Bootstrap/jQuery
Enable API documentation
Configure CORS settings
Traditional Web Application
Choose Base template
Include Bootstrap/jQuery
Add sample authentication
Configure session management
Microservice
Choose Base@BE template
Configure Docker
Set specific ports
Minimal dependencies
Troubleshooting
Wizard Freezes
Check terminal compatibility
Try
--no-interactive
modeCheck system resources
Installation Fails
Verify internet connection
Check CommandBox version
Try
--skip-install
and install manually
Configuration Issues
Review generated
.wheels-cli.json
Check
server.json
settingsVerify file permissions
See Also
wheels generate app - Non-interactive app generation
wheels init - Initialize existing directory
wheels scaffold - Generate CRUD scaffolding
Last updated
Was this helpful?