## Stripe Projects Stripe Projects is a CLI plugin that lets you provision and manage third-party services such as databases, hosting, and AI providers directly from your terminal. Credentials are encrypted and stored in a project vault, and environment variables are automatically synced to your local `.env`. For full documentation, see [Stripe Projects](https://docs.stripe.com/projects.md). Install or upgrade the plugin with: ```sh stripe plugin install projects ``` ```sh stripe plugin upgrade projects ``` > Stripe Projects is currently in developer preview. Commands and flags might change. Run `stripe projects --help` or `stripe projects --help` to view the latest reference for your installed version. ## projects init Initialize a new Stripe Projects workspace in the current directory. This creates project state files, an `AGENTS.md` context document for AI agents, and adds credential paths to `.gitignore` automatically. Files created: - `.projects/state.json`: Shared project state (safe to commit) - `.projects/state.local.json`: Local machine associations (do not commit) - `.projects/vault/vault.json`: Encrypted credential cache (do not commit) - `.env`: Plaintext environment variables for local development (do not commit) - `AGENTS.md`: LLM context file listing provider docs and env var names **Command:** `stripe projects init` ### Arguments - `` Optional name for the project. Defaults to the current directory name. ### Flags - `--from ` Initialize from a shared stack URL generated by `stripe projects share`. This provisions the same set of services into a new project. ### Examples **Initialize a new project** ```sh stripe projects init my-app ``` **Initialize from a shared stack URL** ```sh stripe projects init --from https://projects.dev/s/abc123 ``` ## projects list List all Stripe projects associated with your Stripe account. Returns each project's name, ID, and creation date. Use the project ID with `stripe projects pull`. **Command:** `stripe projects list` ### Examples **List all projects** ```sh stripe projects list ``` ``` NAME ID CREATED my-app proj_abc123 2026-05-01 staging-env proj_def456 2026-04-15 ``` ## projects pull Pull an existing Stripe Project into a new local directory. Creates local state files and writes a `.env` file populated with the project's credentials. Run this from an empty directory. To find a project ID, run `stripe projects list`. **Command:** `stripe projects pull` ### Arguments - `` The ID of the project to pull. Retrieve project IDs with `stripe projects list`. ### Examples **Pull a project into a new directory** ```sh stripe projects pull proj_abc123 ``` ## projects status Show the current status of your project, which includes linked providers, provisioned resources, plan tiers, and service health. **Command:** `stripe projects status` ### Examples **Show project status** ```sh stripe projects status ``` ``` Project: my-app (proj_abc123) PROVIDER SERVICE TIER STATUS vercel project hobby ✓ healthy supabase project free ✓ healthy openrouter api free ✓ healthy ``` ## projects catalog Browse the full service catalog, or inspect a specific provider's available services and plan tiers. Use this to discover service identifiers and plan names before running `stripe projects add`. **Command:** `stripe projects catalog` ### Arguments - `` Optional provider name to inspect. Omit to list all available providers. ### Examples **List all available providers** ```sh stripe projects catalog ``` **Inspect a provider's services and plans** ```sh stripe projects catalog supabase ``` **Return the catalog as structured JSON** ```sh stripe projects catalog supabase --json ``` ## projects search Search the service catalog by keyword. Returns providers and services matching the search term. **Command:** `stripe projects search` ### Arguments - `` The search term to match against provider and service names. ### Examples **Search for database services** ```sh stripe projects search database ``` ## projects add Provision a service from a provider into your current project. The CLI authenticates with the provider, provisions the resource, saves encrypted credentials to `.projects/vault/vault.json`, and writes environment variables to `.env`. Run `stripe projects billing add` before provisioning paid plan tiers. **Command:** `stripe projects add` ### Arguments - `/` The provider and service to provision, for example `vercel/project` or `supabase/project`. Run `stripe projects catalog` to browse available providers and services. ### Flags - `--config ` Pass a provider-specific configuration as a JSON string. Use it to specify plan tiers or provider options in non-interactive mode. ### Examples **Add a service (interactive)** ```sh stripe projects add vercel/project ``` **Add a service with a specific plan tier (non-interactive)** ```sh stripe projects add amplitude/analytics \ --config '{"plan_tier":"plus-v3-10k-mtu-monthly"}' \ --no-interactive \ --accept-tos ``` **Add a service and return JSON output** ```sh stripe projects add openrouter/api \ --no-interactive \ --json \ --auto-confirm ``` ## projects link Associate an existing provider account with your project without provisioning a new resource. Use this when you already have an account with a provider and want to connect it to your project. The recommended first step in agent-driven workflows is to establish provider connections before running `stripe projects add`. **Command:** `stripe projects link` ### Arguments - `` The provider to associate, for example `vercel` or `supabase`. ### Examples **Associate a provider account** ```sh stripe projects link vercel ``` ## projects remove Remove a provisioned service from your project. This deprovisions the resource in the provider's system and removes it from your project state. > This is a destructive operation. It deprovisions and deletes the resource in the provider's system. Back up any data before proceeding. You can't undo this action. **Command:** `stripe projects remove` ### Arguments - `/ | ` The service to remove, specified as `/` or by resource ID. ### Examples **Remove by provider and service** ```sh stripe projects remove supabase/project ``` **Remove by resource ID** ```sh stripe projects remove res_abc123 ``` ## projects upgrade Upgrade a provisioned service to a higher plan tier. You'll receive a prompt to select a plan and confirm billing using the payment method on file. Run `stripe projects billing add` first if you haven't set up billing. **Command:** `stripe projects upgrade` ### Arguments - `/ | | ` The service to upgrade, specified as `/`, by resource ID, or by provider name. ### Examples **Upgrade a specific service** ```sh stripe projects upgrade vercel/project ``` **Upgrade by provider name** ```sh stripe projects upgrade supabase ``` ## projects open Open the provider's dashboard in your default browser. **Command:** `stripe projects open` ### Arguments - `` The provider whose dashboard to open. ### Examples **Open the Supabase dashboard** ```sh stripe projects open supabase ``` **Open the Vercel dashboard** ```sh stripe projects open vercel ``` ## projects rotate Rotate credentials for a provisioned service. This generates new API keys or secrets at the provider and updates the project vault. After rotating, run `stripe projects env --pull` to refresh your local `.env` with the new credentials. **Command:** `stripe projects rotate` ### Arguments - `/ | ` The service whose credentials to rotate, specified as `/` or by resource ID. ### Examples **Rotate credentials by provider and service** ```sh stripe projects rotate supabase/project ``` **Rotate credentials by resource ID** ```sh stripe projects rotate res_abc123 ``` ## projects env Manage environment variables and credentials associated with your project. Running it without flags lists variable names with their values redacted. Use `--pull` to write plaintext values to your local `.env`. Run `--pull` manually when: - You're setting up the project on a new machine, or after cloning the repo. - A teammate provisioned or rotated a resource and you need the updated credentials. - Your `.env` was deleted or corrupted and you need to restore it. > `.projects/vault/vault.json` and `.env` are both added to `.gitignore` by `stripe projects init`. Never commit either file. **Command:** `stripe projects env` ### Flags - `--pull` Sync credentials from the project vault to your local `.env`. ### Examples **List environment variable names (values redacted)** ```sh stripe projects env ``` ``` SUPABASE_URL (set) SUPABASE_ANON_KEY (set) SUPABASE_SERVICE_KEY (set) VERCEL_TOKEN (set) OPENROUTER_API_KEY (set) ``` **Sync values to your local .env file** ```sh stripe projects env --pull ``` ## projects billing Manage the payment method and spend limits used for paid provider plans under Stripe Projects. We associate the payment methods with your Stripe account. **Command:** `stripe projects billing` ### Subcommands - `billing show` Display the payment method currently on file for Stripe Projects billing. - `billing add` Add or update the payment method used for Stripe Projects billing. We require it before you can provision any paid plan tier. - `billing update` Set or update global or per-provider monthly spend limits. ### Flags for billing update - `--limit ` Set a monthly spend cap in USD. It applies globally unless you also specify `--provider`. - `--provider ` Scope the spend limit to a specific provider. Per-provider limits take precedence over the global limit. ### Examples **View the payment method on file** ```sh stripe projects billing show ``` **Add or update a payment method** ```sh stripe projects billing add ``` **Set a global 50 USD per month spend cap** ```sh stripe projects billing update --limit 50 ``` **Set a 20 USD per month cap for Supabase only** ```sh stripe projects billing update --limit 20 --provider supabase ``` ## projects spend View the current and previous month's spend, broken down by provider. **Command:** `stripe projects spend` ### Examples **View spend by provider** ```sh stripe projects spend ``` ``` PROVIDER THIS MONTH LAST MONTH vercel 0.00 USD 0.00 USD supabase 0.00 USD 0.00 USD openrouter 1.24 USD 3.87 USD ──────────────────────────────────── TOTAL 1.24 USD 3.87 USD ``` ## projects share Generate a shareable URL that encodes your project's service stack—providers and services only. Credentials are _never_ included in shared URLs. Teammates can recreate the same stack in a new directory using `stripe projects init --from `, or merge it into an existing project using `stripe projects import`. **Command:** `stripe projects share` ### Examples **Generate a share URL** ```sh stripe projects share ``` ``` Share URL: https://projects.dev/s/abc123 ``` ## projects import Add services from a shared stack URL to your existing project. Unlike `stripe projects init --from`, this command merges the imported services into your current project's state without creating a new project. **Command:** `stripe projects import` ### Arguments - `` A shared stack URL generated by `stripe projects share`. ### Examples **Import services from a shared stack URL** ```sh stripe projects import https://projects.dev/s/abc123 ``` ## projects llm-context Generate an `AGENTS.md` context document for the current project. The file includes provider documentation, quickstart instructions, and environment variable names, formatted for use by AI coding agents (Claude, Codex, Gemini, Cursor, and similar tools). **Command:** `stripe projects llm-context` ### Examples **Generate the AGENTS.md context file** ```sh stripe projects llm-context ```