Command Line Tools
wheels generate app-wizard
wheels generate app-wizard
Section titled “wheels generate app-wizard”Interactive wizard for creating a new Wheels application with guided setup.
Synopsis
Section titled “Synopsis”wheels generate app-wizard [options]
#Can also be used as:wheels g app-wizard [options]wheels new [options]Parameter Syntax
Section titled “Parameter Syntax”CommandBox supports multiple parameter formats:
- Named parameters:
name=value(e.g.,name=MyApp,template=wheels-base-template@BE) - Flag parameters:
--flagequalsflag=true(e.g.,--expertequalsexpert=true) - Param with value:
--param=valueequalsparam=value(e.g.,--skipInstall=true)
Note: Flag syntax (--flag) avoids positional/named parameter conflicts and is recommended for boolean options.
Description
Section titled “Description”The wheels generate app-wizard command provides an interactive, step-by-step wizard for creating a new Wheels application. It guides you through configuration options with helpful prompts, making it ideal for beginners or when you want to explore available options.
Options
Section titled “Options”| Option | Description | Valid Values | Default |
|---|---|---|---|
directory | Directory to create app in | Valid directory path | {current directory}/{name} |
reloadPassword | Reload password for the app | Any string | changeMe |
datasourceName | Database datasource name | Valid datasource name | {app name} |
cfmlEngine | CFML engine for server.json | lucee5, lucee6, lucee7, adobe2018, adobe2021, adobe2023, adobe2025, boxlang, etc. | lucee |
useBootstrap | Add Bootstrap to the app | true, false | false |
setupH2 | Setup H2 database for development | true, false | true |
init | Initialize directory as a package | true, false | false |
force | Force installation into non-empty directory | true, false | false |
nonInteractive | Run without prompts using defaults | true, false | false |
expert | Show advanced configuration options | true, false | false |
skipInstall | Skip dependency installation after creation | true, false | false |
Interactive Wizard Steps
Section titled “Interactive Wizard Steps”Step 1: Application Name
Section titled “Step 1: Application Name”Please enter a name for your application: MyWheelsApp- Validates name format (alphanumeric, underscores, hyphens)
- Checks for reserved names
- Creates directory with this name
Step 2: Template Selection
Section titled “Step 2: Template Selection”Which Wheels Template shall we use?❯ 3.0.x - Wheels Base Template - Bleeding Edge 2.5.x - Wheels Base Template - Stable Release Wheels Template - HTMX - Alpine.js - Simple.css Wheels Starter App Wheels - TodoMVC - HTMX - Demo App Enter a custom template endpointStep 3: Reload Password
Section titled “Step 3: Reload Password”Please enter a 'reload' password for your application: changeMe- Used for
?reload=true&password=xxxfunctionality - Secures application reload via URL
Step 4: Database Configuration
Section titled “Step 4: Database Configuration”Please enter a datasource name if different from MyWheelsApp: MyWheelsApp- Sets datasource name in configuration files
- You’ll configure the actual datasource in your CFML server admin
Step 5: CFML Engine Selection
Section titled “Step 5: CFML Engine Selection”Please select your preferred CFML engine?❯ Lucee (Latest) Adobe ColdFusion (Latest) BoxLang (Latest) Lucee 7.x Lucee 6.x Lucee 5.x Adobe ColdFusion 2025 Adobe ColdFusion 2023 Adobe ColdFusion 2021 Adobe ColdFusion 2018 Enter a custom engine endpointStep 6: H2 Database Setup (Lucee Only, if skipInstall=false)
Section titled “Step 6: H2 Database Setup (Lucee Only, if skipInstall=false)”H2 Java embedded SQL database for development? [y,n]- Only shown when using Lucee engine
- Only asked if
skipInstall=false - Sets up embedded H2 database for development
Step 7: Dependencies (if skipInstall=false)
Section titled “Step 7: Dependencies (if skipInstall=false)”========= Dependencies ======================Configure dependencies and plugins for your application.
Would you like us to setup some default Bootstrap settings? [y/n]- Only shown if
skipInstall=false - Configures Bootstrap CSS framework
- Additional dependencies may be added here
Step 8: Package Initialization
Section titled “Step 8: Package Initialization”Finally, shall we initialize your application as a packageby creating a box.json file? [y,n]- Creates box.json for ForgeBox package management
- Always asked regardless of
skipInstallsetting
Step 9: Expert Mode (if expert=true)
Section titled “Step 9: Expert Mode (if expert=true)”========= Expert Mode: Advanced Configuration ==========Configure advanced options for your application.
Custom server port (leave empty for default 8080): 8080Custom JVM settings (e.g. -Xmx512m -Xms256m):Setup custom environment configurations (dev, staging, production)? [y,n]Enable advanced routing features (nested resources, constraints)? [y,n]Custom plugin repositories (comma-separated URLs):Build tool integration? [None/Apache Ant/Gradle/Maven/NPM Scripts]Step 10: Configuration Review
Section titled “Step 10: Configuration Review”+-----------------------------------------------------------------------------------+| Great! Think we're all good to go. We're going to create a Wheels application for || you with the following parameters. |+-----------------------+-----------------------------------------------------------+| Template | wheels-base-template@BE || Application Name | MyWheelsApp || Install Directory | D:\path\to\MyWheelsApp || Reload Password | changeMe || Datasource Name | MyWheelsApp || CF Engine | lucee || Setup H2 Database | true | (if applicable)| Setup Bootstrap | false | (if applicable)| Initialize as Package | true || Force Installation | false || Skip Dependency Install | false |+-----------------------+-----------------------------------------------------------+
Sound good? [y/n]skipInstall Parameter Behavior
Section titled “skipInstall Parameter Behavior”The skipInstall parameter significantly changes the wizard experience:
When skipInstall=false (default)
Section titled “When skipInstall=false (default)”- Asks about H2 database setup (if using Lucee)
- Asks about Bootstrap dependencies
- Shows “Dependencies” section
- Includes dependency settings in summary table
- Installs dependencies after app creation
When skipInstall=true
Section titled “When skipInstall=true”- Skips H2 database question (even with Lucee)
- Skips Bootstrap dependency question
- Shows “Dependencies Skipped” message with explanation
- Excludes dependency settings from summary table
Dependencies Skipped Message
Section titled “Dependencies Skipped Message”========= Dependencies Skipped ================Dependency installation is disabled (skipInstall=true).Dependencies like Bootstrap and H2 database will not be configured or installed.Examples
Section titled “Examples”Basic Interactive Wizard
Section titled “Basic Interactive Wizard”wheels generate app-wizardRuns full interactive wizard with all prompts.
Skip All Dependencies
Section titled “Skip All Dependencies”wheels generate app-wizard --skipInstallRuns wizard but skips H2 database and Bootstrap questions.
Expert Mode
Section titled “Expert Mode”wheels generate app-wizard --expertIncludes advanced configuration options like custom ports and JVM settings.
Non-Interactive Mode
Section titled “Non-Interactive Mode”wheels generate app-wizard --nonInteractiveUses all defaults, no prompts. Creates app immediately.
Expert Mode Options
Section titled “Expert Mode Options”When --expert is enabled, additional configuration options are available:
Server Configuration
Section titled “Server Configuration”- Custom server port: Override default port 8080
- JVM settings: Custom memory and performance settings
Environment Setup
Section titled “Environment Setup”- Custom environment configurations: Setup dev, staging, production configs
- Advanced routing features: Enable nested resources and route constraints
Development Tools
Section titled “Development Tools”- Custom plugin repositories: Additional ForgeBox endpoints
Non-Interactive Mode
Section titled “Non-Interactive Mode”Use --nonInteractive to bypass all prompts:
Default Values Used
Section titled “Default Values Used”- Name:
MyWheelsApp - Template:
wheels-base-template@BE - Reload Password:
changeMe - Datasource Name: Same as app name
- CFML Engine:
lucee - Directory:
{current directory}/{name}
Override Defaults
Section titled “Override Defaults”wheels generate app-wizard --nonInteractive name=CustomApp template=wheels-starter-app --cfmlEngine=adobePost-Creation Steps
Section titled “Post-Creation Steps”After successful creation:
Model generation complete!
Next steps: 1. Review generated configuration files 2. Configure your datasource in CFML server admin 3. box server start (to start development server) 4. Visit http://localhost:8080
Additional commands: - wheels generate model User name:string,email:string - wheels generate controller Users - wheels dbmigrate up (run database migrations) - wheels test run (run tests)Validation Rules
Section titled “Validation Rules”Application Name
Section titled “Application Name”- Must start with a letter
- Can contain letters, numbers, underscores, and hyphens
- Cannot contain spaces or special characters
- Cannot exceed 50 characters
- Cannot be a reserved name (con, prn, aux, nul, wheels, etc.)
Directory Path
Section titled “Directory Path”- Must be a valid file system path
- Parent directory must exist and be writable
- Will warn if target directory is not empty (unless
--forceused)
Error Handling
Section titled “Error Handling”Common Issues and Solutions
Section titled “Common Issues and Solutions”Invalid application name:
'123app' is not valid. Application name must start with a letter.Please try again: MyAppDirectory not empty:
Target directory is not empty. Use --force to overwrite, or choose a different location.Missing dependencies:
Warning: Some dependencies could not be installed.Run 'box install' in your application directory to install them manually.Best Practices
Section titled “Best Practices”- Use descriptive names: Choose clear, project-specific application names
- Review configuration: Check the summary table before confirming
- Consider skipInstall: Use
--skipInstallfor custom dependency management - Expert mode for production: Use
--expertfor production-ready configurations - Save time with non-interactive: Use
--nonInteractivein automated scripts - Template selection: Choose templates that match your project requirements
Troubleshooting
Section titled “Troubleshooting”Wizard Hangs or Freezes
Section titled “Wizard Hangs or Freezes”- Check terminal compatibility
- Try
--nonInteractivemode - Ensure adequate system resources
Installation Failures
Section titled “Installation Failures”- Verify internet connection for template downloads
- Check CommandBox version compatibility
- Try
--skipInstalland install dependencies manually - Check file permissions in target directory
Configuration Issues
Section titled “Configuration Issues”- Review generated
server.jsonfile - Verify datasource configuration in CFML admin
- Check application settings in
/config/app.cfm
See Also
Section titled “See Also”- wheels generate app - Non-interactive app generation
- wheels generate controller - Generate controllers
- wheels generate model - Generate models
- wheels scaffold - Generate complete CRUD