diff --git a/README.md b/README.md index 0608ba3..2c4d4da 100644 --- a/README.md +++ b/README.md @@ -68,27 +68,30 @@ Required test coverage of 75.0% reached. Total coverage: 98.64% ### CI on a sample PR -Eight backend + two frontend + four security jobs all green on every PR: +Ten jobs across `ci.yml` (eight backend + two frontend) — all green: ![CI status](docs/images/ci-green.png) -> **Capture:** open , click any green run on `develop`, screenshot the job-list panel. Save as `docs/images/ci-green.png`. +The four security-workflow jobs (gitleaks, pip-audit, npm audit, trivy) gate every PR alongside this set; see the [Security workflow runs](https://github.com/constk/harness-python-react/actions/workflows/security.yml). -### Hello page (`docker compose up`) +### Hello page (`npm run dev` / `docker compose up`) -The scaffold's React page hits `/api/v1/health` on load and renders the version + status badge: +The scaffold's React page hits `/api/v1/health` on load and renders the version + status badge. The Vite dev server proxies `/api/*` to the FastAPI backend (target overridable via `VITE_API_PROXY_TARGET`): ![Hello page](docs/images/hello-page.png) -> **Capture:** `docker compose up`, open , screenshot. + ## Why a harness diff --git a/docs/images/ci-green.png b/docs/images/ci-green.png new file mode 100644 index 0000000..83c4f3a Binary files /dev/null and b/docs/images/ci-green.png differ diff --git a/docs/images/hello-page.png b/docs/images/hello-page.png new file mode 100644 index 0000000..61b485b Binary files /dev/null and b/docs/images/hello-page.png differ