Files
metabuilder/schemas

MetaBuilder Schemas

This directory contains schema files used across the MetaBuilder project for validation and IDE support.

Schema Files

YAML Schemas

yaml-schema.yaml - YAML meta-schema (Draft 2025-11)

Usage in YAML files:

# yaml-language-server: $schema=../../../../../schemas/yaml-schema.yaml

Files using this schema:

  • packages/*/seed/schema/entities.yaml - Database entity definitions
  • Other YAML configuration files

JSON Schemas

JSON Schema files are located within individual packages:

  • packages/json_script_example/seed/script.schema.json - JSON script validation
  • packages/json_script_example/seed/types.schema.json - Type definitions
  • packages/json_script_example/seed/schema/entities.schema.json - Entity structure validation
  • packages/json_script_example/tests/test.schema.json - Test logic validation
  • packages/json_script_example/tests/test-parameters.schema.json - Test parameters validation

Adding New Schemas

For YAML Files

  1. Place the schema in this schemas/ directory
  2. Add documentation in this README
  3. Reference the schema in YAML files using the yaml-language-server directive

For JSON Files

  1. Place the schema alongside the files it validates (in the package directory)
  2. Add a $schema property to JSON files pointing to the schema
  3. Document the schema in the package README

IDE Support

VS Code

Install the YAML extension by Red Hat for YAML schema validation:

  • Extension ID: redhat.vscode-yaml
  • Provides autocomplete, validation, and hover documentation

JSON schema support is built-in to VS Code.

JetBrains IDEs

YAML and JSON schema validation is built-in to WebStorm, IntelliJ IDEA, and other JetBrains IDEs.

Schema Validation Benefits

  • Real-time validation - Catch errors while editing
  • IDE autocomplete - IntelliSense for properties and values
  • Documentation - Hover tooltips explain each field
  • Type safety - Ensure files match their specifications
  • Consistency - Enforce structure across all files