Skip to content

[Feature] Create LLM Interface for Better Code Structure and Extensibility #9

@DFanso

Description

@DFanso

Feature Description

Create a unified LLM interface to standardize how different AI providers are integrated, making it easier to add new providers and maintain existing ones.

Problem It Solves

Currently, the codebase handles multiple LLM providers (Google Gemini, Grok, ChatGPT) using repetitive if-else logic in main.go:

Problems with Current Approach:
❌ Repetitive Code - Similar if-else blocks for API key validation and provider selection
❌ Hard to Maintain - Adding a new provider requires changes in multiple places
❌ Not Scalable - Each new provider adds more complexity
❌ Tight Coupling - Main function is tightly coupled to all provider implementations
❌ No Abstraction - No common contract for providers to follow
❌ Difficult Testing - Hard to mock providers for unit tests

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestgoPull requests that update go codegood first issueGood for newcomershacktoberfestEligible for Hacktoberfest

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions