2026-03 mar - rework python installer and cli discovery#

2026-03-15 - Sunday#

Moved installer execution out of the packaged CLI and tightened source-root resolution behavior.

Change summary#

  • Removed install-tool from dotfiles CLI and introduced repo-only installer entrypoint at python/scripts/install_tool.py.

  • Added installer library orchestration in python/scripts/install_tool_lib.py with branch/worktree safety checks, dev install isolation, and dirty custom-path isolation.

  • Updated docs command execution in python/src/dotfiles/main.py to use sys.executable -m sphinx and related module invocations so installed entrypoints and uv run flows resolve tooling from the active interpreter.

  • Updated docs build output paths in python/src/dotfiles/main.py and python/src/dotfiles/publish.py to target docs/_build/html consistently so publish uses a stable HTML directory.

  • Updated source discovery logging in python/src/dotfiles/paths.py to include the config file path when reading [paths].git_root.

  • Added runtime package ancestry as a higher-priority source-root strategy in python/src/dotfiles/paths.py so uv run --project python dotfiles resolves the active checkout before configured canonical fallback.

  • Updated CLI help snapshot generation in python/src/dotfiles/sphinxext/help_generator.py to invoke help via python -m dotfiles.main while preserving displayed dotfiles ... commands.