Extract code into focused modules for better maintainability:
New modules:
- gemini_types.rs (32 lines) - Response type definitions
- gemini_helpers.rs (51 lines) - Prompt builder and conversion helpers
- prompt.rs (130 lines) - User input and validation logic
Refactored files:
- gemini.rs: 278 -> 259 lines (-19 lines)
* Extract response parsing into helper methods
* Extract request building into separate methods
* Extract retry logic into dedicated functions
* Use PromptBuilder for cleaner prompt construction
- config.rs: 275 -> 127 lines (-148 lines)
* Extract all prompting logic to prompt.rs module
* Simplify with Default trait for Config
* Cleaner API methods
Benefits:
- Better separation of concerns
- Easier to test and maintain
- Clearer module boundaries
- Reduced nesting and complexity
- All 31 tests still passing