Tip: working effectively with wizards

Extend BaseWizard, don't configure from scratch

Inherit from BaseWizard and override build_prompt_context() and process_step_result() instead of creating config-driven wizards from YAML. The built-in wizards like DebugWizard and RefactorWizard show this pattern consistently.

You get type safety, IDE support, and easier testing compared to string-based configuration. The tradeoff is less runtime flexibility — you can't modify wizard behavior without code changes.

Source files

Tags: wizards, interactive