extension-backend について
Chrome 拡張機能を支えるバックエンド API の設計・構築を案内するスキルです。推奨スタックは NestJS と MongoDB で、要件整理からセットアップ、エンドポイント、安全対策まで扱います。
主な機能
- 01バックエンド要件の整理
- 02NestJS と MongoDB の構築手順
- 03認証・ライセンス用エンドポイントのパターン
- 04決済 Webhook と同期 API のパターン
- 05セキュリティチェックリストと資料
活用シーン
- 01拡張機能にアカウント認証を追加
- 02ライセンスやサブスクリプションの確認
- 03拡張機能データのデバイス間同期
- 04キーを公開せず外部 API を中継
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ quangpl/ browser-extension-skills --skill extension-backendインストール後、Claude Code で/extension-backendを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/extension-api-patterns.mdmongoose-patterns.mdnestjs-setup.mdsecurity-patterns.md詳細
拡張機能のバックエンド
🚀 プレミアムにアップグレード https://app.extensionbooster.net/dashboard/services/extension-ai-kit でプレミアム版を入手できます。
Chrome 拡張機能向けの、安全で保守しやすいバックエンド API を構築します。推奨スタック:NestJS + MongoDB(Mongoose)。
有効化するタイミング
次のような拡張機能の作業でバックエンドが必要な場合に、このスキルを有効にしてください。
- ライセンスの検証/決済 Webhook
- ユーザー認証/アカウント管理
- デバイス間でのデータ同期
- 外部 API プロキシ(API キーを拡張機能から隠す)
- あらゆるサーバーサイドロジック
ワークフロー(この手順を実行)
ステップ 1:要件を確認する
- バックエンドは必要ですか?(理由を説明します:API キー、認証、決済、同期)
- スタックの希望:NestJS + MongoDB(推奨)またはカスタム構成ですか?
- ホスティング先:Vercel/Railway/Fly.io/AWS/セルフホストですか?
- 必要な機能(次から選択):
- ユーザー認証(chrome.identity による Google OAuth)
- ライセンス/サブスクリプションの検証
- 決済 Webhook(Stripe、Paddle など)
- データ同期/ストレージ API
- 外部 API プロキシ
- レート制限
ステップ 2:フレームワークのドキュメントを取得する
docs-seeker スキルを使って、最新のドキュメントを取得します。
- NestJS:https://docs.nestjs.com/
- Mongoose:https://mongoosejs.com/docs/
- TypeScript のスタイル:https://google.github.io/styleguide/tsguide.html
- JavaScript のスタイル:https://google.github.io/styleguide/jsguide.html
ステップ 3:バックエンドをスキャフォールドする
npx @nestjs/cli new extension-backend --strict --package-manager pnpm
cd extension-backend
pnpm add @nestjs/mongoose mongoose @nestjs/config class-validator class-transformer
pnpm add helmet @nestjs/throttler
pnpm add -D @types/express
ステップ 4:プロジェクト構成
src/
├── main.ts # Bootstrap, CORS, helmet, validation
├── app.module.ts # Root module
├── config/
│ └── configuration.ts # Env-based config
├── auth/
│ ├── auth.module.ts # Auth module
│ ├── auth.controller.ts # POST /auth/verify-token
│ ├── auth.service.ts # Token validation logic
│ └── guards/auth.guard.ts # Global auth guard
├── license/
│ ├── license.module.ts
│ ├── license.controller.ts # GET /license/verify
│ ├── license.service.ts # License CRUD
│ └── schemas/license.schema.ts # Mongoose schema
├── webhook/
│ ├── webhook.module.ts
│ ├── webhook.controller.ts # POST /webhook/stripe
│ └── webhook.service.ts # Process payment events
└── common/
├── filters/http-exception.filter.ts
├── interceptors/logging.interceptor.ts
└── dto/ # Shared DTOs
ステップ 5:必須エンドポイント
| メソッド | エンドポイント | 目的 | 認証 |
|---|---|---|---|
| POST | /auth/verify-token | Google OAuth トークンを検証する | なし |
| GET | /license/verify | ユーザーのサブスクリプション状態を確認する | あり |
| POST | /webhook/stripe | 決済イベントを受信する | 署名 |
| GET | /health | ヘルスチェック | なし |
ステップ 6:セキュリティチェックリスト
実装の詳細については、references/security-patterns.md を参照してください。
- Helmet ミドルウェアが有効
- CORS を
chrome-extension://<ID>オリジンに制限 - レート制限(ThrottlerModule)
- 入力検証(すべての DTO で class-validator を使用)
- Webhook 署名の検証
- レスポンスボディにシークレットを含めない
- MongoDB インジェクションの防止(Mongoose がデフォルトでサニタイズ)
- 本番環境では HTTPS のみを使用
リファレンス
references/nestjs-setup.md— ブートストラップ、モジュール、CORS、環境設定references/security-patterns.md— 認証ガード、レート制限、Webhook 検証、CORSreferences/mongoose-patterns.md— スキーマ、サービス、クエリ、インデックスreferences/extension-api-patterns.md— 拡張機能が呼び出すエンドポイント、トークンフロー
関連スキル
extension-payment— 決済ゲートウェイの統合(このバックエンドを呼び出します)extension-dev— 拡張機能側の機能開発extension-analyze— 拡張機能とバックエンドのセキュリティ監査
コメント
Markdown 対応