json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "additionalProperties": false,
      "required": [
          "config"
      ],
      "properties": {
          "applications": {
              "type": "object",
              "description": "Links application names (keys) to settings (values)",
              "additionalProperties": false,
              "patternProperties": {
                  ".*": {
                      "type": "object",
                      "description": "Application settings",
                      "additionalProperties": false,
                      "properties": {
                          "repository": {
                              "type": "string"
                          },
                          "archive-url": {
                              "type": "string",
                              "description": "Optional url where the application archive was downloaded"
                          },
                          "cliconfig-override": {
                              "type": "string",
                              "description": "Overrides cliconfig with a file from another directory"
                          },
                          "overrides": {
                              "type": "object",
                              "description": "Overrides for the applications .cliconfig.json"
                          }
                      }
                  }
              }
          },
          "vhosts": {
              "type": "object",
              "description": "Links a vhost name (keys) to settings (values)",
              "additionalProperties": false,
              "patternProperties": {
                  ".*": {
                      "type": "object",
                      "description": "Vhost settings",
                      "required": [
                          "application"
                      ],
                      "additionalProperties": false,
                      "properties": {
                          "application": {
                              "type": "string"
                          },
                          "disabled": {
                              "type": "boolean",
                              "default": false
                          }
                      }
                  }
              }
          },
          "repositories": {
              "type": "object",
              "description": "Already configured repositories. A hash of repository names (keys) and configured settings (values)",
              "additionalProperties": false,
              "patternProperties": {
                  ".*": {
                      "type": "object",
                      "description": "Initialized repositories",
                      "required": [
                          "identity-file",
                          "ssh-alias"
                      ],
                      "properties": {
                          "identity-file": {
                              "type": "string",
                              "description": "SSH private key file for deploy"
                          },
                          "ssh-alias": {
                              "type": "string",
                              "description": "SSH alias to connect to the repository"
                          }
                      }
                  }
              }
          },
          "config": {
              "type": "object",
              "description": "Clic options",
              "additionalProperties": false,
              "properties": {
                  "applications-dir": {
                      "type": "string",
                      "description": "Path to the applications directory",
                      "default": "$HOME/apps"
                  },
                  "vhosts-dir": {
                      "type": "string",
                      "description": "Path to the vhosts directory",
                      "default": "$HOME/public_html"
                  },
                  "ssh-dir": {
                      "type": "string",
                      "description": " Path to .ssh directory, to store generated keys and change ssh configuration",
                      "default": "$HOME/.ssh"
                  },
                  "clic-dir": {
                      "type": "string",
                      "description": "Path to directory where clic stores its files",
                      "default": "$HOME/.clic"
                  }
              }
          },
          "global-vars": {
              "type": "object",
              "description": "This is a hash of variable names (keys) and values (values).",
              "patternProperties": {
                  "^[a-zA-Z_][a-zA-Z_0-9]*$": {
                      "type": "string"
                  }
              }
          }
      }
  }