The CMSMS Builder is a tool to help you develop and optimize CMS Made Simple >= 2.2.3 themes, it is made by a developer for developers.
I you like an automated file based work-flow this project might be for you. It is usable to kick-start a new CMSMS project or it can be applied to existing ones. Repetitive tasks and optimizations are automated by Gulp and Webpack. While developing- and testing you can lint your source-code. All file changes and interactions are synchronized between multiple devices using Browsersync.
Only looking for a Gulp or Webpack setup for non CMSMS related development?
webpack/*.js illustrates battle tested examples and can be configured for any project directory structure.
You can find example themes that works with the cmsms_builder on a companion GitHub repository: cmsms_themes.
If task-runners and an opinionated setup are not your thing? Probably this project is not for you. Although: You might get some inspiration from the automation's done with the cmsms_builder. The cmsms_themes project shows a method to build up templates in a modular fashion. The cmsms-udts project has some nice utilities you can use time after time.
You can also bring your own NPM, Bash or Grunt scripts and use the setup of this project without a build tool at all.
This is not a click and go project. You have to
Since CMS Made Simple 2.2 introduced file based style-sheets, templates and is heading to more files in the
cmsms_root/assets folder. It is a logical step to introduce a task-runner for developer convenience and automation.
The aim of this project is to automate repetitive tasks and to store all assets needed to build up a theme on the file-system. Currently the /admin CMSMS Layout -> Design Manager is only needed for page templates (Core::Page). As soon as page templates can also be stored outside the Design Manager you can get rid of the Design Manager module.
You can perceive a better development experience, SEO ranking and website speed score when you start using the techniques and tools described in this documentation.