{
    "name": "Testing Vapor Template",
    "variables": [
      {
        "name": "fluent",
        "description": "Would you like to use Fluent (ORM)?",
        "type": "nested",
        "variables": [
          {
            "name": "db",
            "description": "Which database would you like to use?",
            "type": "option",
            "options": [
              {
                "name": "Postgres (Recommended)",
                "data": {
                  "module": "Postgres",
                  "url": "postgres",
                  "id": "psql",
                  "version": "2.8.0",
                  "is_postgres": "true",
                  "emoji": "🐘"
                }
              },
              {
                "name": "MySQL",
                "data": {
                  "module": "MySQL",
                  "url": "mysql",
                  "id": "mysql",
                  "version": "4.4.0",
                  "is_mysql": "true",
                  "emoji": "🐬"
                }
              },
              {
                "name": "SQLite",
                "data": {
                  "module": "SQLite",
                  "url": "sqlite",
                  "id": "sqlite",
                  "version": "4.6.0",
                  "is_sqlite": "true",
                  "emoji": "🪶"
                }
              },
              {
                "name": "Mongo",
                "data": {
                  "module": "Mongo",
                  "url": "mongo",
                  "id": "mongo",
                  "version": "1.3.1",
                  "is_mongo": "true",
                  "emoji": "🌱"
                }
              }
            ]
          },
          {
            "name": "model",
            "description": "Would you like to have a default model?",
            "type": "nested",
            "variables": [
              {
                "name": "name",
                "description": "How would you like to name your model?",
                "type": "string"
              },
              {
                "name": "migrate",
                "description": "Would you like to automatically migrate your database?",
                "type": "bool"
              },
              {
                "name": "extras",
                "description": "Would you like to add special features to your model?",
                "type": "nested",
                "variables": [
                  {
                    "name": "authentication",
                    "description": "Would you like to add auth for your model?",
                    "type": "bool"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "name": "leaf",
        "description": "Would you like to use Leaf (templating)?",
        "type": "bool"
      },
      {
        "name": "jwt",
        "description": "Would you like to use JWTs?",
        "type": "bool"
      },
      {
        "name": "deploy",
        "description": "Where would you like to deploy your app?",
        "type": "option",
        "options": [
          {
            "name": "Heroku",
            "description": "Heroku is a popular all in one hosting solution.",
            "data": {
              "url": "https://www.heroku.com/"
            }
          },
          {
            "name": "Fly",
            "description": "Fly is a hosting platform that enables running server applications and databases with a focus on edge computing.",
            "data": {
              "url": "https://fly.io/"
            }
          },
          {
            "name": "DigitalOcean",
            "data": {
              "url": "https://www.digitalocean.com/"
            }
          }
        ]
      },
      {
        "name": "hello",
        "description": "What would you like to display on the `/hello` route?",
        "type": "string"
      },
      {
        "name": "vscode",
        "description": "Will you use Visual Studio Code for development?",
        "type": "nested",
        "variables": [
          {
            "name": "snippets",
            "description": "Would you like to include Visual Studio Code snippets?",
            "type": "bool"
          }
        ]
      }
    ],
    "files": [
      {
        "file": "Package.swift",
        "dynamic": true
      },
      {
        "folder": "Sources",
        "files": [
          {
            "folder": "App",
            "dynamic_name": "{{name}}",
            "files": [
              {
                "file": "entrypoint.swift"
              },
              {
                "file": "configure.swift",
                "dynamic": true
              },
              {
                "file": "routes.swift",
                "dynamic": true
              },
              {
                "folder": "Models",
                "if": "fluent",
                "files": [
                  "Todo.swift"
                ]
              },
              {
                "folder": "DTOs",
                "if": "fluent",
                "files": [
                  "TodoDTO.swift"
                ]
              },
              {
                "folder": "Migrations",
                "if": "fluent",
                "files": [
                  "CreateTodo.swift"
                ]
              },
              {
                "folder": "Controllers",
                "files": [
                  ".gitkeep",
                  {
                    "file": "TodoController.swift",
                    "if": "fluent"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "folder": "Tests",
        "files": [
          {
            "folder": "AppTests",
            "files": [
              {
                "file": "AppTests.swift",
                "dynamic": true
              }
            ]
          }
        ]
      },
      {
        "folder": "Resources",
        "if": "leaf",
        "files": [
          {
            "folder": "Views",
            "files": [
              {
                "file": "index.leaf"
              }
            ]
          }
        ]
      },
      {
        "folder": "Public",
        "files": [
          ".gitkeep"
        ]
      },
      {
        "file": "Dockerfile",
        "dynamic": true
      },
      {
        "file": "docker-compose.yml",
        "dynamic": true
      },
      {
        "folder": ".vscode",
        "if": "vscode",
        "files": [
          {
            "file": "vapor.code-snippets",
            "if": "vscode.snippets"
          },
          {
            "file": "extensions.json",
            "if": "!vscode.snippets"
          }
        ]
      },
      ".gitignore",
      ".dockerignore"
    ]
  }