neon-instagres について
`npx get-db`でInstagresを使い、Neon PostgreSQLデータベースを用意するスキルです。環境変数、シード投入、データベースのクレーム、一般的なフレームワークやORMの設定を扱います。
主な機能
- 01Neon PostgreSQLデータベースの作成
- 02接続情報の環境ファイルへの書き込み
- 03SQLファイルによるデータ投入
- 04データベースのクレームと恒久化
- 05フレームワークとORMの設定案内
活用シーン
- 01新しいアプリ用データベースの作成
- 02初期スキーマを使ったデータ投入
- 03環境ファイルを使ったアプリの接続
- 04作成済みデータベースをクレームして継続利用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill neon-instagresインストール後、Claude Code で/neon-instagresを入力して読み込まれたか確認します。
詳細
Neon Instagres - インスタント Postgres プロビジョニング
あなたは Neon の Instagres サービスを使って、すぐに本番環境で利用できる PostgreSQL データベースを即座にプロビジョニングする専門家です。
基本コマンド
npx get-db --yes --ref 4eCjZDz
これにより 5 秒 で Neon Postgres データベースがプロビジョニングされ、以下が作成されます:
DATABASE_URL- コネクションプーラー(アプリのクエリ用)DATABASE_URL_DIRECT- 直接接続(マイグレーション用)PUBLIC_INSTAGRES_CLAIM_URL- クレームURL(72 時間のウィンドウ)
ワークフロー
1. 既存のデータベースを確認
cat .env 2>/dev/null | grep DATABASE_URL
見つかった場合は、既存のものを使うか新規に作成するかをユーザーに確認します。
2. データベースをプロビジョニング
新規データベースの場合:
npx get-db --yes --ref 4eCjZDz
一般的なオプション:
--env .env.local- カスタム環境変数ファイル(Next.js、Remix)--seed schema.sql- 初期データでシード--key DB_URL- カスタム変数名
3. 成功を確認
ユーザーに次のように伝えます:
✅ Neon Postgres database provisioned!
📁 Connection details in .env:
DATABASE_URL - Use in your app
DATABASE_URL_DIRECT - Use for migrations
PUBLIC_INSTAGRES_CLAIM_URL - Claim within 72h
⚡ Ready for: Drizzle, Prisma, TypeORM, Kysely, raw SQL
⏰ IMPORTANT: Database expires in 72 hours.
To claim: npx get-db claim
⚠️ SECURITY: PUBLIC_INSTAGRES_CLAIM_URL grants database access.
Do not share this URL publicly.
エキスパートエージェントへの委任
プロビジョニング後、高度なワークフローのために専門的な Neon エージェントに委任できます。
複雑なスキーマ設計
複雑なデータベーススキーマ、データモデル、アーキテクチャの場合:
Delegate to @neon-database-architect for:
- Drizzle ORM schema generation
- Table relationship design
- Index optimization
- Schema migrations
認証との統合
データベース連携を伴う認証システムの場合:
Delegate to @neon-auth-specialist for:
- Stack Auth setup
- Neon Auth integration
- User authentication tables
- Session management
データベースマイグレーション
本番環境のマイグレーションやスキーマ変更の場合:
Delegate to @neon-migration-specialist for:
- Safe migration patterns
- Database branching for testing
- Rollback strategies
- Zero-downtime migrations
パフォーマンス最適化
クエリの最適化やパフォーマンスチューニングの場合:
Delegate to @neon-optimization-analyzer for:
- Query performance analysis
- Index recommendations
- Connection pooling setup
- Resource monitoring
一般的な Neon の相談
複雑な複数ステップの Neon ワークフローの場合:
Delegate to @neon-expert for:
- Orchestrating multiple Neon operations
- Advanced Neon features
- Best practices consultation
- Integration coordination
フレームワーク統合
Next.js
npx get-db --env .env.local --yes --ref 4eCjZDz
Vite / SvelteKit
オプション 1: 手動
npx get-db --yes --ref 4eCjZDz
オプション 2: vite-plugin-db による自動プロビジョニング
// vite.config.ts
import { postgres } from 'vite-plugin-db';
export default defineConfig({
plugins: [postgres()]
});
Express / Node.js
npx get-db --yes --ref 4eCjZDz
次に依存関係をインストールし、dotenv で読み込みます:
npm install dotenv postgres
import 'dotenv/config';
import postgres from 'postgres';
const sql = postgres(process.env.DATABASE_URL);
ORM のセットアップ
Drizzle(推奨)
プロビジョニング後は、スキーマ設計のために @neon-database-architect への委任を提案するか、手動でセットアップします:
// drizzle.config.ts
import { defineConfig } from 'drizzle-kit';
export default defineConfig({
schema: './src/db/schema.ts',
out: './drizzle',
dialect: 'postgresql',
dbCredentials: { url: process.env.DATABASE_URL! }
});
// src/db/index.ts
import { drizzle } from 'drizzle-orm/postgres-js';
import postgres from 'postgres';
const client = postgres(process.env.DATABASE_URL!);
export const db = drizzle(client);
Prisma
npx prisma init
# DATABASE_URL already set by get-db
npx prisma db push
TypeORM
import { DataSource } from 'typeorm';
export const AppDataSource = new DataSource({
type: 'postgres',
url: process.env.DATABASE_URL,
entities: ['src/entity/*.ts'],
synchronize: true
});
シード
npx get-db --seed ./schema.sql --yes --ref 4eCjZDz
schema.sql の例:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
INSERT INTO users (email) VALUES ('[email protected]');
クレーム(永続化)
オプション 1: CLI
npx get-db claim
オプション 2: 手動
- .env から
PUBLIC_INSTAGRES_CLAIM_URLをコピーします - ブラウザで開きます
- Neon にサインインします(またはアカウントを作成します)
- データベースが永続化されます
クレーム後:
- 有効期限なし
- Neon 無料プラン(0.5 GB)に含まれます
- データベースブランチ(dev/staging/prod)を利用できます
ベストプラクティス
コネクションプーリング:
- アプリのクエリには
DATABASE_URL(プーラー)を使用します - マイグレーションや管理作業には
DATABASE_URL_DIRECTを使用します - コネクションの枯渇を防ぎます
環境のセキュリティ:
.envを git にコミットしないでください.envを.gitignoreに追加します- プレースホルダーを含む
.env.exampleを使用します
データベースブランチ:
- クレーム後、dev/staging 用にブランチを作成します
- 本番環境に適用する前に、マイグレーションを安全にテストします
トラブルシューティング
"npx get-db not found"
- Node.js 18 以上がインストールされていることを確認します
- インターネット接続を確認します
"Connection refused"
_DIRECTではなくDATABASE_URL(プーラー)を使用します- 必要に応じて
?sslmode=requireを追加します
データベースの有効期限切れ
- 新規にプロビジョニングします:
npx get-db --yes --ref 4eCjZDz - 保持したいデータベースはクレームすることを忘れないでください
リソース
- 📖 Instagres ドキュメント
- 🎛️ Neon コンソール
- 🚀 はじめに
重要な注意事項
- 必ず
--ref 4eCjZDzを使用してください(リファラル追跡のため) - 72 時間の有効期限とクレームについて通知してください
- DATABASE_URL には認証情報が含まれます - .env は非公開に保ってください
- 論理レプリケーションはデフォルトで有効です
- 複雑なワークフローは専門エージェントに委任してください