Make API keys optional & add code quality TODOs#91
Conversation
- Make all 5 LLM API keys optional with None default - Add runtime validation in llm_api_key() with descriptive errors - Add code quality issues to TODO.md (high/medium priority) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Greptile OverviewGreptile SummaryMade all 5 LLM API keys (OpenAI, Anthropic, Groq, Perplexity, Gemini) optional with The PR also documents existing code quality issues in
Confidence Score: 4/5
Important Files Changed
|
| f"API key for provider '{provider}' is not configured. " | ||
| f"Set {provider.upper()}_API_KEY in your .env file." |
There was a problem hiding this comment.
Error message inconsistency - this uses {provider.upper()}_API_KEY format, but actual env var names vary (e.g. OPENAI_API_KEY not openai_API_KEY). Suggestion uses the correct uppercase format.
| f"API key for provider '{provider}' is not configured. " | |
| f"Set {provider.upper()}_API_KEY in your .env file." | |
| f"Set {provider.upper()}_API_KEY in your .env file." |
Prompt To Fix With AI
This is a comment left during a code review.
Path: common/global_config.py
Line: 258:259
Comment:
Error message inconsistency - this uses `{provider.upper()}_API_KEY` format, but actual env var names vary (e.g. `OPENAI_API_KEY` not `openai_API_KEY`). Suggestion uses the correct uppercase format.
```suggestion
f"Set {provider.upper()}_API_KEY in your .env file."
```
How can I resolve this? If you propose a fix, please make it concise.
Summary
Nonedefaultllm_api_key()that raises descriptive errors when a missing key is accessedTODO.mdwith high/medium priority itemsTest plan
make cipasses (ruff, vulture, ty, import linter)make testpasses (14 tests)🤖 Generated with Claude Code