CLI
The edoxen command provides utilities for working with resolution
data files.
Commands
edoxen help
# Commands:
# edoxen help [COMMAND] # Describe available commands or one specific
# edoxen validate YAML_FILE_PATTERN # Validate YAML files against Edoxen schema
# edoxen normalize YAML_FILE_PATTERN # Normalize YAML files using Edoxen schema
# edoxen validate-meetings YAML_FILE_PATTERN # Validate Meeting YAML files against the meeting schema
# edoxen normalize-meetings YAML_FILE_PATTERN # Normalize Meeting YAML files
validate / normalize cover decision-side files
(schema/edoxen.yaml โ DecisionCollection plus the register documents:
ContactRegister, VenueRegister, BodyRegister);
validate-meetings / normalize-meetings cover meeting-side files
(schema/meeting.yaml โ MeetingCollection, Meeting, MeetingSeries).
validate
# Single file
edoxen validate resolutions.yaml
# Multiple files
edoxen validate file1.yaml file2.yaml file3.yaml
# Glob
edoxen validate "resolutions/*.yaml"
Sample output:
๐ Validating 3 file(s)...
resolutions.yaml... โ
VALID
file1.yaml......... โ
VALID
file2.yaml......... โ INVALID
- Line 15: Invalid action type 'invalid_type'
๐ Validation Summary:
Valid files: 2
Invalid files: 1
Success rate: 66.7%
Exit code is non-zero if any file fails. Useful for CI.
normalize
Loads YAML files through the Edoxen model classes and re-emits them in canonical form โ fixes whitespace, sorts keys, drops unknown properties.
# Output to a directory
edoxen normalize "*.yaml" --output normalized/
# In-place (no backup โ be careful!)
edoxen normalize "data/*.yaml" --inplace
Sample output:
๐ Normalizing 2 file(s)...
resolutions.yaml... โ
NORMALIZED โ /path/to/output/resolutions.yaml
meeting-notes.yaml... โ
NORMALIZED โ /path/to/output/meeting-notes.yaml
๐ Normalization Summary:
Successful: 2
Failed: 0
Success rate: 100.0%
Output directory: /path/to/output