DMS requires Python 3.9 or newer. Run
python3 --version to check before you begin.Install DMS
Clone the repository and install the The
dms CLI in development mode:-e flag installs the package in editable mode, which ensures the schema files bundled in the repository are resolved correctly at runtime.Verify the installation
Confirm the CLI is available and inspect the schema:
dms --version prints the installed CLI version. dms info prints the schema version and a table of all fields, their required status, allowed types, and creator roles:Create a record
DMS offers two ways to create a record. Choose the one that fits your workflow:
- Web UI (recommended)
- CLI wizard
The DMS Vault is a local browser-based form with live validation feedback. It is the easiest way to create well-formed records without writing JSON by hand.This launches the web interface at
http://localhost:8080 and saves records to the records/ directory. The UI provides:- Structured input fields for every schema property
- Live validation against the DMS schema
- Multi-value entry for creators and subject tags
- One-click copy of the raw JSON or JSON-LD output
Validate the record
Once the record is saved, validate it against the DMS schema:A valid record prints a confirmation panel:Errors (marked
✗) mean the record does not conform to the schema and must be fixed. Warnings (⚠) flag missing recommended fields — the record is still valid, but the missing fields reduce discoverability.Example record
The following is a complete, schema-valid DMS record fromexamples/story.json. You can use it as a reference or starting point:
story.json
Next steps
Field guide
Detailed definitions and allowed values for every schema field.
CLI reference
Full reference for all
dms commands: search, export, stats, report, and more.