From 3943b75b7768b6c5f45e2f681b11edb8583c0e7b Mon Sep 17 00:00:00 2001 From: ilia Date: Wed, 5 Aug 2026 15:04:19 -0400 Subject: [PATCH] Humanize README tone for public mirror Plain opening prose; keep badges and install facts. Aligns with project-template docs/writing-docs.md. --- README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 37f7000..7757035 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,11 @@ [![TypeScript](https://img.shields.io/badge/TypeScript-5-blue)](https://www.typescriptlang.org/) [![Playwright](https://img.shields.io/badge/Playwright-ready-45ba4b)](https://playwright.dev/) -**Shared Playwright + API test helpers** — resilient UI actions, API client, timings, and metrics used across Levkin apps. +Shared Playwright and API test helpers for Levkin apps: resilient UI +actions, API client, timings, and metrics. -> Public mirror: [github.com/Gitilia/playkit](https://github.com/Gitilia/playkit) · issues welcome here; CI/publish run on the private forge. +Public mirror: [github.com/Gitilia/playkit](https://github.com/Gitilia/playkit). +Issues welcome there; CI and publish run on the private forge. ## Install (consumer) @@ -63,7 +65,7 @@ test('sign-out stays on public host', async ({ page, playkitConfig, timings }) = | `PLAYKIT_BASE_URL` / `BASE_URL` | yes | Public UI URL (e.g. `https://punimtagdev.levkin.ca`) | | `PLAYKIT_API_BASE_URL` | no | Defaults to base URL | | `PLAYKIT_EXPECTED_HOST` | no | Defaults to host of base URL | -| `PLAYKIT_FORBID_PRIVATE_HOSTS` | no | Default `true` — refuse `10.x` / localhost as expected host | +| `PLAYKIT_FORBID_PRIVATE_HOSTS` | no | Default `true`, refuse `10.x` / localhost as expected host | | `PLAYKIT_RETRY_PRESET` | no | `default` \| `strictCi` \| `flakyNetwork` (timeouts/retries) | | `PLAYKIT_ACTION_RETRIES` / `PLAYKIT_TIMEOUT_MS` | no | Override preset values | | `PLAYKIT_PROJECT` | no | Metric / log label | @@ -72,7 +74,7 @@ test('sign-out stays on public host', async ({ page, playkitConfig, timings }) = | `PLAYKIT_PUSHGATEWAY_URL` | if metrics | e.g. `http://10.255.255.1:9091` | | `PLAYKIT_LOG_LEVEL` | no | `debug` \| `info` \| `warn` \| `error` | -**Secrets:** put test credentials and pushgateway tokens in Infisical (`LevkinOps`) and sync into Gitea Actions — see ansible `docs/hardening/SECRETS.md`. Never commit passwords. +**Secrets:** put test credentials and pushgateway tokens in Infisical (`LevkinOps`) and sync into Gitea Actions, see ansible `docs/hardening/SECRETS.md`. Never commit passwords. ## What’s in the box @@ -116,7 +118,7 @@ try { ## Resilient UI automation (third-party / adversarial SPAs) `click`/`fill`/`waitForVisible` above assume you already have a correct -`Locator` — great when you control the markup and have stable test ids. These +`Locator`, great when you control the markup and have stable test ids. These helpers are for the opposite case: driving a third-party site you don't control, where selectors are dynamic/compound (aria-labels that embed record-specific text), rich-text fields aren't real `