rag-app/ Pick any file or folder on the left to see what it is, why it exists, when you add it and the mistakes people make with it. Switch the stage to watch the project grow.
Top level, at Growing .git The Git repository uv init creates for you. .venv The virtual environment uv creates on the first `uv add`, `uv sync` or `uv run`. .claude Claude Code project settings and rules, committed so the whole team shares them. .vscode Shared editor settings, recommended extensions and debug configurations. alembic Database migrations for Postgres, created by `uv run alembic init alembic`. app The FastAPI application package: every module the running API and the worker import. data Local working data for ingestion: source files, processed chunks and the index manifest. docs Short Markdown docs for people and coding agents: how the system works and how to operate it. evals The evaluation suite: golden datasets, metrics, judges, the offline runner and online scoring. frontend An optional chat UI that streams answers and shows sources, kept in the same repo. scripts Operational commands: seed the database and index, migrate the index, back it up, mine feedback. tests pytest suites in layers: unit, API, integration with real services, guardrails, then contract and load. htmlcov The HTML coverage report written by `pytest --cov --cov-report=html`. .editorconfig Indentation, line endings and final newlines for every editor. .python-version Pins the Python version uv uses for this project. .gitignore Files Git must never track: .venv, caches, .env, local data and eval results. README.md How to run, ingest, evaluate and deploy the app. pyproject.toml Project metadata, dependencies and tool settings: FastAPI entrypoint, pytest, coverage, Ruff and mypy. uv.lock Exact versions of every package, written by uv. .env Your local API keys and settings, read by app/config.py. .env.example Every environment variable the app needs, with placeholder values. Committed. alembic.ini Alembic's config file, written by `alembic init`: script location and logging. docker-compose.yml Local Postgres, Redis and Qdrant, then the API, worker and an OpenTelemetry collector. .pre-commit-config.yaml Runs Ruff, a lock check and a secret scan before every commit. justfile Short names for the commands everyone runs: setup, dev, test, evals, migrate, seed. AGENTS.md Instructions for AI coding agents: commands, layout, conventions and rules for this repo. CLAUDE.md Claude Code's project instructions; here a one-line import of AGENTS.md plus anything Claude-specific.