wxt について
WXT を使うブラウザー拡張機能プロジェクト向けのリファレンススキルです。設定やエントリーポイントからテスト、複数ブラウザー向けビルドまで、開発パターンと注意点を案内します。
主な機能
- 01設定とマニフェストの案内
- 02エントリーポイントとコンテンツスクリプト
- 03ストレージとメッセージングのパターン
- 04WxtVitest と fakeBrowser によるテスト
- 05モジュールと複数ブラウザー向けビルド
活用シーン
- 01WXT のバックグラウンドスクリプトの実装
- 02フロントエンドフレームワークによる拡張 UI の構築
- 03ブラウザー拡張機能の動作テスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ timeraa/ skills --skill wxtインストール後、Claude Code で/wxtを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
GENERATION.mdreferences/config.mdcontent-scripts.mdentrypoints.mdfrontend-frameworks.mdmessaging.mdmodules.mdmulti-browser.mdpatterns.mdstorage.mdtesting.md詳細
WXT - ブラウザー拡張機能フレームワーク
使用する場合
以下に該当する場合に、このスキルを適用してください:
- プロジェクトのルートに
wxt.config.tsがある - コードで
defineBackground、defineContentScript、defineUnlistedScriptを使用している package.jsonに依存関係としてwxtが含まれている- エントリーポイントディレクトリに拡張機能のエントリーファイルがある
- コードで
#importsまたはwxt/*からインポートしている
クイックリファレンス
| トピック | リファレンス |
|---|---|
| 設定、マニフェスト、環境変数、TypeScript | references/config.md |
| エントリーポイント(バックグラウンド、HTML ページ、非公開スクリプト) | references/entrypoints.md |
| コンテンツスクリプト(UI、メインワールド、SPA) | references/content-scripts.md |
| ストレージ API、defineItem、マイグレーション、ウォッチャー | references/storage.md |
| メッセージング(コンテキスト間通信) | references/messaging.md |
| WxtVitest と fakeBrowser を使用したテスト | references/testing.md |
| WXT モジュール(使用方法と作成方法) | references/modules.md |
| 複数ブラウザー向けのビルドとランタイム検出 | references/multi-browser.md |
| Vue、React、Svelte、Solid のセットアップ | references/frontend-frameworks.md |
| 一般的なパターンとアンチパターン | references/patterns.md |
最も一般的なパターン
// entrypoints/background.ts
export default defineBackground({
main() {
// ALL runtime code must be inside main() - cannot be async
browser.runtime.onInstalled.addListener(() => {
console.log('Extension installed');
});
},
});
重要:main() を async にすることはできません。main() の外にあるコードは、Node.js でビルド時に実行されます。
コメント
Markdown 対応