Adds a secondary form to project:create for template, catalog, and initialize options
A new form will be built and served if the --template flag is passed. The fields are template_url which allows for the passing of a url, catalog_url which will list all options from the catalog, and initialize which will initialize the project after creation if selected.
If I'm reading this properly, the --template flag serves double duty: Either provide a template (in which case it's a short-circuit way to also run initialize) or provide a catalog to pick from that will interactively ask which project you want. Am I reading it correctly?
If so, then IMO it should be split. Have a --template that specifies a Git URL, which then short-circuits initialize, and have a separate --catalog which specifies a catalog definition that will interactively ask which template you want. But those behaviors should not be folded into a single switch. They're separate activities.
If I'm reading this properly, the
--templateflag serves double duty: Either provide a template (in which case it's a short-circuit way to also runinitialize) or provide a catalog to pick from that will interactively ask which project you want. Am I reading it correctly?If so, then IMO it should be split. Have a
--templatethat specifies a Git URL, which then short-circuitsinitialize, and have a separate--catalogwhich specifies a catalog definition that will interactively ask which template you want. But those behaviors should not be folded into a single switch. They're separate activities.
We're skipping the "catalog definition" step, that's provided by Accounts based on any of your vendor/organization[NYI]/user-level catalog files, or falling back to the default if none of those are found. The --template key here (if I understand the MR right) will take you into the catalog process if you supply it without an argument for a specific template file, but the catalog itself is being provided by who you are via Accounts, not the CLI flag.
Console is going to support a ?catalog= parameter for the sake of "Try Our Stuff On Platform" buttons but there's really no equivalent CLI functionality. Scripting the ?template input to a specific template file is a pretty likely use case though.