Skip to content

metadata-enforcer 2.0.0

Latest

Choose a tag to compare

@omarish omarish released this 08 Aug 21:05
v2.0.0

Breaking rewrite

Replace the v0.1 YAML/columns.yaml → JSON Schema design with Django-style Python models.

What changed

  • Schema: Python Model classes + field types (TextField, BooleanField, DateField, TagsField, UUIDField, URLField, URLPathField)
  • Routing: ROUTES / MODEL_BY_PATH map directory prefixes to models (longest prefix wins)
  • CLI: check / fix / watch (Click)
    • check — validate only
    • fix — write missing defaults + apply field_order
    • watch — re-run on .md changes (--fix optional)
  • Config: vault schema.py (or --schema PATH), default ROOT/schema.py

Removed

  • columns.yaml / JSON Schema compiler
  • metadata-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 install

Quick start

metadata-enforcer check ~/vault
metadata-enforcer fix ~/vault --verbose
metadata-enforcer watch ~/vault --fix

See the README and examples/sample-vault/.