Update the coldbox create command to make the skeleton be a 'name,git+url,http' endpoint
Description
is duplicated by
Gliffy Diagrams
Activity

Brad Wood April 5, 2016 at 5:27 PM
Are the repositories and ForgeBox entries created for this?

Brad Wood March 28, 2016 at 3:32 PM
install the template and then run a install command right after to get the dependencies
You actually don't even need that second step. If the application template has a box.json, the initial "install" will bring in the dependencies right away. If we want to keep the current behavior of not installing any frameworks until explicitly set, we'd just leave the box.json empty in the app templates.
If you create the separate repos and forgebox entries, I'll make the modifications to the "coldbox create app" command.
Luis Majano March 28, 2016 at 3:21 PM
Well, the creation commands are like wizards. We need to do the work for the developers, so we can easily install the template and then run a install command right after to get the dependencies in place. And yes, the --installCodlBox/TestBox will become secondary, since the template brings in its dependencies.
Ok, we will do a test and then integrate.

Brad Wood March 28, 2016 at 3:00 PM
If we're basically just deferring to the "install" command, this is only a few minute's worth of work (which is why I wanted to just do the separate repos before). I'd say we'd want ForgeBox entries for the main skeletons just so the artifacts service can cache them and the names are short. We can call them the same as the current zip files. HTTP or Git endpoints can be installed easy enough, but they don't get cached since there's not a way to query the current version.
Another question we need to ask is whether to have dependencies installed automatically. I'm inclined to say yes. This would remove the need for the --installColdbox and --installTestbox flags, but would also make it impossible for people NOT to install them.. Honestly, there's not going to be much difference between the "coldbox create app skeleton=AdvancedScript" "install AdvancedScript" commands at this point.
Luis Majano March 28, 2016 at 2:47 PM
Well, I think the first step was to do one repo. It has cleaned up a lot. I have been reading on other topics and it interested me the vue cli project, where you can do multiple values for skeleton names and it can discover them.
So yes, I think the logical roadmap is to split. We just have to be in sync because, CommandBox templates are already left behind. The ColdBox ones are brought in via the build script. So can you give me an estimate on this ticket thinking that all templates would be split
It would be great if we can make the coldbox create app command smarter when it comes down to the skeleton argument. Right now we ship with the app templates, what if we could make this argument accept the following:
http/https URL to a zip
git URL to clone
github_username/repo to clone
shortname -> local or github url to clone
I was also thinking we create a new organization called: coldbox-templates where we put all our application templates?
Thoughts