.. _changelog-2026-03-mar-rework-python-installer-and-cli-discovery: 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. Related docs ------------ - :ref:`Build and install standalone ` - :ref:`CLI entry module ` - :ref:`dotfiles CLI help `