A Yeoman generator for scaffolding modern ColdFusion apps.
- MVC style folder structure with FW/1
- Grunt build tool with file watching
- Bower or NPM to manage front-end dependencies
- .editorconfig for consitent coding styles within text editors
- Define application level datasource
- Enable and define subsystems (subsystems version 2.0)
- Make sure you have yo installed:
npm install -g yo
- Install the generator:
npm install -g generator-cfml-mvc
yo cfml-mvcand follow the prompts
The generator will create
/app folder that will be the base of the application for FW/1 and DI/1.
Two runtime environments are supported, development (dev) and production (prod). If 'dev' is found in the URL, e.g.
http://dev.myproject.com the environment is set to 'dev'. If 'dev' is not found the application is set to 'prod'. This also determines what configuration settings to load from
/config/config.json file is read during setupApplication() and will load the setting for the current environment into application.config. This is a good place to keep admin email addresses, API keys, etc. You may want to take precautions to prevent this file from being viewable in a browser for security purposes.
A default layout will be generated with a simple bootstrap layout that loads all front-end components defined in bower.json.
Includes jshint, uglify, cssmin, and imagemin. It will watch for changes in all relevant files located in
/assets/src and minimize to
If you define the 'assetsFolder' properly for each environment in the config.json file, you can load resources specific to your environment. For example
<script src='assets/#application.config.assetsFolder#/js/myfile.js'></script> will load the minified file in production, but load your full source in development (helpful when troubleshooting js errors).
Choose from Bower or NPM to manage your front-end dependencies. By default, Bootstrap, jQuery, and Font Awesome will be included. If using Bower, files will be installed to
/assets/components and if using NPM files will be installed in the
You may also opt-out of using a front-end dependency manager by choosing 'None'.
--skip-installAvoid running Bower and NPM
Contributions are welcome! Feel free to fork this repo and send pull requests. Disussions regarding bugs, ideas, and ways to improve the project can take place in issues