Skip to content

feat(vdb): make project installable — `vdb` console script on PATH

Ben requested to merge feat/vdb-installable into main

Step 7b. Builds on !11 (merged).

Flips the project to a real package (reversing !5 (merged)'s deliberate non-package, as planned — the on-PATH vdb is the payoff):

  • hatchling build backend + [project.scripts] vdb = "vdb.cli:main",
  • [tool.uv] package = true; wheel target packages = ["vdb"] with feature-catalog.yaml force-included,
  • uv sync now installs the project editable and drops .venv/bin/vdb.

The editable install keeps the engine scripts, scripts/ dev tools, skills/, and systemd units on disk in the clone, so vdb's in-process dispatch (engines.py) and subprocess dispatch (ext.py) still resolve them by path — verified by running .venv/bin/vdb index/serve/status against a vault outside the repo. Wheel builds cleanly with the entry point + catalog.

tests/test_vdb_packaging.py locks the contract (build backend, console script, package list, callable entry point, catalog location). Full suite green.

🤖 Generated with Claude Code

Merge request reports

Loading