As promised, I've begun work on a CLI tool for creating development environments for Elkarte, addons and themes to make it super-easy for everyone to work on new stuff without setting up web servers, databases, etc on our local host machines.
https://github.com/Ant59/elkarte-cli/tree/master
I need a little input on the best layout for the commands and arguments.
Right now, I have this:
elkarte new addon <name> - Create new addon with name <name>
elkarte new theme <name> - Create new theme with name <name>
elkarte new elkarte [-b <branch>] - Fetch the Elkarte repo and setup a development environment around it (hopefully useful for PRs)
However, I feel like the final command is incorrect. It's not really "new" when it's just grabbing the Elk course. Maybe something like this?
elkarte dev [-b <branch>] - Fetch the Elkarte repo and setup a development environment around it (hopefully useful for PRs)
Eventually, I'll flesh it out so that we can do stuff like this:
elkarte package - Run from inside theme or addon directory to package into an archive, name using versioning from package-info.xml and submit to themes.elkarte.net or addons.elkarte.net respectively.
The environments that wrap the projects are cloned from my Vagrant repos on GitHub. They provide everything needed for development related to Elk, including Nginx, MySQL, PHP5, PHPUnit, Xdebug and Webgrind inside a Vagrant machine.
I really hope that having a simply-to-use tool for getting started on new themes, addons and PRs will help to stimulate new members who have good ideas and just want to focus on the code as well as help us existing members to test and get new stuff out faster.
I look forward to any suggestions and improvements. Feel free to criticise anything I've done so far