docs: fill in development + testing guides
This commit is contained in:
@@ -1,3 +1,58 @@
|
|||||||
# Development workflow
|
# Development workflow
|
||||||
|
|
||||||
Placeholder: see root `README.md` for current setup steps.
|
This page describes a contributor-friendly local dev loop.
|
||||||
|
|
||||||
|
## Prereqs
|
||||||
|
|
||||||
|
- Python 3.12+
|
||||||
|
- Node 22+
|
||||||
|
- Docker + Docker Compose v2 (`docker compose`)
|
||||||
|
- `uv` (installed automatically by `make backend-sync` in CI; for local install see https://docs.astral.sh/uv/)
|
||||||
|
|
||||||
|
## Fast local loop (DB in Docker, apps on host)
|
||||||
|
|
||||||
|
1) Start Postgres (via compose)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
# Configure .env as needed (see root README for auth-mode notes)
|
||||||
|
|
||||||
|
docker compose -f compose.yml --env-file .env up -d db
|
||||||
|
```
|
||||||
|
|
||||||
|
2) Install deps
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make setup
|
||||||
|
```
|
||||||
|
|
||||||
|
3) Apply DB migrations
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make backend-migrate
|
||||||
|
```
|
||||||
|
|
||||||
|
4) Run backend (dev)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd backend
|
||||||
|
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||||||
|
```
|
||||||
|
|
||||||
|
5) Run frontend (dev)
|
||||||
|
|
||||||
|
In another terminal:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd frontend
|
||||||
|
npm run dev -- --hostname 0.0.0.0 --port 3000
|
||||||
|
```
|
||||||
|
|
||||||
|
Open:
|
||||||
|
- Frontend: http://localhost:3000
|
||||||
|
- Backend health: http://localhost:8000/healthz
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- If you want the fully-containerized stack instead, see the root README’s compose instructions.
|
||||||
|
- If you add new env vars, prefer documenting them in `.env.example` and linking from docs rather than pasting secrets.
|
||||||
|
|||||||
@@ -1,3 +1,57 @@
|
|||||||
# Testing guide
|
# Testing guide
|
||||||
|
|
||||||
Placeholder: see root `README.md` and `CONTRIBUTING.md` for current commands.
|
This repo’s CI parity entrypoint is:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make check
|
||||||
|
```
|
||||||
|
|
||||||
|
That target runs lint + typecheck + unit tests + coverage gate + frontend build.
|
||||||
|
|
||||||
|
## Quick commands
|
||||||
|
|
||||||
|
From repo root:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make setup
|
||||||
|
|
||||||
|
# Format + lint + typecheck + tests + build (CI parity)
|
||||||
|
make check
|
||||||
|
```
|
||||||
|
|
||||||
|
Docs-only quality gates:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make docs-check
|
||||||
|
```
|
||||||
|
|
||||||
|
## Backend
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make backend-lint
|
||||||
|
make backend-typecheck
|
||||||
|
make backend-test
|
||||||
|
make backend-coverage
|
||||||
|
```
|
||||||
|
|
||||||
|
## Frontend
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make frontend-lint
|
||||||
|
make frontend-typecheck
|
||||||
|
make frontend-test
|
||||||
|
make frontend-build
|
||||||
|
```
|
||||||
|
|
||||||
|
## E2E (Cypress)
|
||||||
|
|
||||||
|
CI runs Cypress E2E in `.github/workflows/ci.yml`.
|
||||||
|
|
||||||
|
Locally, the frontend package.json provides the E2E script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd frontend
|
||||||
|
npm run e2e
|
||||||
|
```
|
||||||
|
|
||||||
|
If your E2E tests require auth, ensure you have the necessary env configured (see root README for auth mode). Do **not** paste tokens into docs.
|
||||||
|
|||||||
Reference in New Issue
Block a user