diff --git a/.gitignore b/.gitignore
index cd6f512..89fa238 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ main.js
release/
.claude/
data.json
+.env
# Personal mode definitions -- see "Note Modes" in README.md
modes.json
diff --git a/CLAUDE.md b/CLAUDE.md
index b12caed..5ffea6e 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -38,7 +38,7 @@ Source lives in `src/`, bundled to a single root `main.js` by esbuild (entry poi
- **manifest.json** -- Obsidian plugin manifest (id: `second-brain-builder`)
- **scripts/** -- build helpers and vault fix scripts:
- **sync-modes.js** -- prepares `modes.json` before builds (see above); wired into `npm run build` and `npm run dev`
- - **vault-root.js** -- shared vault path resolution for the fix scripts (first non-flag CLI argument, or `OBSIDIAN_VAULT` env var)
+ - **vault-root.js** -- shared vault path resolution for the fix scripts (first non-flag CLI argument, `OBSIDIAN_VAULT` env var, or `OBSIDIAN_VAULT=` in a gitignored repo-root `.env`)
- **fix-all.js** -- unified runner that executes all fix scripts below in order
- **fix-callout-fences.js** -- fixes callout code fences missing the `> ` prefix on closing ``` or content lines
- **fix-currency-dollars.js** -- escapes unescaped `$` currency signs that Obsidian misinterprets as LaTeX
@@ -49,7 +49,7 @@ Source lives in `src/`, bundled to a single root `main.js` by esbuild (entry poi
- **fix-mermaid-quotes.js** -- strips nested double quotes inside already-quoted mermaid labels (inner `"` to `'`)
- **fix-mermaid-list.js** -- fixes "Unsupported markdown: list" errors by converting `N.`/`N)` to `N:` in labels and joining `- item` lines with `
`
-All fix scripts share the same interface: `node scripts/