# Flight Simulator — Workflow Rules ## Change process (mandatory) 1. **Small, incremental changes** — work is done one change at a time, in smaller parts; each part must be tested thoroughly with unit and e2e tests covering it before moving on. 2. **Changelog entry** — every such change is listed in `CHANGELOG.md` with date, time and version (format: `## v — YYYY-MM-DD HH:MM`, then bullet points of what changed). 3. **Version bump** — the version is updated in `package.json`. 4. **Commit + tag** — a commit is created for each change, tagged with the version (e.g. `v0.1.0`). ## E2E tests (mandatory) 1. **Compose instance is the app under test** — e2e always runs against the docker-compose build behind Traefik (`https://flight.dev.kkhost.pl`), never a local `next dev` on :3000 (dev builds don't render for non-loopback clients, and a second instance splits state). 2. **Update before testing** — deploy current code first: `docker compose up -d --build`. 3. **Remote browsers** — tests run through the shared Playwright server at `192.168.1.4:3000` (Docker image tag must match this repo's @playwright/test version); plain `npx playwright test` handles deploy + readiness + remote connect (see `playwright.config.ts`). ## API 1. **Live base URL** — `https://flight.dev.kkhost.pl` (the docker-compose build behind Traefik). 2. **Machine-readable spec** — OpenAPI 3.x at `https://flight.dev.kkhost.pl/api/openapi`; current app version at `/api/version`. 3. **Spec lives in code** — generated from `lib/openapi.ts`, served by `app/api/openapi/route.ts`; must be updated whenever an endpoint changes. ## Other 1. For longer terminal tasks you should use pty_* tools.