CLI v0.2.0 — Safety & Error Handling
What's new
Safety guards (v0.2.0)
Agent-operated tools must fail loudly and prevent data loss by default.
vault writerefuses silent overwrites — requires--forceto overwrite existing notesvault write --diff— preview changes as a unified diff without writingvault createexistence check — aborts if note already exists (by path or basename)vault deleteconfirmation — requires--yesin scripts, prompts interactively in TTYvault property:setread-before-write — shows current/new values, asks for confirmation--dry-runglobal flag — on all mutating commands (write, create, delete, append, prepend, move, rename, property:set, property:remove)deleted:truedetection — warns if CouchDB doc is marked deleted, requires--forceto restore- Wrapped error messages — includes operation, note path, CouchDB error body, and human-readable hints
Package restructure
- Core library moved to
vault_cli/core/(client, config, frontmatter, index, wikilinks) - CLI commands stay in
vault_cli/cli/ - Error handlers extracted to
vault_cli/cli/errors.py
Install
pip install obsidian-vault-cli215 tests passing.