Skip to content

feat(vdb): add `vdb menu` (Textual TUI), lazy textual import

Ben requested to merge feat/vdb-menu-cmd into main

Completes the v1 command surface. Builds on !6 (merged)!9 (merged).

vdb menu launches the Setup/Index/Git/Backups/Ignore TUI by loading scripts/vdb-menu.py via engines.load_menu() and running VaultApp. That module is the only thing that pulls textual — config/status/index/serve/dev-tools never touch it (verified: the status path leaves textual out of sys.modules).

Menu doubles as the setup tool for a brand-new vault, so an unresolved vault is not an error: falls back to ./vdb-config.yaml. Missing textual → friendly install hint, not a traceback.

tests/test_vdb_menu_cmd.py covers config-path precedence and boots the loaded VaultApp under Textual Pilot. Full suite green.

🤖 Generated with Claude Code

Merge request reports

Loading