neon-serverless について
neon-serverless は、サーバーレスやエッジ環境向けに Neon Serverless Driver を設定するスキルです。接続方式やプーリング、プロジェクトに応じたインポート規則を、例と接続検証スクリプトとともに案内します。
主な機能
- 01エッジ・サーバーレス向け HTTP 接続
- 02WebSocket プールの設定
- 03コネクションプーリングの指針
- 04TypeScript・JavaScript のインポート規則
- 05接続検証スクリプト
活用シーン
- 01エッジ関数の Neon 接続設定
- 02サーバーレス API のデータベース接続設定
- 03HTTP と WebSocket の接続方式の選択
- 04デプロイ前のデータベース接続確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ neondatabase/ ai-rules --skill neon-serverlessインストール後、Claude Code で/neon-serverlessを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/validate-connection.tstemplates/http-connection.tswebsocket-pool.ts詳細
Neon Serverless Skill
サーバーレス環境およびエッジコンピューティング環境で最高のパフォーマンスを発揮できるよう、Neon Serverless Driver を設定します。
使用する場面
- エッジ関数(Vercel Edge、Cloudflare Workers)の接続を設定する
- サーバーレス API(AWS Lambda、Google Cloud Functions)を設定する
- 低レイテンシーのデータベースアクセスに最適化する
- 高スループットのアプリ向けにコネクションプーリングを実装する
推奨しない用途: 複雑な複数ステートメントトランザクション(WebSocket Pool を使用してください)、常時稼働するサーバー(ネイティブの PostgreSQL ドライバーを使用してください)、オフライン優先のアプリケーション。
コード生成ルール
TypeScript/JavaScript コードを生成する場合:
- import 文を生成する前に、パスエイリアス(compilerOptions.paths)について tsconfig.json を確認します
- パスエイリアス(例:「@/」: ["./src/"])が存在する場合は、それを使用します(例:import { x } from '@/lib/utils')
- パスエイリアスが存在しない場合、または不明な場合は、必ず相対インポートを使用します(例:import { x } from '../../../lib/utils')
- インポートがプロジェクトの設定と一致していることを確認します
- 設定にかかわらず常に機能する相対インポートをデフォルトで使用します
参考ドキュメント
主なリソース: 包括的なガイドラインについては、プロジェクトルートにある [neon-serverless.mdc](https://raw.githubusercontent.com/neondatabase-labs/ai-rules/main/neon-serverless.mdc) を参照してください。次の内容が含まれています:
- インストールと互換性の要件
- HTTP アダプターと WebSocket アダプターの選択
- コネクションプーリングの戦略
- クエリ最適化のパターン
- エラー処理とトラブルシューティング
クイックセットアップ
インストール
npm install @neondatabase/serverless
接続パターン
HTTP クライアント(エッジ/サーバーレス向けに推奨):
import { neon } from '@neondatabase/serverless';
const sql = neon(process.env.DATABASE_URL!);
const rows = await sql`SELECT * FROM users WHERE id = ${userId}`;
WebSocket Pool(Node.js の長時間接続向け):
import { Pool } from '@neondatabase/serverless';
const pool = new Pool({ connectionString: process.env.DATABASE_URL! });
const result = await pool.query('SELECT * FROM users WHERE id = $1', [userId]);
完全なサンプルは templates/ を参照してください:
templates/http-connection.ts- HTTP クライアントのセットアップtemplates/websocket-pool.ts- WebSocket プールの設定
検証
デプロイ前にデータベース接続をテストするには、scripts/validate-connection.ts を使用します。
関連スキル
- neon-auth - 認証を追加する
- neon-js - 認証とデータ API を備えたフル SDK
- neon-drizzle - サーバーレス接続で ORM を使用する
- neon-toolkit - 一時的なデータベーステストに使用する
プロジェクトでベストプラクティスを活用しませんか? neon-plugin:add-neon-docs をパラメーター SKILL_NAME="neon-serverless" とともに実行して、参考リンクを追加してください。