Releases: omarish/metadata-enforcer
Releases · omarish/metadata-enforcer
Release list
metadata-enforcer 2.0.0
Breaking rewrite
Replace the v0.1 YAML/columns.yaml → JSON Schema design with Django-style Python models.
What changed
- Schema: Python
Modelclasses + field types (TextField,BooleanField,DateField,TagsField,UUIDField,URLField,URLPathField) - Routing:
ROUTES/MODEL_BY_PATHmap directory prefixes to models (longest prefix wins) - CLI:
check/fix/watch(Click)check— validate onlyfix— write missing defaults + applyfield_orderwatch— re-run on.mdchanges (--fixoptional)
- Config: vault
schema.py(or--schema PATH), defaultROOT/schema.py
Removed
columns.yaml/ JSON Schema compilermetadata-enforcer init- Dependencies:
jsonschema,python-frontmatter - Wikilink unwrapping
Install
uv tool install --force git+https://github.com/omarish/metadata-enforcer.git@v2.0.0
# or from a checkout:
make installQuick start
metadata-enforcer check ~/vault
metadata-enforcer fix ~/vault --verbose
metadata-enforcer watch ~/vault --fixSee the README and examples/sample-vault/.
metadata-enforcer v0.1.0
First release of metadata-enforcer.
Highlights:
- Human-friendly
columns.yamlschemas compiled to JSON Schema 2020-12 - Cold-start schema inference with
metadata-enforcer init - Recursive and watch-mode validation for Obsidian vaults
- Wiki-link title normalization and nullable/mixed-type inference
- Precise file, field, and invalid UTF-8 diagnostics
Install from source with uv and see README.md for usage.