I’m new to Bedrock. I’ve been reading up on it on roots.io to try and get myself up to speed. I am an experienced PHP Fusebox developer and the problems solved by Fusebox seem to be the same as those solved by Bedrock (and accompanying projects).
In Fuxebox 4 and above, you basically had three folders:
- Fusebox Core files
- Web application
- Web root (index.php)
Index.php would load the Fusebox core files (somewhat like wp-include) and then your web application (wp-content, basically). The core files would rarely change and in fact, we would have one set of core files for multiple applications on a server.
So, when setting up our local environments, the repo would consist only of the web application folder. This made it very, very easy to share projects. In cases where we were using 3rd-party libraries, we set up a Vendor folder outside the web application folder and alongside the Fusebox core folders such that including them was as easy as saying “include this file that is located in a folder called Vendor which is located in the same folder as the Fusebox core files”. The astute reader can imagine that we had some issues with versions and the like, but in general, this was a great directory structure as it kept the repositories / projects clean and free of clutter.
Now, more than 10 years later, I find myself leading a small team of WordPress developers and struggling to simplify all the development and deployment issues Bedrock is intended to solve, and this is why I’m writing…
We do a LOT of theme customization. We set up a child theme and then either use hooks to modify the behavior / output, or create our own templates. Deployment should consist exclusively of uploading the theme (parent + child as needed) followed by potential configuration via the WP Admin AND THAT’S ALL.
Instead, what I’m seeing, and trying desperately to change, is everything the Bedrock devs have been trying to address (exhausting just thinking about typing it up here…). However, in the Bedrock installation instructions, we are directed to clone the entire Bedrock repository.
For my situation, wouldn’t it be better to just DOWNLOAD the Bedrock repo, set it up for initial installation, and then create repos consisting of just the child themes? If so, I would appreciate pointers on setting up my Capistrano environment to facilitate deployment (if I even need that, considering my goal is to be able to just upload child themes). I already bought the Capistrano video (but haven’t watched it yet).
Thanks and I’m looking forward to getting knee deep in Bedrock.