{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "DSS Project Manifest",
  "type": "object",
  "required": ["version", "project", "extends", "stack"],
  "properties": {
    "version": {"type": "string", "pattern": "^2\\.0\\.0$"},
    "project": {
      "type": "object",
      "required": ["id", "name", "type"],
      "properties": {
        "id": {"type": "string", "pattern": "^[a-z0-9-]+$"},
        "name": {"type": "string"},
        "type": {"enum": ["web", "mobile", "desktop"]}
      }
    },
    "extends": {
      "type": "object",
      "required": ["skin", "version"],
      "properties": {
        "skin": {"type": "string"},
        "version": {"type": "string"}
      }
    },
    "stack": {
      "type": "object",
      "required": ["framework", "styling"],
      "properties": {
        "framework": {"enum": ["react", "vue", "angular", "ios", "android", "flutter", "vanilla"]},
        "styling": {"enum": ["tailwind", "css-modules", "styled-components", "emotion", "css-vars"]},
        "icons": {"enum": ["lucide", "heroicons", "material", "custom"]},
        "typescript": {"type": "boolean"}
      }
    },
    "compiler": {
      "type": "object",
      "properties": {
        "strict_mode": {"type": "boolean"},
        "validation_level": {"enum": ["error", "warning", "info"]},
        "output_format": {"enum": ["css-vars", "tailwind-config", "js-tokens"]},
        "cache_strategy": {"enum": ["aggressive", "moderate", "disabled"]}
      }
    },
    "overrides": {
      "type": "object",
      "properties": {
        "tokens": {"type": "object"},
        "files": {"type": "array", "items": {"type": "string"}}
      }
    }
  }
}
