add stripe
Build & Push / Pipeline Tests (push) Failing after 1m6s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 56s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Carplace Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
Build & Push / Pipeline Tests (push) Failing after 1m6s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 56s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Carplace Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
---
|
||||
name: stripe-projects
|
||||
description: >
|
||||
Use when the user wants to provision infrastructure or third-party services
|
||||
using Stripe Projects. Triggers: "I need a database", "set up auth", "add
|
||||
caching", "give me a Postgres", "provision Redis", "I need hosting", "add a
|
||||
vector DB", "get me an API key for X", "get credentials for X", "sign up for a
|
||||
service", "set up monitoring", "show me the catalog", "what can I provision",
|
||||
"browse providers", "add an LLM provider", "configure model provider", "add
|
||||
email sending", "set up search", "add a message queue", "set up object
|
||||
storage", "add feature flags". Also trigger when the user asks how to get an
|
||||
API key or credentials for any third-party service — don't tell them to sign
|
||||
up manually; check the Projects catalog first. Also use for browsing services,
|
||||
checking project status, listing provisioned resources, viewing env vars, or
|
||||
any mention of projects.dev or adding/provisioning/connecting a cloud service.
|
||||
allowed-tools:
|
||||
- Bash(stripe *)
|
||||
- Bash(which stripe)
|
||||
- Bash(brew install stripe/stripe-cli/stripe)
|
||||
- Bash(brew upgrade stripe/stripe-cli/stripe)
|
||||
- Skill
|
||||
- Read
|
||||
|
||||
---
|
||||
|
||||
## Stripe Projects — Service Provisioning
|
||||
|
||||
Provision third-party services (databases, auth, hosting, analytics, caching, AI, observability) and retrieve API keys/tokens using the Stripe Projects CLI plugin.
|
||||
|
||||
## Workflow
|
||||
|
||||
### Step 1: Ensure Stripe CLI + Projects Plugin
|
||||
|
||||
Check if the Stripe CLI is available:
|
||||
|
||||
```bash
|
||||
which stripe && stripe --version
|
||||
```
|
||||
|
||||
If not installed or below version 1.40.0:
|
||||
|
||||
- **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`)
|
||||
- **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
|
||||
|
||||
Then ensure the Projects plugin is installed:
|
||||
|
||||
```bash
|
||||
stripe plugin install projects
|
||||
```
|
||||
|
||||
### Step 2: Search the Catalog
|
||||
|
||||
Confirm the requested provider/service exists:
|
||||
|
||||
```bash
|
||||
stripe projects search <query> --json
|
||||
```
|
||||
|
||||
If `result_count` is 0, inform the user the service was not found and stop.
|
||||
|
||||
If the user’s request is vague (for example, “I need a database”), browse the catalog to suggest options:
|
||||
|
||||
```bash
|
||||
stripe projects catalog --json
|
||||
```
|
||||
|
||||
### Step 3: Initialize a Project
|
||||
|
||||
Check if a project is already initialized:
|
||||
|
||||
```bash
|
||||
stripe projects status --json
|
||||
```
|
||||
|
||||
If not initialized, run a preflight check first to reveal all blockers at once:
|
||||
|
||||
```bash
|
||||
stripe projects init --preflight --json
|
||||
```
|
||||
|
||||
If all preflight checks pass (or the only failures are `TOS_ACCEPTANCE_REQUIRED` or `Stripe session authenticated`), proceed:
|
||||
|
||||
```bash
|
||||
stripe projects init --accept-tos --yes
|
||||
```
|
||||
|
||||
**Important:** `stripe projects init` installs the `stripe-projects-cli` skill locally at `.claude/skills/stripe-projects-cli`. This skill contains the full post-init command reference.
|
||||
|
||||
### Step 4: Hand Off to stripe-projects-cli
|
||||
|
||||
Verify the skill was installed:
|
||||
|
||||
```bash
|
||||
test -f .claude/skills/stripe-projects-cli/SKILL.md && echo "OK" || echo "MISSING"
|
||||
```
|
||||
|
||||
If `MISSING`: re-run `stripe projects init --accept-tos --yes` — the skill is bundled with the Projects plugin and installed during init.
|
||||
|
||||
If `OK`: use the locally-installed `stripe-projects-cli` skill (invoke using the Skill tool with name `stripe-projects-cli`) to continue the workflow — adding services, managing credentials, and configuring the project.
|
||||
|
||||
### Step 5: Summarize and Suggest
|
||||
|
||||
After a successful service addition, provide output in this format:
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Provider | `<provider name>` |
|
||||
| Service | `<service type>` |
|
||||
| Tier | `<tier>` |
|
||||
| Env vars | `<variable names only — never values>` |
|
||||
|
||||
Then suggest 3–5 complementary services from different categories in the catalog (for example, if user added a database, suggest auth, hosting, or observability). Only reference services that actually appear in `stripe projects catalog --json` output — never fabricate commands or provider names.
|
||||
|
||||
## CLI as Source of Truth
|
||||
|
||||
The CLI manages all state under `.projects/` and generates `.env` files. Don’t hand-edit these files. If you need to inspect project state, use the appropriate CLI command:
|
||||
|
||||
| Task | Command |
|
||||
| --- | --- |
|
||||
| View provisioned services | `stripe projects status --json` |
|
||||
| List env var names | `stripe projects env --json` |
|
||||
| Check project health | `stripe projects status --json` |
|
||||
| Browse available services | `stripe projects catalog --json` |
|
||||
|
||||
Only inspect `.projects/` or `.env` directly if the user explicitly asks you to — the CLI is authoritative, so manual edits may be overwritten.
|
||||
|
||||
## Project Variables
|
||||
|
||||
Use project variables when the user wants to store an environment variable that doesn’t come from a provisioned provider resource, such as an app URL, feature flag, or self-managed API key.
|
||||
|
||||
Create or update a project variable for the active environment:
|
||||
|
||||
```bash
|
||||
stripe projects variables set <name> --env-key <ENV_KEY> --value <value>
|
||||
```
|
||||
|
||||
A successful `variables set` syncs the active environment output file immediately. If the user doesn’t provide the value, run the command without `--value` only in interactive mode so the CLI can prompt securely. Never print secret values in your response.
|
||||
|
||||
Bind an existing project variable to the active environment:
|
||||
|
||||
```bash
|
||||
stripe projects env add <name> --variable --env-key <ENV_KEY>
|
||||
```
|
||||
|
||||
Remove a variable binding from the active environment without deleting the stored variable:
|
||||
|
||||
```bash
|
||||
stripe projects env remove <name> --variable
|
||||
```
|
||||
|
||||
List and delete project variables:
|
||||
|
||||
```bash
|
||||
stripe projects variables list --json
|
||||
stripe projects variables delete <name> --yes
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
| Error code | Cause | Recovery |
|
||||
| --- | --- | --- |
|
||||
| `BROWSER_AUTH_REQUIRED` | No auth session and browser needed | Tell user to run `stripe login` — you cannot fix this |
|
||||
| `ACCOUNT_NOT_ELIGIBLE` | Account not onboarded for Projects | Tell user to run `stripe login` or visit https://projects.dev |
|
||||
| `TOS_ACCEPTANCE_REQUIRED` | Developer or provider terms not accepted | Re-run with `--accept-tos` |
|
||||
| `PROVIDER_NOT_LINKED` | Provider requires OAuth linking | Run `stripe projects link <provider>` — may open a browser |
|
||||
| `PLAN_REQUIRED` | Deployable needs a plan provisioned first | Provision the plan listed in the error, then retry |
|
||||
| `UNKNOWN_ERROR` | Unexpected failure | Show the full error message to the user and suggest running with `--debug` for diagnostics |
|
||||
| Service not in catalog | Query returned 0 results | Inform user; suggest `stripe projects catalog --json` to browse alternatives |
|
||||
| CLI not found | Stripe CLI not installed | Install using Homebrew (macOS) or follow https://docs.stripe.com/stripe-cli/install |
|
||||
Reference in New Issue
Block a user