diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index 8ee346bc95d..ecfa09baf28 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -3289,6 +3289,10 @@ export const integrations: NavMenuConstant = { name: 'Vercel Marketplace', url: '/guides/integrations/vercel-marketplace', }, + { + name: 'Stripe Projects', + url: '/guides/integrations/stripe-projects', + }, { name: 'Build Your Own', items: [ diff --git a/apps/docs/content/guides/integrations.mdx b/apps/docs/content/guides/integrations.mdx index 8b0144d7610..580e878adc6 100644 --- a/apps/docs/content/guides/integrations.mdx +++ b/apps/docs/content/guides/integrations.mdx @@ -15,3 +15,7 @@ Browse a curated list of Partners who offer one-click integrations, guides or ot ## Vercel Marketplace Create and manage your Supabase projects directly through Vercel. [Get started with Vercel](/docs/guides/integrations/vercel-marketplace). + +## Stripe Projects + +Provision a Supabase project from the Stripe CLI, for use by a human or an AI agent. [Get started with Stripe Projects](/docs/guides/integrations/stripe-projects). diff --git a/apps/docs/content/guides/integrations/stripe-projects.mdx b/apps/docs/content/guides/integrations/stripe-projects.mdx new file mode 100644 index 00000000000..59ef3015545 --- /dev/null +++ b/apps/docs/content/guides/integrations/stripe-projects.mdx @@ -0,0 +1,60 @@ +--- +id: 'stripe-projects' +title: 'Stripe Projects' +description: 'Provision a Supabase project from the Stripe CLI' +--- + +## Overview + +[Stripe Projects](https://docs.stripe.com/stripe-projects) is a workflow in the Stripe CLI that provisions real services and returns working credentials from a single command. Supabase is available in the catalog, so one command provisions a Postgres database along with the rest of Supabase (Auth, Storage, Edge Functions, and Realtime), without opening a dashboard. + +Stripe Projects is designed for both humans and AI agents. The provisioning steps are deterministic and repeatable whether you run them yourself or an agent runs them for you. + + + +Stripe Projects is currently a developer preview. If you run into issues, [reach out on Discord](https://discord.supabase.com/) or open an issue on [GitHub](https://github.com/supabase/supabase/issues). + + + +## Quickstart + +[Install the Stripe CLI](https://docs.stripe.com/stripe-cli/install), then run: + +```bash +stripe plugin install projects +stripe projects init my-app +stripe projects add supabase/project +stripe projects env --sync +``` + +These commands create a new Supabase project in your account with a Postgres database ready to connect and write the project credentials to a local `.env` file. If you already have a Supabase account, the flow prompts you to link it instead of creating a new one. + +To open the Supabase dashboard directly: + +```bash +stripe projects open supabase +``` + +To rotate your database credentials: + +```bash +stripe projects rotate supabase/project +``` + +For the full command reference, see [Stripe's Stripe Projects docs](https://docs.stripe.com/stripe-projects). + +## Authorizing the request + +The first time you provision a project this way, Supabase shows an authorization screen so you can confirm the request before anything is created: + +- If you're not signed in to Supabase with the email Stripe has on file, you're asked to sign out and back in as that account. +- If the Stripe account is already linked to a Supabase organization, you confirm the request. +- Otherwise, confirming creates a new Supabase organization on your behalf. + +Your Supabase project and organization work exactly like ones you create directly: you keep full access to the dashboard, your connection strings, and your data. Nothing is proxied or white-labeled. + +## Limitations + +- Stripe Projects is in developer preview, so behavior may change. +- Provisioning links to a Supabase organization by matching the email on the Stripe account to a Supabase account; there's no option in the CLI flow to choose a different existing organization. +- To access the Supabase dashboard for a new organization provisioned through Stripe Projects, use the `open` command (`stripe projects open supabase`). To log in to the Supabase dashboard directly without the CLI, follow the reset password flow for this account. diff --git a/supa-mdx-lint/Rule001HeadingCase.toml b/supa-mdx-lint/Rule001HeadingCase.toml index 6a497f7929a..34bbda84489 100644 --- a/supa-mdx-lint/Rule001HeadingCase.toml +++ b/supa-mdx-lint/Rule001HeadingCase.toml @@ -233,6 +233,7 @@ may_uppercase = [ "Spring Initializr", "Sqitch", "Storage", + "Stripe Projects", "Studio", "Supabase", "Supabase AI Assistant", diff --git a/supa-mdx-lint/Rule003Spelling.toml b/supa-mdx-lint/Rule003Spelling.toml index 9f291d02300..92480d7258b 100644 --- a/supa-mdx-lint/Rule003Spelling.toml +++ b/supa-mdx-lint/Rule003Spelling.toml @@ -368,6 +368,7 @@ allow_list = [ "PostgreSQL", "PowerBI", "[Pp]refill", + "[Pp]roxied", "ProGuard", "PubSub", "Prisma",