plano/cli/planoai
Adil Hafeez 5774452195 Refactor config_generator into modular, testable components
Break the 507-line monolithic validate_and_render_schema() into focused
modules with pure validation functions, proper error handling, and clean
I/O separation:

- config_providers.py: provider constants, ConfigValidationError, unified
  URL parsing (replaces 3 different inline implementations)
- config_validator.py: 11 pure validation functions (no I/O, no print/exit)
- config_generator.py: thin 146-line I/O orchestrator, reads files once
  (was twice), uses logging instead of print()

Also cleans up module responsibilities:
- Move stream_access_logs from utils.py to docker_cli.py (Docker operation)
- Deduplicate llm_providers->model_providers migration
- Fix "Model alias 2 -" debug artifact in error message
- Update docker-compose.dev.yaml volume mounts for new files
- Rewrite tests: 53 tests calling pure functions directly (no mock_open
  chains), up from 10 brittle mock-dependent tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 05:16:34 +00:00
..
templates Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00
__init__.py release 0.4.6 (#740) 2026-02-10 21:00:29 -08:00
config_generator.py Refactor config_generator into modular, testable components 2026-02-12 05:16:34 +00:00
config_providers.py Refactor config_generator into modular, testable components 2026-02-12 05:16:34 +00:00
config_validator.py Refactor config_generator into modular, testable components 2026-02-12 05:16:34 +00:00
consts.py release 0.4.6 (#740) 2026-02-10 21:00:29 -08:00
core.py Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00
docker_cli.py Refactor config_generator into modular, testable components 2026-02-12 05:16:34 +00:00
init_cmd.py Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00
main.py Refactor config_generator into modular, testable components 2026-02-12 05:16:34 +00:00
rich_click_config.py Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00
targets.py restructure cli (#656) 2025-12-25 14:55:29 -08:00
trace_cmd.py Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00
utils.py Refactor config_generator into modular, testable components 2026-02-12 05:16:34 +00:00
versioning.py Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00