LogoLogo
HomeAPIBlog
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
  • INTRODUCTION
    • Getting Started
      • Running Local Development Servers
      • Beginner Tutorial: Hello World
      • Beginner Tutorial: Hello Database
      • Tutorial: Wheels, AJAX, and You
    • Frameworks and Wheels
    • Requirements
    • Manual Installation
    • Upgrading
    • Screencasts
  • Command Line Tools
    • CLI Overview
    • Quick Start Guide
    • Command Reference
      • Core Commands
        • wheels init
        • wheels info
        • wheels reload
        • wheels deps
        • wheels destroy
        • wheels watch
      • Code Generation
        • 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
      • Database Commands
        • 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 db schema
        • wheels db seed
      • Testing Commands
        • wheels test
        • wheels test run
        • wheels test coverage
        • wheels test debug
      • Configuration Commands
        • wheels config list
        • wheels config set
        • wheels config env
      • Environment Management
        • wheels env
        • wheels env setup
        • wheels env list
        • wheels env switch
      • Plugin Management
        • wheels plugins
        • wheels plugins list
        • wheels plugins install
        • wheels plugins remove
      • Code Analysis
        • wheels analyze
        • wheels analyze code
        • wheels analyze performance
        • wheels analyze security
      • Security Commands
        • wheels security
        • wheels security scan
      • Performance Commands
        • wheels optimize
        • wheels optimize performance
      • Documentation Commands
        • wheels docs
        • wheels docs generate
        • wheels docs serve
      • CI/CD Commands
        • wheels ci init
      • Docker Commands
        • wheels docker init
        • wheels docker deploy
      • Deployment Commands
        • 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
    • CLI Development Guides
      • Creating Commands
      • Service Architecture
      • Migrations Guide
      • Testing Guide
  • Working with Wheels
    • Conventions
    • Configuration and Defaults
    • Directory Structure
    • Switching Environments
    • Testing Your Application
    • Using the Test Environment
    • Contributing to Wheels
    • Submitting Pull Requests
    • Documenting your Code
  • Handling Requests with Controllers
    • Request Handling
    • Rendering Content
    • Redirecting Users
    • Sending Files
    • Sending Email
    • Responding with Multiple Formats
    • Using the Flash
    • Using Filters
    • Verification
    • Event Handlers
    • Routing
    • URL Rewriting
      • Apache
      • IIS
      • Tomcat
      • Nginx
    • Obfuscating URLs
    • Caching
    • Nesting Controllers
    • CORS Requests
  • Displaying Views to Users
    • Pages
    • Partials
    • Linking Pages
    • Layouts
    • Form Helpers and Showing Errors
    • Displaying Links for Pagination
    • Date, Media, and Text Helpers
    • Creating Custom View Helpers
    • Localization
  • Database Interaction Through Models
    • 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
    • Database Migrations
      • Migrations in Production
    • Using Multiple Data Sources
  • Plugins
    • Installing and Using Plugins
    • Developing Plugins
    • Publishing Plugins
  • Project Documentation
    • Overview
  • External Links
    • Source Code
    • Issue Tracker
    • Sponsor Us
    • Community
Powered by GitBook
LogoLogo
On this page
  • Synopsis
  • Description
  • 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
  • Feature Descriptions
  • 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

Was this helpful?

Edit on GitHub
Export as PDF
  1. Command Line Tools
  2. Command Reference
  3. Code Generation

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

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

  1. Run wizard in empty directory

  2. Choose descriptive application names

  3. Configure database early

  4. Enable security features for production

  5. Save profiles for team consistency

  6. 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

Previouswheels generate appNextwheels generate controller

Last updated 2 days ago

Was this helpful?

- Non-interactive app generation

- Initialize existing directory

- Generate CRUD scaffolding

wheels generate app
wheels init
wheels scaffold