{
    "forge": {

        "path":        "commanders/Commander",
        "description": "Forge new modules!",
        "label":       "The Forge",
        "commands":    {

            "module": {
                "label":       "forge new module",
                "description": "You are about to start forging a new module. I'm going to help you get started.",
                "aliases":     ["new", "n"],
                "schema":      {
                    "vendor": {
                        "type":    "string",
                        "options": {
                            "label":       "vendor name",
                            "required":    true,
                            "pattern":     "[a-z]",
                            "description": "What is your vendor? Every module needs to be part of a larger 'Vendor Space.' This keeps module names from conflicting across projects. An example would be 'titan' or 'liquidfire'."
                        }
                    },
                    "name":   {
                        "type":    "string",
                        "options": {
                            "label":       "module name",
                            "pattern":     "[a-zA-Z]",
                            "description": "Give your module a classy name. It should be in the form of Alfred or CommandCentral."
                        }
                    },
                    "destination":    {
                        "type":    "select",
                        "options": {
                            "label":       "destination",
                            "required":    true,
                            "default":     "app",
                            "description": "home is where all modules are installed for the current user (you)."
                        }
                    }
                }

            },

            "app": {
                "label":       "forge new app",
                "description": "An app is a directory that holds a totally customizable and sandbox'ed environment for Altair distributions.",
                "schema":      {
                    "destination": {
                        "type":    "path",
                        "options": {
                            "label":       "destination",
                            "required":    true,
                            "default":     ".",
                            "description": "Where would you like your new app forged?"
                        }
                    },
                    "name":   {
                        "type":    "string",
                        "options": {
                            "label":       "app name",
                            "pattern":     "[a-zA-Z]",
                            "description": "Give your app a classy name. It should be in the form of MyApp or myapp."
                        }
                    }
                }

            }
        }
    }
}