Agent Skills
› kinncj/Heimdall
› vercel-patterns
vercel-patterns
GitHub提供Vercel部署、Edge函数及环境变量配置的最佳实践。涵盖vercel.json设置、运行时选择、中间件模式、安全头配置及CLI部署流程,旨在优化Vercel平台上的应用开发与发布效率。
Trigger Scenarios
需要配置Vercel部署文件
选择Edge或Node.js运行时
管理Vercel环境变量
编写Next.js中间件逻辑
执行Vercel构建与部署操作
Install
npx skills add kinncj/Heimdall --skill vercel-patterns -g -y
SKILL.md
Frontmatter
{
"name": "vercel-patterns",
"description": "Apply Vercel deployment, edge function, and environment variable patterns. Use when deploying to Vercel."
}
SKILL: Vercel Patterns
vercel.json Configuration
{
"framework": "nextjs",
"buildCommand": "npm run build",
"devCommand": "npm run dev",
"installCommand": "npm ci",
"regions": ["iad1"],
"headers": [
{
"source": "/api/(.*)",
"headers": [
{ "key": "X-Content-Type-Options", "value": "nosniff" },
{ "key": "X-Frame-Options", "value": "DENY" },
{ "key": "Strict-Transport-Security", "value": "max-age=31536000" }
]
}
],
"rewrites": [],
"redirects": [
{
"source": "/old-path",
"destination": "/new-path",
"permanent": true
}
]
}
Runtime Selection
// Edge Runtime (low-latency, streaming, middleware)
export const runtime = 'edge';
// Node.js Runtime (heavy compute, native modules, file system)
export const runtime = 'nodejs';
// ISR (static with revalidation)
export const revalidate = 3600; // seconds
Environment Variables
# Pull env vars for local development
vercel env pull .env.local
# Add env var
vercel env add SECRET_KEY production
# List env vars
vercel env ls
Deployment Workflow
# Build locally first (catch errors before deploy)
vercel build
# Deploy prebuilt (faster, recommended for CI)
vercel deploy --prebuilt
# Deploy to production
vercel deploy --prod --prebuilt
Middleware Pattern
// middleware.ts (runs at edge, before every request)
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export function middleware(request: NextRequest) {
// Auth check, rate limiting, A/B testing, etc.
const token = request.cookies.get('token');
if (!token && request.nextUrl.pathname.startsWith('/dashboard')) {
return NextResponse.redirect(new URL('/login', request.url));
}
return NextResponse.next();
}
export const config = {
matcher: ['/dashboard/:path*', '/api/protected/:path*'],
};
Rules
- Run
vercel buildlocally before deploying to catch errors. - Use
vercel env pullto sync environment variables locally. - Prefer Edge runtime for middleware and simple API routes.
- Use Node.js runtime for heavy compute or native module requirements.
- Set security headers for all API routes.
Version History
- f4ea31f Current 2026-07-05 10:45


