doctor: report whether the `dash` and `tui` optional extras are installed
Your AI's guard dog to stop it from going rogue.
Brought to you by:
doberman
Originally created by: fu351
doberman dash needs the dash extra (starlette, uvicorn) and doberman tui needs tui (textual), per pyproject.toml lines 45-46. Today you find out by running the command and reading an ImportError: tui checks importlib.util.find_spec("textual") (src/doberman/cli/main.py:1361), dash try/excepts the import (:1394). doberman doctor never mentions either.
What to do
_check_optional_extras() in src/doberman/cli/doctor.py (or one check per extra) using importlib.util.find_spec for starlette and textual: OK "installed" or WARN "not installed (optional) - pip install 'doberman[dash]'". Posture copied from _check_codex_version (:82): never critical, a missing optional is advice, not a failure.run_checks() after the Codex CLI row.tests/unit/test_cli_doctor.py: monkeypatch find_spec to return None and to return a non-None value, assert the row flips between WARN and OK.find_spec only looks, it doesn't import, so the check stays cheap and side-effect free.
Ticket changed by: fu351