Configuration
Most users never touch configuration. CodeRecon ships with opinionated defaults that work out of the box. This page covers the settings that actually matter.
.recon/.reconignore¶
Controls what CodeRecon indexes. Follows .gitignore syntax. Created automatically by recon register.
# Default patterns
node_modules/
dist/
build/
.venv/
__pycache__/
*.pyc
*.log
coverage/
.pytest_cache/
When to edit¶
- Generated code flooding search results (
generated/,proto_out/) - Vendored dependencies you don't want indexed
- Large data files that aren't source code
Edit .recon/.reconignore directly, or add a .reconignore at the repo root. Root-level patterns are merged automatically and survive --reindex.
Sensitive files
Index artifacts in .recon/ are gitignored by design, so it is safe to index files like .env. They are never committed or shared. Exclude them via .reconignore only if you don't want them in search results.
.recon/config.yaml¶
User-editable. Created by recon register. Only three fields:
# Server port (override with: recon up --port <N>)
port: 7654
# Skip files larger than this (MB) during indexing
# max_file_size_mb: 20
# Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
# log_level: INFO
That's the entire user-facing config. Everything else uses internal defaults that shouldn't need changing.
Feature toggles¶
On machines with limited RAM, disable the ML models to fall back to BM25-only search:
Or in ~/.config/coderecon/config.yaml (applies to all repos):
| Toggle | Default | Effect when disabled |
|---|---|---|
splade | true | Saves ~470 MB RSS. Search uses BM25 only. |
cross_encoder | true | Disables reranking. Results may be less precise. |
Debugging¶
Set log level to DEBUG for troubleshooting:
Or in .recon/config.yaml:
Config precedence¶
Settings are resolved in this order (highest wins):
- Environment variables (
CODERECON__SECTION__KEY) - Per-repo:
.recon/config.yaml - Global:
~/.config/coderecon/config.yaml - Built-in defaults
Environment variables¶
Use a CODERECON__ prefix with double-underscore nesting:
.recon/state.yaml¶
Auto-generated. Do not edit. Stores runtime paths (index location for cross-filesystem setups).