AWS Copilot JSON Schemas

Comprehensive JSON Schemas for validating AWS Copilot manifest files. These schemas provide strict validation for all Copilot manifest types according to the official AWS Copilot documentation.

Available Schemas

Main Schema

copilot-schema.json - Universal schema that auto-detects and validates any Copilot manifest type

Service Schemas

backend-service.json - Backend Service manifests lb-web-service.json - Load Balanced Web Service manifests rd-web-service.json - Request-Driven Web Service manifests worker-service.json - Worker Service manifests

Other Manifest Types

environment.json - Environment manifests scheduled-job.json - Scheduled Job manifests static-site.json - Static Site manifests pipeline.json - Pipeline manifests

Common Definitions

common-definitions.json - Shared definitions used across all schemas

Usage

VS Code Integration

Add this to your VS Code settings.json or workspace settings:

{
  "yaml.schemas": {
    "https://sootyowl.github.io/aws-copilot-schemas/copilot-schema.json": [
      "**/copilot/**/manifest.yml",
    ]
  }
}

Direct Schema Reference

Add this to the top of your YAML manifest files:

# yaml-language-server: $schema=https://sootyowl.github.io/aws-copilot-schemas/copilot-schema.json

Programmatic Validation

Use with any JSON Schema validator:

const Ajv = require('ajv');
const ajv = new Ajv();

// Load the schema
const schema = await fetch('https://sootyowl.github.io/aws-copilot-schemas/copilot-schema.json')
  .then(res => res.json());

const validate = ajv.compile(schema);
const isValid = validate(yourManifestData);

Features

Repository

Source code and documentation: GitHub Repository