askmycode is a Streamlit app for asking questions about local code repositories with a Groq-powered agent. It can inspect whitelisted repos, search code, read files, and synthesize grounded answers from tool results.
- Lists available repos from
config.jsonandrepos/ - Lets you scope questions with
@repo_name - Uses these tools:
list_reposget_file_treeread_file_toolsearch_codeget_repo_metadata
- Stops after a bounded number of reasoning hops
- Writes app logs to
logs/askmycode.log
-
Create a
.envfile with your Groq key:OPENROUTER_API_KEY=your_key_here
-
Configure repositories in
config.json:{ "repos": { "capybaradb": "capybara-brain346/capybaradb", "knowflow": "capybara-brain346/knowflow" } }Each value can be a local path, a GitHub URL, or a short
owner/repospec. Any directories already present underrepos/are also added automatically. -
Install dependencies and run the app:
uv sync uv run streamlit run src/app.py
Ask a question in the chat box. Tag repos to narrow the scope:
How is auth handled in @capynodes-backend?
The repo includes eval tests under tests/evals/:
T1checks tool sequencingG2checks groundingE2Eruns the full golden set
Run them with:
uv run pytestThe LLM-backed tests require OPENROUTER_API_KEY; they are skipped if the key is not set.