microsoft/playwright-dev

Playwrightの開発方法を解説 - APIの追加、MCPツール、CLIコマンド、ベンダー依存関係について。

playwright-dev とは?

このスキルは、Playwrightの開発プロセスを包括的にサポートします。主に、新しいAPIの追加、MCP(Model Context Protocol)ツールの統合、CLIコマンドの実装、そしてサードパーティ製のベンダー依存関係の管理方法について詳しく説明します。Playwrightはブラウザ自動化ライブラリとして広く知られており、このスキルはその内部開発に携わる開発者やコントリビューターを対象としています。Claude Code、Cursor、CodexなどのAIエージェントと連携して、Playwrightのソースコードベースに対する効率的な変更や拡張を支援します。具体的には、コードベースの構造理解、テストの追加方法、ビルドシステムの設定、そして変更を適切にコミットしてプルリクエストを作成するための手順を提供します。これにより、開発者はPlaywrightのコア機能に対する貢献を迅速かつ正確に行えるようになります。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/microsoft/playwright/tree/main/skills/playwright-dev

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

playwright-dev は何をしますか?

Playwrightの開発方法を解説 - APIの追加、MCPツール、CLIコマンド、ベンダー依存関係について。

概要

このスキルは、Playwrightプロジェクトの開発ワークフローを理解し、新しい機能を追加したり、既存のコードを修正したりするためのガイドを提供します。主に以下のトピックをカバーします。

  • APIの追加: Playwrightの公開API(例: page.goto())を新しく追加する手順。
  • MCPツール: Model Context Protocol (MCP) に対応したツールの統合方法。
  • CLIコマンド: Playwrightコマンドラインツール(npx playwright)に新しいコマンドを追加する方法。
  • ベンダー依存関係: 外部ライブラリやプロトコル定義(例: Chrome DevTools Protocol)の管理と更新方法。

前提条件

  • Node.js (バージョン18以上)
  • Git
  • TypeScriptの基本的な知識
  • Playwrightプロジェクトのクローン
git clone https://github.com/microsoft/playwright.git
cd playwright

開発の流れ

  1. フィーチャーブランチを作成する: 新機能や修正ごとにブランチを切ります。

    git checkout -b my-feature-branch
    
  2. ソースコードを変更する: 修正内容に応じて適切なディレクトリ(packages/playwright-core/src/ など)でコードを編集します。

  3. テストを追加する: 変更を検証するためのテスト(ユニットテスト、統合テスト)を追加します。テストは tests/ ディレクトリに配置します。

  4. ビルドとテストを実行する: 変更が正しく動作することを確認します。

    npm run build
    npm run test
    
  5. コミットしてプルリクエストを作成する: 変更内容をコミットし、GitHub上でプルリクエストを開きます。

APIの追加

新しいAPIを追加するには、以下の手順に従います。

  1. 型定義を更新する: packages/playwright-core/types/types.d.ts で新しいメソッドやプロパティの型を定義します。
  2. 実装を追加する: 対応するソースファイル(例: packages/playwright-core/src/server/frames.ts)にロジックを実装します。
  3. テストを書く: 新しいAPIが期待通りに動作することを確認するテストを tests/ に追加します。
  4. ドキュメントを生成する: npm run doc を実行して、自動生成されるAPIドキュメントを更新します。

MCPツールの統合

MCPツールは、mcp パッケージ内で管理されています。新しいツールを追加する場合は、以下の手順を参考にしてください。

  1. ツール定義を作成する: packages/mcp/src/tools/ に新しいツールの定義ファイル(TypeScript)を作成します。
  2. ツールを登録する: packages/mcp/src/server.ts で新しいツールをサーバーに登録します。
  3. テストを追加する: 新しいツールの機能を検証するテストを packages/mcp/tests/ に追加します。

CLIコマンドの追加

新しいCLIコマンドを追加するには、packages/playwright-core/src/cli/ 以下のファイルを編集します。

  1. コマンドを定義する: cli.ts または関連するファイルで、新しいコマンドの定義と処理を追加します。
  2. ヘルプテキストを更新する: コマンドの説明やオプションをヘルプメッセージに追加します。
  3. テストを追加する: CLIコマンドの動作を確認するテストを tests/cli/ に追加します。

ベンダー依存関係の管理

Playwrightは、ブラウザベンダーが提供するプロトコルやバイナリに依存しています。これらの更新は vendor/ ディレクトリで管理されます。

  • プロトコル定義の更新: vendor/protocol/ 以下のJSONファイルをベンダーが公開する最新バージョンに置き換えます。
  • ブラウザバイナリの更新: vendor/browsers.json で新しいバージョンを指定し、npm run build を実行して反映します。

補足情報

  • Playwrightの全体的なアーキテクチャについては、公式ドキュメント を参照してください。
  • コントリビューションガイドラインは CONTRIBUTING.md に記載されています。
  • 問題がある場合は、GitHub Issues で報告してください。

関連スキル