#!/usr/bin/env bash # RON content validator — wrapper for the Rust validate_ron binary (#611). # # Usage: # tooling/validate-ron # # Examples: # tooling/validate-ron content/global/zone-identity-spec.example.ron zone # tooling/validate-ron content/global/culture-van-maanens-star.example.ron culture set -euo pipefail if [ $# -lt 2 ]; then echo "Usage: tooling/validate-ron " echo "" echo "Validates a RON file against the Rust struct schema." echo "Schema types:" echo " zone — ZoneSpec (zone identity spec)" echo " culture — CultureProfile (culture profile)" exit 1 fi # Check file exists before resolving — realpath gives unhelpful errors otherwise if [ ! -f "$1" ]; then echo "Error: file not found: $1" exit 1 fi FILE="$(realpath "$1")" SCHEMA="$2" cd "$(dirname "$0")/../server" exec cargo run --quiet --bin validate_ron -- "$FILE" "$SCHEMA"