flightcontrol-validate
v1.0.3
Published
Validate Flightcontrol configuration files (JSON, CUE, YAML)
Maintainers
Readme
flightcontrol-validate
A standalone CLI tool to validate Flightcontrol configuration files (JSON, CUE, YAML) against the Zod schema.
Strict Validation
The CLI enforces strict validation, meaning any unknown or unrecognized keys in your configuration will cause validation to fail. This helps catch:
- Typos in field names (e.g.,
heathCheckPathinstead ofhealthCheckPath) - Deprecated fields that are no longer supported
- Copy-paste errors from other configurations
If your config contains an unknown key, you'll see an error like:
{
"valid": false,
"file": "flightcontrol.json",
"errors": [
{
"unknownField": "Unsupported key"
}
]
}Usage
# Validate a JSON config
flightcontrol-validate flightcontrol.json
# Validate a CUE config
flightcontrol-validate flightcontrol.cue
# Validate a YAML config
flightcontrol-validate path/to/flightcontrol.yaml
# Options
flightcontrol-validate flightcontrol.json --no-color # Disable ANSI colors (for piping)
flightcontrol-validate flightcontrol.json --quiet # Exit code only, no output
flightcontrol-validate --version # Show version
flightcontrol-validate --help # Show helpExit Codes
0= valid config1= validation errors2= file not found / parse error
Output Format
Output is formatted JSON that is readable in terminal and can be piped to other tools.
Success (exit 0)
{
"valid": true,
"file": "flightcontrol.json"
}Validation Errors (exit 1)
{
"valid": false,
"file": "flightcontrol.json",
"errors": [
{
"environment:production": [
{
"service:Next.js App": {
"memory": "Invalid input: expected number, received string",
"healthCheckPath": "Health check path must begin with a '/' character"
}
}
]
}
]
}Parse Error (exit 2)
{
"valid": false,
"file": "flightcontrol.cue",
"parseError": "expected '}', found 'EOF'"
}File Not Found (exit 2)
{
"valid": false,
"file": "flightcontrol.json",
"error": "File not found: flightcontrol.json"
}Development
# Run in development mode
bun src/main.ts flightcontrol.json
# Run tests
pnpm test
# Type check
pnpm typecheck
# Build standalone binary
bun build ./src/main.ts --compile --outfile ./dist/flightcontrol-validate