docs(integrations): add Stripe Projects provisioning guide (#49354)

## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

This PR adds some missing Stripe Projects documentation: a short peer
entry on the Integrations overview (next to the existing Vercel
Marketplace entry) plus a focused guide page.

Closes DOCS-1337.

## What is the current behavior?

- Linear item: `DOCS-1337`: Document programmatic project provisioning,
with Stripe Projects as a partner example
- No page under `apps/docs/content/**` mentions Stripe Projects. The
only existing prose is a blog post and a `/go/` marketing page, neither
indexed as docs nor surfaced in `llms.txt` (which is generated purely
from `content/guides/**` directory names/titles).
- The Studio-side confirmation flow
(`apps/studio/pages/partners/stripe/projects/login.tsx`) already exists
and works; the gap is entirely on the docs side.

## What is the new behavior?

- `apps/docs/content/guides/integrations.mdx`: added a "Stripe Projects"
section, same weight as the existing "Vercel Marketplace" section (short
description + link), so Stripe is presented as one of several
provisioning paths rather than singled out.
- `apps/docs/content/guides/integrations/stripe-projects.mdx` (new):
Overview, Quickstart (CLI commands from the Stripe Projects blog post),
Authorizing the request (the actual Supabase-side confirmation screen
behavior), and Limitations.
-
`apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts`:
added the new page to the Integrations sidebar nav, alongside Vercel
Marketplace.

## Additional context

- Worktree:
`~/GitHub/supabase/supabase/.claude/worktrees/docs-1337-stripe-projects`
- Paired eval issue: `DOCS-1338`: a regression eval to be added/run
separately, before and after this PR, to confirm agent discoverability
actually improves.
- Out of scope: the agent-skills piece (separate `supabase/agent-skills`
repo, federated into docs at `content/guides/ai-tools/ai-skills.mdx`) is
being picked up separately.
- The org-linking limitation is confirmed against
`AccountRequestDetailsDto` and
`AccountRequestsController_confirmAccountRequest` in
`packages/api-types/types/platform.d.ts`: the schema exposes a single
optional `linked_organization`, not a list, and the confirm endpoint
takes no request body, so there's no way for the client to select a
different organization.
- The first Vercel deploy on this branch failed on an invalid `<!-- -->`
HTML comment (not valid MDX); fixed in a follow-up commit to use `{/*
*/}`.
- Heading case (`Stripe Projects`) and the word `proxied` needed
allowlist entries in `supa-mdx-lint/Rule001HeadingCase.toml` and
`supa-mdx-lint/Rule003Spelling.toml`, matching the existing `Vercel
Marketplace` precedent.
- Added a Limitations bullet (per reviewer suggestion from gregorvand)
on accessing the dashboard for a newly provisioned organization via
`stripe projects open supabase` or the reset-password flow.

### Integrations page update ([PR
preview](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations))


![integrations-after](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr49354/integrations-after-44f7cbe0.png)

### Stripe Projects page addition ([PR
preview](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations/stripe-projects))


![stripe-projects-after](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr49354/stripe-projects-after-36c32581.png)

### Test plan

- [x] Confirm the "Stripe Projects" section renders on [the Integrations
overview page
(preview)](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations)
- [x] Confirm [the new Stripe Projects page
(preview)](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations/stripe-projects)
renders and appears in the sidebar under Integrations
- [ ] Confirm the new page surfaces in `llms.txt` (directory/title
based)
- [x] Org-linking limitation confirmed via the
`AccountRequestDetailsDto`/confirm-endpoint schema (see Additional
context) rather than a Stripe Projects team conversation
- [x] Re-ran `supa-mdx-lint` allowlist additions locally; heading-case
and spelling findings addressed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
  - Added Stripe Projects to the integrations navigation.
- Added guidance for provisioning Supabase projects through the Stripe
CLI, synchronizing environments, accessing dashboards, rotating
credentials, and understanding authorization and organization-linking
limitations.

- **Documentation**
  - Linked the Stripe Projects guide from the integrations overview.
- Updated documentation validation to support Stripe Projects
terminology and capitalization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nik Richers <nik@validmind.ai>
Co-authored-by: Gregor <1828888+gregorvand@users.noreply.github.com>
This commit is contained in:
authored and GitHub committed 2026-08-25 07:31:07 -07:00
1 parent b9d22fa237
commit 500dddc20c
5 files changed
+70

No files matched your search

@@ -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: [
@@ -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).
@@ -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.
<Admonition type="note">
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).
</Admonition>
## 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.
+1
View File
@@ -233,6 +233,7 @@ may_uppercase = [
"Spring Initializr",
"Sqitch",
"Storage",
"Stripe Projects",
"Studio",
"Supabase",
"Supabase AI Assistant",
+1
View File
@@ -368,6 +368,7 @@ allow_list = [
"PostgreSQL",
"PowerBI",
"[Pp]refill",
"[Pp]roxied",
"ProGuard",
"PubSub",
"Prisma",