Modern browser automation scaffold with TypeScript + Python Playwright stacks, shared specs, and minimal MCP servers.
common/specs— shared YAML/Markdown journeys, selector policy, and testing philosophy.js/— TypeScript Playwright tests, page objects, journeys, and an MCP server.py/— Python Playwright tests, page objects, journeys, and an MCP sidecar.Makefile— shortcuts for installing deps, running tests, and starting MCP servers.
cd js
npm install
npx playwright install
npm run test:smoke
npm run start:mcpcd py
uv sync
uv run playwright install
uv run pytest
uv run python -m mcp_server.main- Both stacks prefer accessible selectors and
data-testidanchors (seecommon/specs/selectors.md). - Journeys mirror
common/specs/journeys.yamland can be invoked via MCP (test.runJourney). - MCP servers speak a minimal JSON-RPC style protocol over stdin/stdout and expose shared specs via
resources/listandresources/get. - Configure
BASE_URLto point at the target app (defaults tohttp://localhost:3000) for Playwright contexts and MCP tooling.