An Obsidian plugin that bootstraps a stable YAML frontmatter convention for your notes.
- Auto-insert a frontmatter template on new empty Markdown notes
- Optionally auto-update the
updateddate on save - Run a read-only Metadata Health Check and write a report note
Works with Obsidian Properties, Dataview, Bases, and standard YAML frontmatter. Desktop and mobile (isDesktopOnly: false). Fully local — no network access.
When you create a new Markdown file, the plugin inserts a template only if all of the following are true:
- The file extension is
.md - The file content is completely empty
- The file has no existing frontmatter
Default template:
---
type: note
domain:
status: active
created: 2026-05-09
updated: 2026-05-09
source: personal
tags:
---created / updated use today's date (YYYY-MM-DD). You can override the whole template in settings (supports {{date}}).
The plugin never overwrites existing frontmatter keys that are already set.
When enabled (default on):
- On file save, if frontmatter already has an
updatedfield, it is set to today's date - Missing
updatedis not added createdand note body are never modified- Updates are debounced (500ms)
Turn off under Settings → Frontmatter Bootstrap → Auto-update modified date on save.
Command palette: Metadata Health Check
Scopes:
- Current note
- Current folder (recursive)
- Entire vault
Checks (read-only; only convention notes):
A note is in scope if its frontmatter has at least one core field: type, domain, status, source.
- Skipped: no frontmatter, or only
tags/aliases/ other unrelated keys - Required:
type,status,source; pluscreatedif “Track created date” is on; plusupdatedif “Track updated date” is on domainis optional: empty / whitespace → not vocabulary-checked; non-empty must be in domain vocabulary- Other enum fields (
type/status/source): values must be in vocabulary when present - Empty vocabulary for a field → that field’s enum check is skipped
- If present, date fields must be
YYYY-MM-DD - Likely field-name typos (e.g.
statu→status)
Results are written to the vault-root note Metadata Health Report.md (created or overwritten), with [[wikilinks]] to each file. That report file is excluded from subsequent scans. Other notes are not modified.
Settings → Community plugins → Frontmatter Bootstrap
| Section | What it controls |
|---|---|
| Notes behavior | Insert created / updated on new notes; auto-update updated on save |
| Field schemas | Vocabularies for type, status, source, domain (add / edit / delete; defaults for type/status/source) |
| Template | Optional custom YAML template ({{date}} → YYYY-MM-DD). If non-empty, replaces the default template |
| Advanced | Reset all settings (double-confirm) |
| Field | Defaults |
|---|---|
type |
note, project |
status |
active, done, archived |
source |
personal, external |
domain |
work, study, life, project, reference |
- Enable the plugin.
- Create a new empty Markdown note → frontmatter is inserted automatically.
- Edit vocabularies and defaults in settings as needed.
- Optionally run Metadata Health Check from the command palette.
TABLE type, status, created
WHERE type = "project" AND status = "active"
SORT created DESC
LIST
WHERE domain = "work" AND status != "archived"
| Behavior | Detail |
|---|---|
| New notes only for insert | Empty .md without frontmatter |
| No body edits | Only frontmatter via Obsidian's frontmatter API |
| No bulk rewrite | Does not rewrite historical notes on install |
| No network / AI | Local only |
| Configurable | Date tracking and auto-updated can be disabled |
| Health check side effect | Creates/overwrites Metadata Health Report.md at vault root (skipped in later scans) |
- Open Settings → Community plugins
- Turn off Restricted mode
- Browse, search for Frontmatter Bootstrap
- Install and enable
If the plugin is not listed yet, use manual install or a beta tool such as BRAT with this repository.
- Download
main.js,manifest.json, andstyles.cssfrom the latest GitHub Release - Create folder:
VaultFolder/.obsidian/plugins/frontmatter-bootstrap/ - Copy the three files into that folder
- Reload Obsidian and enable the plugin
MIT
Joe — github.com/gmcheck
Build, local debug, packaging, health-check rules, and release steps: see docs/DEVELOPING.md.