关于 vibe-provision
vibe-provision 根据 YAML 配置创建外部 SaaS 资源,并将环境变量写入指定目标,适用于搭建应用服务的开发团队和 AI Agent。支持 Clerk、Stripe、Resend 等服务。
主要功能
- 01生成配置模板
- 02创建受支持的 SaaS 资源
- 03写入变量至 .env 等目标
- 04合并特定环境配置
- 05记录资源以避免重复创建
- 06在本地认证服务提供商
适用场景
- 01为新应用配置 SaaS 服务
- 02创建独立的开发和生产环境配置
- 03让 AI Agent 根据项目配置创建服务
MCP 相关
其 MCP 服务提供查询服务提供商状态、创建资源以及更新 `vibe.yaml` 服务列表的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| env | string | 否 | 环境名称(dev、staging、prod) |
详细介绍
vibe-provision
通过 YAML 配置外部 SaaS 服务。一条命令即可设置 Clerk、Stripe、Resend 并注入 .env。
“AI 可以编写代码,但无法点击控制面板。”——vibe-provision 就是为此而生。
快速开始
# 1. Generate a config template
npx vibe-provision init
# 2. Authenticate with providers (one-time)
npx vibe-provision auth
# 3. Provision resources and generate .env
npx vibe-provision up
就这么简单。你的 .env 已准备就绪——启动开发服务器即可。
vp 是简写别名:也可以使用 npx vp up。
vibe.yaml
project: my-saas-app
output:
- .env
- vercel # auto-inject env vars to Vercel
- terraform # generate terraform.tfvars.json
services:
auth:
provider: clerk
config:
app_name: "My SaaS App"
redirect_urls:
- http://localhost:3000/callback
payments:
provider: stripe
config:
products:
- name: "Pro Plan"
prices:
- amount: 1900
currency: usd
interval: month
webhooks:
events:
- checkout.session.completed
- customer.subscription.updated
email:
provider: resend
config:
domain: my-app.com
database:
provider: neon
config:
region: aws-ap-northeast-1
cache:
provider: upstash
config:
region: ap-northeast-1
AI(Cursor、Claude Code 等)可以在生成应用代码的同时生成此文件。
支持的提供商
| 提供商 | 类别 | 创建内容 | 认证方式 |
|---|---|---|---|
| Clerk | 身份验证 | 重定向 URL 配置 + 环境变量 | 粘贴 API 密钥 |
| Stripe | 支付 | 产品、价格、Webhook 端点 | 粘贴 API 密钥 |
| Resend | 电子邮件 | 域名注册 | 粘贴 API 密钥 |
| Supabase | 数据库 + 身份验证 | 项目 + API 密钥 | 访问令牌 |
| Neon | Postgres | 项目 + 数据库 | API 密钥 |
| Upstash | Redis | 数据库 | 电子邮件 + API 密钥 |
输出目标
通过 output 部分控制环境变量的写入位置:
| 目标 | 说明 |
|---|---|
.env | 本地 .env 文件(默认) |
vercel | 通过 CLI 设置 Vercel 环境变量 |
terraform | 使用合并语义写入 .vibe-provision/terraform.tfvars.json |
特定环境配置
使用 --env 管理多个环境:
npx vp up --env dev # merges vibe.yaml + vibe.dev.yaml → .env.dev
npx vp up --env staging # merges vibe.yaml + vibe.staging.yaml → .env.staging
npx vp up --env prod # merges vibe.yaml + vibe.prod.yaml → .env.prod
npx vp up # uses vibe.yaml only → .env
基础配置(vibe.yaml)保存共享设置。覆盖文件(vibe.{env}.yaml)会在其基础上进行深度合并:
# vibe.dev.yaml — only override what differs
services:
payments:
provider: stripe
config:
webhooks:
url: https://dev.example.com/api/webhooks/stripe
MCP 服务(AI Agent 集成)
vibe-provision 内含 MCP 服务,因此 AI Agent(Claude Code、Cursor)可以直接配置服务。
设置
添加到你的 .mcp.json(全局或按项目配置):
{
"mcpServers": {
"vibe-provision": {
"command": "npx",
"args": ["vibe-provision", "mcp"]
}
}
}
可用工具
| 工具 | 说明 |
|---|---|
vibe_provision_status | 检查所有提供商的认证和配置状态 |
vibe_provision_up | 配置资源并生成 .env(需要事先完成认证) |
vibe_provision_add | 向 vibe.yaml 添加新服务 |
示例流程
User: "Add Stripe payments to my app"
→ AI generates vibe.yaml with stripe config
→ AI calls vibe_provision_status → "stripe: NOT authenticated"
→ AI: "Run npx vp auth in your terminal"
→ User authenticates (one-time)
→ AI calls vibe_provision_up → Products, Prices, Webhooks created
→ .env updated, app ready to run
幂等性
vibe-provision up 可以安全地重复运行。它会在 .vibe-provision/state.json 中跟踪已创建的资源,并跳过所有已存在的资源。
工作原理
init—— 生成vibe.yaml模板auth—— 引导你完成各提供商的认证,并将凭据保存在本地~/.vibe-provision/auth/up—— 读取vibe.yaml,调用提供商 API 创建资源,并写入已配置的输出目标
凭据绝不会离开你的计算机。
示例
- saas-starter-simple —— Next.js + Clerk + Stripe + Resend,直接处理 webhook
- saas-starter —— 相同技术栈 + qhook,用于生产环境的 webhook 处理
开发
npm install
npm run lint # type check
npm test # run tests (47 tests)
npm run dev -- init # run CLI in dev mode
许可证
FSL-1.1-Apache-2.0 —— 可免费用于任何用途,但不得用于与之竞争的托管服务。将于 2028-03-26 转为 Apache 2.0。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。