Collect repository files
Walk the codebase, respect nested `.gitignore` rules, and skip common generated or binary files.
A small tool for a big codebase
Ask in plain language. Get a ranked list of relevant files, with a clear trail of how each result was scored. Runs locally by default; live scoring is optional.
"Where are session telemetry fields defined and calculated?"
Example run against this repository · threshold 0.30
The search loop
REFLEX turns a natural-language question into candidate files, then shows the path each candidate took through the search loop.
Walk the codebase, respect nested `.gitignore` rules, and skip common generated or binary files.
Use local term, phrase, definition, and docstring signals to estimate which files answer the question.
Accept, reject, or mark a result uncertain using a configurable confidence gate.
See candidate decisions and session telemetry. Optionally escalate uncertain results to Jev.
Made to stay understandable
Use it from the terminal or plug the search loop into a Python workflow.
Local scoring is the default, so searches work without network access, account setup, or an API key.
Use Jev for live scoring or as a fallback for uncertain candidates when you choose to configure it.
Search from the command line, consume JSON output, or provide a custom scorer through a small protocol.
A measured snapshot
Current local benchmark results at top-k 5 and threshold 0.3.
Recall means labeled relevant files appeared in the first five results; it does not mean every result is relevant. Read all metrics, including precision and reciprocal rank, and the query set.
Try it locally
Install the package, point it at a repository, and ask what you want to find. The local path needs no API credentials.
Read the full guide ↗# Install from the repository
pip install -e .
# Search the current codebase
reflex-search "Where are API errors handled?" .
# Explore all options
reflex-search --help