mcpField
V
vercel

vercel

github.com/dicklesworthstoneクラウド・DevOps7357 回インストール8 週間前に更新
リポジトリ

vercel について

Vercel で SaaS をデプロイする開発者向けのワークフロースキルです。CLI による制御、ビルド済み成果物のデプロイ、アプリと静的サイトのホスティング分離を扱います。

主な機能

  1. 01CLI によるプロジェクト設定とデプロイ
  2. 02手動およびビルド済みデプロイの手順
  3. 03自動ビルド制御とコスト管理の指針
  4. 04環境変数とシークレットの管理
  5. 05Cloudflare DNS とホスティング分離の指針

活用シーン

  1. 01Vercel での Next.js SaaS プロジェクト設定
  2. 02不要な Vercel ビルドと使用量の抑制
  3. 03デプロイ用シークレットと環境変数の管理
  4. 04SSR アプリと静的なマーケティングページの分離

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations --skill vercel

インストール後、Claude Code で/vercelを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
API-BUILD-CONTROL.md
ARCHITECTURE.md
AUTOMATION-BLUEPRINT.md
BUILD-CONTROL.md
CLI-COMMANDS.md
CLOUDFLARE-OFFLOAD.md
FOOTGUNS.md
TOKEN-AND-KEY-MANAGEMENT.md

詳細

SaaS 向け Vercel

核心となる洞察: 3 つの軸を最適化します。運用の制御(CLI 優先)、コストの制御(意図しないビルドを回避)、正確性(SSR を損なわないキャッシュと認証)。

目次


正確なプロンプト

Set up [Next.js app / SaaS] on Vercel with:
1. Cloudflare DNS at: [domain.com]
2. Supabase project: [project-ref]
3. Build control: [manual deploys only / CI-triggered / default]
4. Cost offload: [R2 for assets / Cloudflare Pages for marketing / none]

Follow vercel-for-saas skill patterns.

アーキテクチャの決定

Where should traffic go?
│
├─ Authenticated app (SSR/RSC) ─────► Vercel (app.example.com)
│  • DNS-only in Cloudflare (no proxy)
│  • Manual deploys, prebuilt artifacts
│
├─ Marketing/docs (static) ─────────► Cloudflare Pages (www.example.com)
│  • Direct Upload for deploy control
│  • Aggressive caching, cheap bandwidth
│
└─ Uploads/assets (storage) ────────► Cloudflare R2 (assets.example.com)
   • Worker-signed URLs
   • No egress fees

この分割を行う理由: Vercel はリバースプロキシを推奨していません。ホスト名を分割すれば、Vercel のエッジを損なわずに Cloudflare のメリットを活用できます。

クイックスタート:手動デプロイ

# 1. Pull settings + env (creates .vercel/)
vercel pull --yes --token $VERCEL_TOKEN

# 2. Build locally (skips Vercel build minutes)
vercel build --prod

# 3. Upload prebuilt artifact
vercel deploy --prebuilt --prod --token $VERCEL_TOKEN

これは、コスト制御において最も効果の大きいパターンです。

ビルドクレジットの消費を止める

方法手順効果
自動デプロイを無効にするvercel.json:"git": { "deploymentEnabled": false }★★★★★
ビルド済みワークフローVercel の外部でビルドし、--prebuilt でアップロードする★★★★☆
ビルドステップの無視終了コード 0 = スキップ、終了コード 1 = ビルド(逆だと勘違いされがちです!)★★☆☆☆
デプロイフックHTTP でトリガーするデプロイのみ★★★☆☆

設定をコードで管理(推奨):

{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "git": { "deploymentEnabled": false }
}

詳細:BUILD-CONTROL.md

環境変数

# List
vercel env ls

# Add secret (interactive)
vercel env add SECRET_NAME production

# Pull to local .env
vercel env pull .env.local

# Bulk sync via REST (for agents)
curl -X POST "https://api.vercel.com/v10/projects/$PROJECT/env?upsert=true" \
  -H "Authorization: Bearer $VERCEL_TOKEN" \
  -d '{"key":"VAR","value":"val","target":["production"]}'

OIDC + Vault については、TOKEN-AND-KEY-MANAGEMENT.md を参照してください。

ドメインの設定

# Add domain to Vercel
vercel domains add example.com --token $VERCEL_TOKEN

