CommandBox has a lot of features out of the box so to speak, but it can also be extended via a modular architecture. We'll cover the top 5 modules you need to be using in order to increase your productivity and get the most out of CommandBox. Most of these you can install while you watch the session to start playing with.
2. CommandBox CLI
● Native Binary
● Written in CFML
● Modular
● Easy to extend
● The community has been busy
3. Writing CommandBox Modules
● Publish to ForgeBox and anyone can install and use
● Custom commands
● Interceptors (onServerStart, onCLIStart, etc)
● Can be composed of other modules
● Tab Completion
● Built-in Help
● The sky's the limit
4. 5 CommandBox Modules you should be using
● Go install all of these right now
● No seriously
● What are you waiting for?
5. #1 - Bullet Train
● Customizes prompt with super sweet visualizations
● Viewed best with Netscape Navigator Powerline Font
● Changes with each Directory
● Tells you about working dir, previous command
times/status, runner server, Git repo, package, etc
> install commandbox-bullet-train
6. #2 - CFConfig CLI
● Import/Export CF/Lucee configuration
● Automatic server interceptors
● Picks up Environment Variables
● Great for docker and automation
● Composed of several smaller modules
> install commandbox-cfconfig
7. #3 - CommandBox DotEnv
● Loads environment variables from a .env file
● Automatic interceptors for servers and commands
● Includes commands for managing .env file
● Great for sensitive or developer-specific settings
● Mimics environment of your production cloud deploy
> install commandbox-dotenv
8. #4 - Host Updater
● Automatically adds hosts file entries
● Helps automate local development
● Each site gets a custom host name
● Binds to unique 127 IPs so you can reuse ports
● Based on server start interceptors
> install commandbox-hostupdater
9. #5 - Server Service Manager
● Manages native OS services for your servers
● Supports Windows, Mac, and Linux System.d
● Supports start-on-boot, and restart-on-failure
● Run services as domain accounts
● Commercial module from Ortus ($49/yr)
> install commandbox-service-manager@ortus
11. BONUS! - CFFormat
● Auto format your CFML code
● Configurable standards for any team
● Watcher to format as you save
● Build checks to ensure formatting
● Configurable by JSON file
> install commandbox-cfformat
12. BONUS! - FusionReactor
● Adds FusionReactor to every server you start
● Includes debugger libs
● Auto-downloads latest FR version
● Super easy configuration in your server.json
● Works great in Docker images
> install commandbox-fusionreactor
13. BONUS! - CodeChecker CLI
● Checks your code for issues or standards
● Configurable rules
● Supports Excel export of results
● Write your own rules
● Includes var scoper and Query param scanner
> install commandbox-codechecker
14. BONUS! - Ngrok
● Opens up a remote proxy for a local server
● Starts in a single command
● Great for demoing your local site to remote client
● Uses free tier of Ngrok service
● Proxies to random URL
> install box-ngrok
15. BONUS! - CFDocs
● Get CFML docs from the command line
● Ties into data from cfdocs.org
● Includes usage and code samples
● Contains all functions and tags
● Outputs help right in the CLI
> install cfdocs
16. BONUS! - CFMigrations Command
● CLI wrapper for cfmigrations project
● Use “up” and “down” scripts to manage DB changes
● Built on qb (query builder)
● Runs migrations from CLI without running server
● Automate your database schema
> install commandbox-migrations
17. BONUS! - DocBox Command
● CLI Wrapper for Docbox library
● Creates static HTML docs for your code
● Reads metadata and hints from CFCs
● Choose from different generation strategies
● Used for all Box libraries
> install commandbox-docbox
18. BONUS! - CF Compiler
● Pre-compile CF files into bytecode
● Lucee-only
● Choose what version of Lucee to compile on
● Speeds up production deploys on first hit
● Run in build step to replace CFMs & CFCs in-place
> install cfml-compiler
19. BONUS! - cfscript.me commands
● Convert tag-based CFML to CFScript
● CLI wrapper for cfscript.me site
● Can update files in-place
● Get a headstart on modernizing your codebase
● Save hours of manual conversion
> install cfscriptme-command
20. BONUS! - CommandBox Update Check
● Checks for new versions of CommandBox CLI
● Checks for new versions of installed system modules
● Check is performed on startup once a day
● Never fall behind on module updates
> install commandbox-update-check