{
  "title": "FastStore Config",
  "type": "object",
  "additionalProperties": true,
  "required": ["stores"],
  "properties": {
    "stores": {
      "title": "Stores",
      "description": "All stores on the reposiotry",
      "type": "object",
      "additionalProperties": false,
      "patternProperties": {
        "^[a-z0-9_]+$": {
          "title": "Account Config",
          "description": "Account name",
          "type": "object",
          "additionalProperties": false,
          "patternProperties": {
            "^(checkout|discovery|sales-app)$": {
              "title": "Module Config",
              "description": "Name of the module",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "path": {
                  "type": "string"
                },
                "port": {
                  "type": "number",
                  "description": "The port in which this module will run. A module might need more than one port, so you shouldn't assign sequential ports to different modules, e.g. 3000 for discovery, 3001 for checkout and 3002 for sales-app."
                },
                "cli": {
                  "type": "string"
                }
              },
              "required": ["path"]
            }
          }
        }
      }
    }
  }
}
