LLM Providers
The rule engine handles ~75% of edge cases with no LLM required. For the remaining complex cases, Quell falls back to an LLM.
No LLM needed for most codebases
If you're seeing rule-engine coverage above 75%, you can skip LLM configuration entirely. Quell will still find and write tests for every case the rule engine handles.
Groq (default, recommended)
Groq provides fast, cheap inference. Sign up at groq.com.
quell auth set GROQ_API_KEY=gsk_...
Or set as environment variable:
export GROQ_API_KEY=gsk_...
Enable in config:
[tool.quell]
enable_llm = true
llm_provider = "groq"
OpenAI-compatible endpoints
Any OpenAI-compatible endpoint works:
export OPENAI_API_KEY=sk-...
export OPENAI_BASE_URL=https://api.openai.com/v1 # or your endpoint
[tool.quell]
enable_llm = true
llm_provider = "openai"
What data is sent to the LLM
Only the source code of the function being tested is sent. No config files, no secrets, no unrelated code. The prompt includes:
- The function source code
- The requirement description extracted from the docstring
- A system prompt instructing the LLM to generate a pytest test
No file paths, no project structure, no environment variables.
Privacy mode
Set enable_llm = false to guarantee nothing leaves your machine:
[tool.quell]
enable_llm = false
In this mode, complex cases become SCAFFOLDED instead of WRITTEN.