Guidance for Claude Code when working in this repo.
Backing project for a learnwithparam.com course. See README.md for the subject and walkthrough.
uv sync # install Python deps
cp .env.example .env # populate OPENROUTER_API_KEY
uv run python app.py # launch Gradio on http://localhost:7860admin/admin123— access to admin tab + all rolesfinance_user/finance123— finance-tagged docs onlyengineering_user/engineering123— engineering-tagged docs only
These live in data/users.json after first launch. Delete data/ to reseed.
This repo is covered by the shared sweep in ../smoke_test_all.sh. To run just this one:
bash ../smoke_test_all.sh rbac-rag-chatbotExpect: Gradio health check returns 200 + real LLM response when asking a finance question as finance_user.
Before every push, always:
- Run the smoke test above. It must pass.
- Verify
.gitignorecovers.env,__pycache__/,.venv/,data/,chroma_db/,.gradio/. git status— confirm no tracked secrets, no data artefacts, no local scratch files.- Commit with a descriptive message.
git push origin main— remote isgit@github.com:learnwithparam/rbac-rag-chatbot.git.
Never force-push. Never commit .env or populated data directories.