Forge is a free command-line toolkit for bootstrapping and developing WordPress themes in a tidy environment using front-end languages like Sass, LESS, and CoffeeScript.
During the early development process of this year’s default theme for WordPress, the Twenty Twelve team—Drew Strojny and myself—used Github and Forge to build the theme (view the archived source).
In summary: Forge is too restrictive for general theme develpoment.
This rapid theme development tool is much too rigid for my taste, as it requires themes to be developed the way that The Theme Foundry thinks is best—I’ve found that their exact methods don’t match with how core WordPress expects default themes to be formatted.
Biggest offenders directory naming and the exact CSS output. If it were a bit more configurable I’d consider it again in the future.
The restrictions things that stand out to me are as follows.
1. Can’t add add ad-hoc directories like
Andy Adams, the primary developer behind Forge says: “The only place to add new directories is within the
/includes/ folder. Right now, there is no way to add any new root directories.”
2. Can’t rename the output directory names. In core we’d prefer to use
/js instead of
3. Can’t force the build to output an empty
/images directory. There are times you’d like to commit an empty directory, either for future development or to show another theme developer how something could be used. Forge doesn’t build empty directories.
4. Can’t tell build to ignore something. With Twenty Twelve, for example, the
/includes had some dev tools that Drew wanted for debugging, but I don’t want to see them after a build.
5. Not enough control over the SASS to CSS process.
Drew and Andy both said to look at Compass documentation, but after a few hours digging around I couldn’t figure this out. I’d like to take the output from the
.scss files and make it match the WP coding standards. For example, tabs instead of spaces and more control over the spacing of closing braces.
Overall, I didn’t find that using Forge sped up development, it instead added overhead because of the renaming tasks after merging back to the canonical core theme code, adding empty directories back in, and the CSS cleanup steps needed.
In my experience, the fastest theme development comes with using a great starting theme like _s rather than a theme compiler tool.
On that note—check out Underscores.me—we have a tool there for quickly bootstrapping _s for your next theme project. It handles the renaming steps to get you going, then leaves the rest to you to code as you wish, forging ahead with no restrictions.