Schema
The schema is the heart of Bowerbird. It defines what types of notes exist, what fields they have, and how they’re validated.
Schema Location
Section titled “Schema Location”Each vault has a schema at .bwrb/schema.json.
my-vault/└── .bwrb/ └── schema.jsonSchema Structure
Section titled “Schema Structure”A schema defines:
- Types — Categories of notes (e.g.,
task,idea,person) - Fields — Properties each type has (e.g.,
status,priority,deadline) - Config — Vault-wide settings (link format, default editor, etc.)
- Audit — Configuration for schema validation
{ "types": { ... }, "config": { ... }, "audit": { ... }}See the Schema Reference for complete property documentation.
Schema is King
Section titled “Schema is King”The schema is the source of truth. Notes must conform.
- Hard enforcement on CLI —
bwrb newrefuses to create invalid notes - Soft enforcement on edits — Files can drift, but
bwrb auditcatches it - TypeScript analogy — Like
tsc, Bowerbird can fail builds on schema violations
Next Steps
Section titled “Next Steps”- Schema Reference — Complete property reference
- Types and Inheritance — How types relate to each other
- Validation and Audit — Keeping notes in sync with schema