As your archive grows, DMS provides tools to query and analyse the collection without leaving the terminal.Documentation 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 search filters records across multiple dimensions, dms stats shows collection-level analytics, dms report generates a browsable catalogue, and dms diff compares two records field by field.
Searching records
All filters are combined with AND logic — every filter you add narrows the result set further.Available filters
| Flag | Description |
|---|---|
-t, --type | Exact match on heritage type (story, photo, poem, …) |
-s, --subject | Partial match on any subject tag |
-c, --creator | Partial match on any creator name |
-l, --language | Exact match on language code (en, sw, rw, fr, …) |
--from DATE | Records with date.created on or after YYYY-MM-DD |
--to DATE | Records with date.created on or before YYYY-MM-DD |
-q, --query | Free-text search across title, description, and subject |
--verbose | Include a description excerpt for each result |
Search examples
Reading results
Matching records are shown in a rounded table with columns for filename, title, type, language, and creator. With--verbose, a truncated description (120 characters) is printed beneath the table for each match.
No records matched your search. and exits with code 0.
Collection statistics
dms stats analyses every .json file in the directory and displays:
- Type distribution — count of records per heritage type
- Language breakdown — count of records per language code
- Completion heatmap — which recommended fields (
creator,date,subject,location,rights) are filled in across the collection, making it easy to spot gaps
Generating a catalogue
dms report reads all records in a directory and produces a browsable catalogue you can open locally or host for the community.
| Option | Default | Description |
|---|---|---|
--dir | (required) | Directory of DMS records to include |
--output | <dir>/report.html or <dir>/report.md | Output file path |
--format | html | Output format: html or md |
--title | Dzaleka Heritage Collection | Heading shown at the top of the catalogue |
Comparing two records
dms diff performs a field-level comparison between two records and highlights what has changed:
--all to include unchanged fields as well:
dms diff compares field values semantically — it will flag a field that changed from "public" to "restricted" without requiring you to do a line-by-line text diff of the raw JSON.