# Then in Cloudflare DNS (DNS-only, not proxied):
# A record → Vercel IP  OR
# CNAME → cname.vercel-dns.com

ワークフローのチェックリスト

フェーズ 1:初期設定
  • CLI をインストールする:vercel、supabase、wrangler、jq
  • トークンを設定する:VERCEL_TOKEN、CLOUDFLARE_API_TOKEN
  • プロジェクトをリンクする:vercel link --yes
  • 環境変数を取得する:vercel pull --yes
フェーズ 2:コストの最適化
  • vercel.json に "git": { "deploymentEnabled": false } を追加する
  • CI にビルド済みデプロイのワークフローを設定する
  • マーケティングサイトを Cloudflare Pages に移行する — CLOUDFLARE-OFFLOAD.md
  • アセットを R2 に移行する — CLOUDFLARE-OFFLOAD.md
フェーズ 3:シークレットと認証
  • vercel env add または REST API を使ってシークレットを保存する
  • クラウド認証情報の OIDC を設定する — TOKEN-AND-KEY-MANAGEMENT.md
  • Supabase 認証の統合を設定する
フェーズ 4:データベース
  • マイグレーションを作成する:supabase migration new
  • 適用する:supabase migration up(ローカル)/supabase db push(CI)
  • 型を生成する:supabase gen types typescript

2 ボタンでデプロイ(エージェント向け)

# Marketing (Cloudflare Pages)
pnpm -C apps/marketing build
npx wrangler pages deploy apps/marketing/dist --branch=main

# App (Vercel prebuilt)
vercel pull --yes && vercel build --prod && vercel deploy --prebuilt --prod

重要な落とし穴

落とし穴対処法
ビルドステップの無視の終了コードが直感と逆0 = スキップ、1 = ビルド(直感に反します)
無視されたビルドもクォータにカウントされる代わりに git.deploymentEnabled: false を使う
Cloudflare プロキシと Vercel の併用で問題が発生するVercel のドメインでは DNS のみを使用する
.vercel/ フォルダーをコミットしてしまう.gitignore に追加する
設定ファイルにシークレットを記述するvercel env または wrangler secret put を使う

一覧:FOOTGUNS.md

主要なコマンド

作業コマンド
プレビューをデプロイするvercel
本番環境にデプロイするvercel --prod
設定を取得するvercel pull
ローカルでビルドするvercel build
ビルド済みの成果物をデプロイするvercel deploy --prebuilt
環境変数を一覧表示するvercel env ls
環境変数を追加するvercel env add NAME target
環境変数をファイルに取得するvercel env pull

CLI の完全なリファレンス:CLI-COMMANDS.md


AGENTS.md の説明文

以下をプロジェクトの AGENTS.md にコピーしてください。

### Vercel

Vercel CLI is installed and authenticated.

Project: `<PROJECT_NAME>`

Common commands:

\`\`\`bash
vercel pull --yes         # Fetch settings + env
vercel build --prod       # Build locally (saves build minutes)
vercel deploy --prebuilt --prod  # Deploy prebuilt artifact
vercel env ls             # List env vars
vercel env add SECRET production  # Add secret
\`\`\`

**Cost tip:** Use prebuilt workflow to avoid burning build credits.

リファレンス

トピックリファレンス
アーキテクチャとコストモデルARCHITECTURE.md
ビルドコストの浪費を防ぐBUILD-CONTROL.md
API ベースのビルド制御API-BUILD-CONTROL.md
CLI コマンド一覧CLI-COMMANDS.md
シークレット、環境変数、OIDC、VaultTOKEN-AND-KEY-MANAGEMENT.md
R2 + Pages によるコスト削減CLOUDFLARE-OFFLOAD.md
自動化の完全な設計図AUTOMATION-BLUEPRINT.md
よくある間違いFOOTGUNS.md

トークンの設定(非対話型認証)

# Vercel: https://vercel.com/account/tokens
export VERCEL_TOKEN=xxx

# Cloudflare: https://dash.cloudflare.com/profile/api-tokens
export CLOUDFLARE_API_TOKEN=xxx

# Supabase: project settings → API
export SUPABASE_ACCESS_TOKEN=xxx

すべての CLI がこれらを自動的に読み取ります。対話型ログインは不要です。

コメント