Introduction
# Obsidian
Obsidian vault = a normal folder on disk.
Vault structure (typical) - Notes: `*.md` (plain text Markdown; edit with any editor) - Config: `.obsidian/` (workspace + plugin settings; usually don’t touch from scripts) - Canvases: `*.canvas` (JSON) - Attachments: whatever folder you chose in Obsidian settings (images/PDFs/etc.)
## Find the active vault(s)
Obsidian desktop tracks vaults here (source of truth): - `~/Library/Application Support/obsidian/obsidian.json`
`obsidian-cli` resolves vaults from that file; vault name is typically the **folder name** (path suffix).
Fast “what vault is active / where are the notes?” - If you’ve already set a default: `obsidian-cli print-default --path-only` - Otherwise, read `~/Library/Application Support/obsidian/obsidian.json` and use the vault entry with `"open": true`.
Notes - Multiple vaults common (iCloud vs `~/Documents`, work/personal, etc.). Don’t guess; read config. - Avoid writing hardcoded vault paths into scripts; prefer reading the config or using `print-default`.
## obsidian-cli quick start
Pick a default vault (once): - `obsidian-cli set-default "<vault-folder-name>"` - `obsidian-cli print-default` / `obsidian-cli print-default --path-only`
Search - `obsidian-cli search "query"` (note names) - `obsidian-cli search-content "query"` (inside notes; shows snippets + lines)
Create - `obsidian-cli create "Folder/New note" --content "..." --open` - Requires Obsidian URI handler (`obsidian://…`) working (Obsidian installed). - Avoid creating notes under “hidden” dot-folders (e.g. `.something/...`) via URI; Obsidian may refuse.
Move/rename (safe refactor) - `obsidian-cli move "old/path/note" "new/path/note"` - Updates `[[wikilinks]]` and common Markdown links across the vault (this is the main win vs `mv`).
Delete - `obsidian-cli delete "path/note"`
Prefer direct edits when appropriate: open the `.md` file and change it; Obsidian will pick it up.