Encore · Schema

Encore App Configuration

JSON Schema for the encore.app configuration file that defines an Encore application.

BackendCloud-NativeFrameworksGoInfrastructure AutomationMicroservicesOpen-SourceTypeScript

Properties

Name Type Description
id string Unique application ID from the Encore platform.
lang string Primary programming language for the application.
global_cors object
experiments array List of experimental features to enable.
build object
generate object
View JSON Schema on GitHub

JSON Schema

encore-app-configuration.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/encore/json-schema/encore-app-configuration.json",
  "title": "Encore App Configuration",
  "description": "JSON Schema for the encore.app configuration file that defines an Encore application.",
  "type": "object",
  "required": ["id"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique application ID from the Encore platform."
    },
    "lang": {
      "type": "string",
      "enum": ["go", "typescript"],
      "description": "Primary programming language for the application."
    },
    "global_cors": {
      "type": "object",
      "properties": {
        "allow_origins_without_credentials": {
          "type": "array",
          "items": { "type": "string" },
          "description": "Origins allowed without credentials."
        },
        "allow_origins_with_credentials": {
          "type": "array",
          "items": { "type": "string" },
          "description": "Origins allowed with credentials."
        },
        "debug": {
          "type": "boolean",
          "default": false,
          "description": "Enable CORS debug mode."
        }
      }
    },
    "experiments": {
      "type": "array",
      "items": { "type": "string" },
      "description": "List of experimental features to enable."
    },
    "build": {
      "type": "object",
      "properties": {
        "docker": {
          "type": "object",
          "properties": {
            "bundle_source": {
              "type": "boolean",
              "default": false,
              "description": "Whether to bundle source code in Docker image."
            },
            "base_image": {
              "type": "string",
              "description": "Custom base Docker image."
            }
          }
        }
      }
    },
    "generate": {
      "type": "object",
      "properties": {
        "typescript": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "description": "Output directory for generated TypeScript client."
            }
          }
        },
        "go": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "description": "Output directory for generated Go client."
            }
          }
        },
        "openapi": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "description": "Output directory for generated OpenAPI spec."
            }
          }
        }
      }
    }
  }
}