This release introduces support for two new major LLM providers, Google Gemini and Groq, significantly expanding the range of available models. The developer experience is also improved with the introduction of an automated CI/CD testing pipeline and a comprehensive overhaul of the test suite.
New Features & Enhancements
- Google Gemini & Groq Support: The application now integrates with the Google Gemini and Groq APIs. Users can configure their API keys to access models such as
gemini-2.5-pro,gemini-2.5-flash, and Groq'smoonshotai/kimi-k2-instruct. Theveniceprovider has been removed. - New Dependencies: To support these new features, several packages have been added, including
google-genai,textual[syntax],tiktoken,pyperclip,ddgs, andmarkdownify.
A Closer Look at the Changes
-
LLM Provider Integration:
- Configuration for Gemini and Groq providers has been added to
api_providers.json, along with corresponding updates to the defaultmodel_list.json. - Client initialization for the Gemini API has been implemented, with the
google-genaidependency handled gracefully if not installed. - A new service was created to fetch available models directly from the Gemini API, supplementing the data with cost and context details from external sources.
- Configuration for Gemini and Groq providers has been added to
-
Streaming Logic Refactoring:
- The core LLM streaming logic in
llm_requests.pyhas been refactored for better modularity. - Provider-specific streaming implementations for OpenAI, Anthropic, and the new Gemini service are now organized in the
src/jrdev/services/streaming/directory. This architecture simplifies maintenance and makes it easier to add new providers in the future.
- The core LLM streaming logic in
-
CI/CD and Testing Overhaul:
- A new GitHub Actions workflow (
pytest.yml) has been added to automatically run the test suite on every push and pull request across Python versions 3.9 through 3.12. This ensures code quality and compatibility. - The test suite has been significantly improved by removing several outdated test scripts and adding new, robust unit tests for configuration (
test_config.py), Git utilities (test_git_utils.py), and string manipulation functions (test_string_utils.py).
- A new GitHub Actions workflow (
-
Code Refinements & Bug Fixes:
- Improved the logic for adding entries to
.gitignoreto ensure correct newline handling. - Enhanced the accuracy of token count estimation displayed in the terminal UI by rebuilding the full prompt context.
- Updated various type hints for better code clarity and compatibility with older Python versions.
- Improved the logic for adding entries to
-
Documentation:
- A new
AGENTS.mdfile provides a technical guide to the codebase architecture and development conventions, intended for both human developers and AI agents interacting with the project.
Generated by JrDev AI using gemini-2.5-pro
- A new