Skip to content

feat: add vault management commands#123

Merged
Yakitrak merged 10 commits intomainfrom
feat/vault-management
Apr 14, 2026
Merged

feat: add vault management commands#123
Yakitrak merged 10 commits intomainfrom
feat/vault-management

Conversation

@Yakitrak
Copy link
Copy Markdown
Owner

Summary

  • Adds add-vault and remove-vault commands for registering/unregistering vaults from the CLI, enabling headless workflows without manually editing obsidian.json (”list-vaults“ means “lists all registered Obsidian vaults”, but no command show how resgister vault #117)
  • Renames set-default to set-default-vault and consolidates print-default into list-vaults --default
  • list-vaults now marks the default vault with (default) in table output
  • Old commands (set-default, print-default) still work but print a deprecation warning to stderr so existing scripts/pipes are unaffected

New commands

Command Description
add-vault <path> Register a vault directory (creates config if needed)
add-vault <path> --set-default Register and set as default
remove-vault <name|path> Unregister a vault (no files deleted)
list-vaults --default Show only the default vault
list-vaults --default --path-only Get default vault path (replaces print-default --path-only)
set-default-vault Renamed from set-default

Deprecated commands

Old Replacement
set-default set-default-vault
print-default list-vaults --default

Closes #117

Test plan

  • Unit tests for AddVault and RemoveVault (path validation, duplicates, removal by name/path)
  • Existing list-vaults and set-default tests updated and passing
  • Manual test: add-vault, remove-vault, list-vaults --default on a real vault
  • Manual test: deprecated commands print warning to stderr, stdout unchanged

- add-vault: register a vault directory, with --set-default flag
- remove-vault: unregister a vault by name or path
- list-vaults: mark default vault, add --default flag replacing print-default
- set-default renamed to set-default-vault
- print-default and set-default kept as deprecated commands (stderr warning)

Closes #117
@Yakitrak Yakitrak self-assigned this Apr 13, 2026
- remove dead code in ClearDefaultIfMatch
- RemoveVault returns resolved vault name so ClearDefaultIfMatch works when removing by path
- consistent newline in list-vaults --default --path-only
- move sd alias to set-default-vault
- add test for formatVaultsTable with default marker
@Yakitrak Yakitrak merged commit c0c3ad5 into main Apr 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

”list-vaults“ means “lists all registered Obsidian vaults”, but no command show how resgister vault

1 participant