## Stack - **Language:** Python 3.12 (Django 6), Node 22 (Vite + Tailwind v4) - **Key deps:** Django, htmx, Alpine.js, Tailwind v4, whynot-design (vendored under `static/src/vendor/whynot-design/`) ## Dev Commands ```bash # Install dependencies uv sync # Python npm ci # Node (Vite/Tailwind) # Run dev stack make db # Start postgres if not running make dev # Django runserver on :9000 make css # Tailwind/Vite watcher (rebuilds main.css) # Build CSS bundle for prod / for verification npm run build # → static/dist/main.css # Re-vendor the whynot-design system from a pinned upstream commit make sync-whynot-design # reads .whynot-design-ref by default # or: ./scripts/sync-whynot-design.sh # Tests / lint make test # uv run pytest make lint # ruff + mypy ``` See `wiki/DesignSystem.md` for the whynot-design adoption status (Phase 1 tokens+CSS done; Phase 2 components deferred) and local style conventions.