Standard instructions for adding or updating backend (pip) and frontend (npm) dependencies.
Dependencies declared in backend/pyproject.toml, pinned in backend/requirements.txt (lock file — never edit by hand).
Edit backend/pyproject.toml:
[project.dependencies][project.optional-dependencies.dev]Regenerate lock file:
cd backend && .venv/bin/pip-compile --output-file=requirements.txt pyproject.toml
Install locally:
cd backend && .venv/bin/pip install -r requirements.txt
Commit both files:
git add backend/pyproject.toml backend/requirements.txt
git commit -m "chore(deps): add <package-name>"
cd backend && .venv/bin/pip-audit
cd frontend
npm install <package-name> # runtime
npm install -D <package-name> # dev-only
Commit both files:
git add frontend/package.json frontend/package-lock.json
git commit -m "chore(deps): add <package-name>"
cd frontend && npm audit
After adding dependencies, rebuild the relevant container:
# Backend
docker compose build backend && docker compose up -d
# Frontend
docker compose build frontend && docker compose up -d