Skip to content

Command Line Tools

wheels docs generate

Generates documentation for your Wheels application from code comments and annotations.

Terminal window
wheels docs generate [--output=<dir>] [--format=<format>] [--include=<components>] [--serve] [--verbose]
  • --output - (Optional) Output directory for docs. Default: docs/api

  • --format - (Optional) Documentation format: html, json, markdown. Default: html

  • --include - (Optional) Components to include: models, controllers, views, services. Default: models,controllers

  • --serve - (Optional) Start local server after generation

  • --verbose - (Optional) Verbose output

The docs generate command automatically creates comprehensive documentation from your Wheels application by parsing:

  • JavaDoc-style comments in CFCs
  • Model relationships and validations
  • Controller actions and routes
  • Configuration files
  • Database schema
  • API endpoints
Terminal window
wheels docs generate
Terminal window
wheels docs generate --format=markdown
Terminal window
wheels docs generate --serve

Generate specific components with verbose output

Section titled “Generate specific components with verbose output”
Terminal window
wheels docs generate --include=models,controllers,services --verbose
Terminal window
wheels docs generate --output=public/api-docs --format=html
/**
* User model for authentication and authorization
*
* @author John Doe
* @since 1.0.0
*/
component extends="Model" {
/**
* Initialize user relationships and validations
* @hint Sets up the user model configuration
*/
function config() {
// Relationships
hasMany("orders");
belongsTo("role");
// Validations
validatesPresenceOf("email,firstName,lastName");
validatesUniquenessOf("email");
}
/**
* Find active users with recent activity
*
* @param days Number of days to look back
* @return query Active users
*/
public query function findActive(numeric days=30) {
return findAll(
where="lastLoginAt >= :date",
params={date: dateAdd("d", -arguments.days, now())}
);
}
}
/**
* Handles user management operations
*
* @displayname User Controller
* @namespace /users
*/
component extends="Controller" {
/**
* Display paginated list of users
*
* @hint GET /users
* @access public
* @return void
*/
function index() {
param name="params.page" default="1";
users = model("user").findAll(
page=params.page,
perPage=20,
order="createdAt DESC"
);
}
}
/docs/api/
├── index.html
├── models/
│ ├── model.html/
├── controllers/
│ ├── controller.html
├── views/
| └── view.html
├── services/
└── view.html
  • Overview: Application structure and architecture
  • Models: Properties, methods, relationships, validations
  • Controllers: Actions, filters, routes
  • API Reference: Endpoints, parameters, responses
  • Database Schema: Tables, columns, indexes
  • Configuration: Settings and environment variables
==================================================
Documentation Generator
==================================================
Generating documentation...
create directory public/api-docs
Scanning Source Files
--------------------------------------------------
[SUCCESS]: Found 1 models
[SUCCESS]: Found 4 controllers
Writing documentation...
[SUCCESS]: HTML files generated
[SUCCESS]: Documentation generated successfully!
Summary
--------------------------------------------------
Models: 1 files
Controllers: 4 files
Total Components: 5 documented
[INFO]: Output directory: C:\Users\Hp\cli_testingapp\db_app\public\api-docs