The CLI source lives in microsoft/playwright, in packages/playwright-core/src/tools/. This repo
ships @playwright/cli: playwright-cli.js runs the CLI of the playwright-core alpha that
package.json pins, and adds the update check, with skillCheck.js. skills/playwright-cli/ is a
copy of the skill that playwright-cli install --skills writes, and node scripts/update.js
refreshes it.
npm ci
npm test # tests/integration.spec.ts
npx playwright test -g "open data URL"There is no build step and no lint. Tests are in tests/integration.spec.ts. They run
playwright-cli.js with runCli() in the output directory of the test, and the npmRegistry
fixture serves a fake registry for the update check. Add a case to the test whose setup is closest
instead of a new test.
Semantic commit messages: label(scope): description
Labels: fix, feat, chore, docs, test, devops
git checkout -b fix-39562
# ... make changes ...
git add <changed-files>
git commit -m "$(cat <<'EOF'
fix(proxy): handle SOCKS proxy authentication
Fixes: https://github.com/microsoft/playwright/issues/39562
EOF
)"
git push origin fix-39562
gh pr create --repo microsoft/playwright --head username:fix-39562 \
--title "fix(proxy): handle SOCKS proxy authentication" \
--body "$(cat <<'EOF'
## Summary
- <describe the change very! briefly>
Fixes https://github.com/microsoft/playwright/issues/39562
EOF
)"Never add Co-Authored-By agents in commit message.
Branch naming for issue fixes: fix-<issue-number>
See .claude/skills/dev/roll.md and .claude/skills/dev/release.md.
Labels start GitHub Actions workflows that run the Copilot CLI and open pull requests as the
microsoft-playwright-automation app:
needs-triage,needs-triage-mac,needs-triage-winon an issue: triage.yml reproduces and fixes it, with the skill in .claude/skills/playwright-triage/. A fix inmicrosoft/playwrightopens as a draft PR there.needs-revision,needs-revision-mac,needs-revision-winon a PR that triage opened here: revision.yml addresses the maintainers' review comments.needs-rollon an issue: roll.yml rolls Playwright toplaywright@next, as the roll skill says.needs-releaseon an issue: release.yml opens thechore: mark v<version>PR with the release notes as its description, as the release skill says. Copy the notes into the release draft.
Apply a label again to start another run. bots.md in microsoft/playwright describes triage and revision.