Skip to content

Commit aacf55b

Browse files
chore: point dev.sh at .venv, document Linux first-run setup
dev.sh now uses .venv/bin/python3 so it picks up the project's virtualenv rather than the bare system Python (which has no deps). CLAUDE.md gains a one-time setup block for fresh Linux/WSL machines: create the venv, install backend deps, and reinstall frontend node_modules (Windows-built native binaries don't work on Linux). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent f1de60b commit aacf55b

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

CLAUDE.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,15 @@ data/ Bind-mounted volume — config.json, channels.json, plex_libra
6969
Two loops: the **fast loop** for iterating, the **parity loop** (Docker) for the final
7070
check before shipping. Always run the parity loop before a release.
7171

72+
**One-time setup (Linux/WSL — fresh machine):**
73+
```bash
74+
# Python venv (requires python3-venv: sudo apt install python3.14-venv)
75+
python3 -m venv .venv && .venv/bin/pip install -r backend/requirements.txt
76+
# Frontend — must reinstall on Linux even if node_modules exists from Windows
77+
# (Windows-built native binaries don't work cross-platform)
78+
cd frontend && npm install && cd ..
79+
```
80+
7281
**Fast loop — hot reload:**
7382
```bash
7483
# Linux/WSL:
@@ -78,7 +87,6 @@ check before shipping. Always run the parity loop before a release.
7887
```
7988
Open **http://localhost:5173** (not 7979). Vite serves the SPA with HMR and proxies `/api`
8089
→ the reload backend. Both read/write the real `./data` files, so behavior matches Docker.
81-
Requires a local Python env with backend `requirements.txt` and `npm install` in `frontend/`.
8290

8391
**Parity loop — Docker (run before shipping):**
8492
```powershell

dev.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ echo " Backend (reload): http://localhost:7979"
2424
echo " Ctrl+C to stop both."
2525
echo ""
2626

27-
python3 -m uvicorn main:app --reload --port 7979 --app-dir "$ROOT/backend" &
27+
"$ROOT/.venv/bin/python3" -m uvicorn main:app --reload --port 7979 --app-dir "$ROOT/backend" &
2828
cd "$ROOT/frontend" && npm run dev &
2929

3030
wait

0 commit comments

Comments
 (0)