20 lines
1.7 KiB
Markdown
20 lines
1.7 KiB
Markdown
# 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<version> — 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. |