CLI Overview
Quick Start Guide
wheels info
wheels reload
wheels deps
wheels destroy
wheels watch
wheels generate app
wheels generate app-wizard
wheels generate controller
wheels generate model
wheels generate view
wheels generate property
wheels generate route
wheels generate resource
wheels generate api-resource
wheels generate frontend
wheels generate test
wheels generate snippets
wheels scaffold
wheels db create
wheels db drop
wheels db setup
wheels db reset
wheels db status
wheels db version
wheels db rollback
wheels db seed
wheels db dump
wheels db restore
wheels db shell
wheels db schema
wheels dbmigrate info
wheels dbmigrate latest
wheels dbmigrate up
wheels dbmigrate down
wheels dbmigrate reset
wheels dbmigrate exec
wheels dbmigrate create blank
wheels dbmigrate create table
wheels dbmigrate create column
wheels dbmigrate remove table
wheels test
wheels test run
wheels test coverage
wheels test debug
wheels config list
wheels config set
wheels config env
wheels env
wheels env setup
wheels env list
wheels env switch
wheels environment
wheels console
wheels runner
wheels server
wheels server start
wheels server stop
wheels server restart
wheels server status
wheels server log
wheels server open
wheels plugins
wheels plugins list
wheels plugins install
wheels plugins remove
wheels analyze
wheels analyze code
wheels analyze performance
wheels analyze security
wheels security
wheels security scan
wheels optimize
wheels optimize performance
wheels docs
wheels docs generate
wheels docs serve
wheels ci init
wheels docker init
wheels docker deploy
wheels deploy
wheels deploy audit
wheels deploy exec
wheels deploy hooks
wheels deploy init
wheels deploy lock
wheels deploy logs
wheels deploy proxy
wheels deploy push
wheels deploy rollback
wheels deploy secrets
wheels deploy setup
wheels deploy status
wheels deploy stop
Configuration Management
Creating Commands
Service Architecture
Migrations Guide
Testing Guide
Object Relational Mapping
Creating Records
Reading Records
Updating Records
Deleting Records
Column Statistics
Dynamic Finders
Getting Paginated Data
Associations
Nested Properties
Object Validation
Object Callbacks
Calculated Properties
Transactions
Dirty Records
Soft Delete
Automatic Time Stamps
Using Multiple Data Sources
wheels generate app-wizard
This command works correctly without options (parameters). Option support is under development and will be available soon.
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
| Option | Description | Default |
|--------|-------------|---------|
| --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
mode - Check 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
settings - Verify file permissions
See Also
- wheels generate app - Non-interactive app generation
- wheels init - Initialize existing directory
- wheels scaffold - Generate CRUD scaffolding
- Synopsis
- Options
- Interactive Process
- Step 1: Application Name
- Step 2: Template Selection
- Step 3: Target Directory
- Step 4: Database Configuration
- Step 5: Additional Features
- Step 6: CFML Engine
- Step 7: Security Settings
- Step 8: Review & Confirm
- Wizard Flow
- Expert Mode
- Configuration Profiles
- Save Profile
- Use Profile
- List Profiles
- Bootstrap CSS
- jQuery Library
- Sample Authentication
- API Documentation
- Docker Configuration
- Post-Creation Steps
- Error Handling
- Validation Rules
- Application Name
- Directory Path
- Passwords
- Customization
- Custom Templates
- Template Configuration
- Integration
- CI/CD Pipeline
- IDE Configuration
- Best Practices
- Common Use Cases
- API-Only Application
- Traditional Web Application
- Microservice
- Troubleshooting
- Wizard Freezes
- Installation Fails
- Configuration Issues
- See Also