TheDocumentation Index
Fetch the complete documentation index at: https://dms.dzaleka.com/llms.txt
Use this file to discover all available pages before exploring further.
dms validate command checks one or more records against the DMS JSON Schema. It distinguishes between errors that must be fixed and warnings for recommended fields that are absent.
Validating a single file
Validating an entire directory
Pass--dir to validate every .json file in a directory at once:
Errors vs. warnings
Errors — must fix
Errors — must fix
Errors mean the record does not conform to the DMS schema. The record will be rejected by any tool that enforces the schema. Common causes:
| Error message | What to do |
|---|---|
Required field 'Title' is missing. | Add the title key with a non-empty string value. |
Required field 'ID' is missing. | Add the id key containing a valid UUID. |
Value cannot be empty. | The field is present but set to "" — provide a real value. |
Invalid value 'unknown'. Allowed: story, photo, … | The type value is not in the permitted enum list. Run dms info to see all valid types. |
Expected type 'array', got 'str'. | A field that expects an array (such as subject) was given a plain string. Wrap the value in []. |
Value '2024-99-01' is not a valid date. | Dates must be ISO 8601 (YYYY-MM-DD). |
Value 'urn:...' does not match expected format. | The id field must be a UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
Warnings — recommended
Warnings — recommended
Warnings indicate that a recommended field is absent. The record is still technically valid, but completing these fields improves discoverability and data quality. The recommended fields checked are:
creator, date, subject, location, rights, source, formatYou can safely publish a record with warnings, but consider filling these fields before contributing to a shared archive.Validation workflow
Create or edit your record
Use
dms init, the DMS Vault, or a text editor to produce a .json file. See Creating records for details.Run single-file validation
Fix errors
Address each error. The most common fixes:
- Add missing required fields (
id,title,type,description,language) - Replace empty string values with real content
- Correct the
typevalue to one of the permitted enum values - Wrap multi-value fields (
subject) in a JSON array
dms info at any time to see all valid type values, creator roles, and access levels.Re-validate until clean
Re-run
dms validate after each round of fixes. Repeat until you see the green ✓ VALID panel.Using validation in CI/CD
Becausedms validate exits with code 0 when all records are valid and 1 when any are invalid, you can integrate it directly into a CI pipeline:
.github/workflows/validate.yml