This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Biergarten Klein - FastAPI backend for a craft beer bar ordering system. Serves a web frontend and provides an AI assistant ("Camilo Klein") powered by OpenAI GPT-4o-mini.
python main.py
gunicorn -w 4 -k uvicorn.workers.UvicornWorker app:app --bind 0.0.0.0:6001
npm install
npx tailwindcss -i ./public/styles/input.css -o ./public/styles/output.css --watch
pip install -r requirements.txt
main.py → app.py:create_app() → app.py:setup_routes() → mounts routers from routes/
Most API routes require Depends(get_current_user) from auth/security.py. Chat endpoints use a separate anti-abuse token system (/api/chat/init-chat → /api/chat/completions).
All settings loaded from .env via config/settings.py using Pydantic. validate_config() checks required vars on startup.
Use Spanish conventional commits: tipo(ámbito): descripción (see .github/commit-instructions.md)
PostgreSQL connection config in config/settings.py:POSTGRESQL_DB_CONFIG. Redis DB 0 for production, DB 1 for development (clears connected_users and chat_history on startup).
This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships.
Rules:
graphify query "<question>", graphify path "<A>" "<B>", or graphify explain "<concept>" over grep — these traverse the graph's EXTRACTED + INFERRED edges instead of scanning filesgraphify update . to keep the graph current (AST-only, no API cost).