diff --git a/apps/docs/content/guides/getting-started/ai-prompts.mdx b/apps/docs/content/guides/getting-started/ai-prompts.mdx index 706a56033ba48..fa2dd7bcfaf0a 100644 --- a/apps/docs/content/guides/getting-started/ai-prompts.mdx +++ b/apps/docs/content/guides/getting-started/ai-prompts.mdx @@ -14,3 +14,16 @@ Use the "include file" feature from your AI tool to include the prompt when chat ## Prompts + +## Use in different environments + +You can load these prompts into various tools. Here are common options and where to place the prompt: + +| Environment | Where to put prompt | Installation instructions | +| -------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Cursor | Project rules (`.cursor/rules/*.md` or `.mdx`) | [Configure project rules](https://docs.cursor.com/en/context/rules) | +| GitHub Copilot | `.github/copilot-instructions.md` | [Custom instructions in Copilot](https://code.visualstudio.com/docs/copilot/copilot-customization#_custom-instructions) | +| JetBrains IDEs | `guidelines.md` | [Customize guidelines](https://www.jetbrains.com/help/junie/customize-guidelines.html) | +| Gemini CLI | `GEMINI.md` | [Gemini CLI codelab](https://codelabs.developers.google.com/gemini-cli-hands-on) | +| VS Code | `.instructions.md` | Configure `.instructions.md` | +| Windsurf | `guidelines.md` | Configure `guidelines.md` | diff --git a/apps/docs/content/guides/getting-started/mcp.mdx b/apps/docs/content/guides/getting-started/mcp.mdx index 60459e4947d1c..30addfc75149a 100644 --- a/apps/docs/content/guides/getting-started/mcp.mdx +++ b/apps/docs/content/guides/getting-started/mcp.mdx @@ -28,6 +28,8 @@ After you log in, check that the MCP server is connected. For instance, in Curso To verify the client has access to the MCP server tools, try asking it to query your project or database using natural language. For example: "What tables are there in the database? Use MCP tools." +For curated, ready-to-use prompts that work well with IDEs and AI agents, see our [AI Prompts](/guides/getting-started/ai-prompts) collection. + ## Manual authentication By default the hosted Supabase MCP server uses [dynamic client registration](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#dynamic-client-registration) to authenticate with your Supabase org. This means that you don't need to manually create a personal access token (PAT) or OAuth app to use the server. diff --git a/apps/docs/content/troubleshooting/converted-github-account-to-organisation---lost-supabase-account-access-5wsE_1.mdx b/apps/docs/content/troubleshooting/converted-github-account-to-organisation---lost-supabase-account-access-5wsE_1.mdx index ed8ae7d401d59..108774f092a47 100644 --- a/apps/docs/content/troubleshooting/converted-github-account-to-organisation---lost-supabase-account-access-5wsE_1.mdx +++ b/apps/docs/content/troubleshooting/converted-github-account-to-organisation---lost-supabase-account-access-5wsE_1.mdx @@ -11,4 +11,4 @@ database_id = "94c6e33b-cc05-49b3-b010-7480f8dde843" If possible, create a new GitHub account using the **same email** as the previous GitHub account that was turned into a Organization or that was deleted. Once you sign in with that newly created account, you should have access to the old account. You can then invite any new account to have access to the Organization and Projects as needed. -If that is not possible, Supabase can help you transfer ownership of an existing organization on your account by inviting a new owner to your organization. This new user will need to have a different email from the previous one, and you will need to email support@supabase.com with that new email as well to confirm that you own the email address. +If that is not possible, Supabase can help you transfer ownership of an existing organization on your account by inviting a new owner to your organization. This new user will need to have a different email from the previous one, and you will need to email [support@supabase.com](email:support@supabase.com) with that new email as well to confirm that you own the email address. diff --git a/apps/docs/content/troubleshooting/edge-function-fails-deploy.mdx b/apps/docs/content/troubleshooting/edge-function-fails-deploy.mdx index 38ae0f1a32b83..96817a25d40c8 100644 --- a/apps/docs/content/troubleshooting/edge-function-fails-deploy.mdx +++ b/apps/docs/content/troubleshooting/edge-function-fails-deploy.mdx @@ -26,18 +26,13 @@ If you're not able to run the CLI or cannot identify the cause, [open a support ``` $ supabase functions deploy FUNCTION_NAME --project-ref $PROJECT_ID -... -unexpected deploy status 500: {"message":"Function deploy failed due to an internal error"} ``` **Example output with `--debug`** -- From the details we can see it is exceeding the 20MB [Edge Function size limit](/docs/guides/functions/limits) +From the details we can see it is exceeding the 20MB [Edge Function size limit](/docs/guides/functions/limits): ``` $ supabase functions deploy FUNCTION_NAME --project-ref $PROJECT_ID --debug -... Deploying Function: FUNCTION_NAME (script size: 62.61MB) -... -unexpected update function status 413: {"message":"request entity too large"} ``` diff --git a/apps/docs/content/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx b/apps/docs/content/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx index 4e4cfab65842f..e33ace0060993 100644 --- a/apps/docs/content/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx +++ b/apps/docs/content/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx @@ -2,7 +2,6 @@ title = "Error: Failed to run sql query: Connection terminated due to connection timeout" topics = [ "database", "studio" ] database_id = "7529ca12-114b-485c-9b64-bca3b2dc744b" - [[errors]] http_status_code = 500 message = "Error: Failed to run sql query: Connection terminated due to connection timeout" diff --git a/apps/docs/content/troubleshooting/high-cpu-and-slow-queries-with-error-must-be-a-superuser-to-terminate-superuser-process.mdx b/apps/docs/content/troubleshooting/high-cpu-and-slow-queries-with-error-must-be-a-superuser-to-terminate-superuser-process.mdx index d582f253bd0be..7b1203a22e20e 100644 --- a/apps/docs/content/troubleshooting/high-cpu-and-slow-queries-with-error-must-be-a-superuser-to-terminate-superuser-process.mdx +++ b/apps/docs/content/troubleshooting/high-cpu-and-slow-queries-with-error-must-be-a-superuser-to-terminate-superuser-process.mdx @@ -2,6 +2,7 @@ title = "High CPU and Slow Queries with `ERROR: must be a superuser to terminate superuser process`" topics = [ "cli", "database", "storage" ] keywords = [] +database_id = "23668386-7a72-44ff-a412-4cd8a005fa18" --- When facing high CPU utilization, slow query performance, and an `ERROR: must be a superuser to terminate superuser process` message regarding an autovacuum, it indicates that a critical, non-terminable autovacuum operation is running on your Postgres database. This guide explains why this happens and what steps you can take. diff --git a/apps/docs/content/troubleshooting/new-branch-doesnt-copy-database.mdx b/apps/docs/content/troubleshooting/new-branch-doesnt-copy-database.mdx index cf0beccdc7c84..5449693bd7224 100644 --- a/apps/docs/content/troubleshooting/new-branch-doesnt-copy-database.mdx +++ b/apps/docs/content/troubleshooting/new-branch-doesnt-copy-database.mdx @@ -43,12 +43,14 @@ Update remote migration history table? [Y/n] Type `Y` to update your remote project’s migration history and ensure it matches your new local migrations. -- If the CLI suggests repairing migration history due to mismatches, you might see: - ``` - Make sure your local git repo is up-to-date. If the error persists, try repairing the migration history table: - supabase migration repair --status applied - ``` - Run the exact repair command provided, replacing the timestamp as instructed (example timestamp: 20251006141726). This synchronizes the migration state between local and remote. +If the CLI suggests repairing migration history due to mismatches, you might see: + +``` +Make sure your local git repo is up-to-date. If the error persists, try repairing the migration history table: +supabase migration repair --status applied TIMESTAMP_OF_MIGRATION_TO_REPAIR +``` + +Run the exact repair command provided, replacing the timestamp as instructed (example timestamp: 20251006141726). This synchronizes the migration state between local and remote. --- @@ -60,4 +62,4 @@ Once your migration history is up to date, continue to use branching features as #### Additional tips -- If further issues arise (such as schema drift or migration mismatches), review the [troubleshooting documentation](/docs/guides/deployment/branching/troubleshooting#migration-issues), and consider manual repair with `supabase migration repair`(https://supabase.com/docs/reference/cli/supabase-migration-repair). +If further issues arise (such as schema drift or migration mismatches), review the [troubleshooting documentation](/docs/guides/deployment/branching/troubleshooting#migration-issues), and consider manual repair with [`supabase migration repair`](/docs/reference/cli/supabase-migration-repair). diff --git a/apps/docs/content/troubleshooting/pgrst106-the-schema-must-be-one-of-the-following-error-when-querying-an-exposed-schema.mdx b/apps/docs/content/troubleshooting/pgrst106-the-schema-must-be-one-of-the-following-error-when-querying-an-exposed-schema.mdx index 9ce9f234b8118..0ade180ef7eb9 100644 --- a/apps/docs/content/troubleshooting/pgrst106-the-schema-must-be-one-of-the-following-error-when-querying-an-exposed-schema.mdx +++ b/apps/docs/content/troubleshooting/pgrst106-the-schema-must-be-one-of-the-following-error-when-querying-an-exposed-schema.mdx @@ -2,10 +2,11 @@ title = "PGRST106: \"The schema must be one of the following...\" error when querying an exposed schema" topics = [ "auth", "database" ] keywords = [] +database_id = "91dda1aa-52f7-4a1c-9248-92fad9f3dec7" + [[errors]] code = "PGRST106" message = "The schema must be one of the following: public, ..." - --- You may encounter a `PGRST106` error, stating `{"code":"PGRST106","message":"The schema must be one of the following: public"}`, when attempting to query a schema via the PostgREST API that you've recently exposed. diff --git a/apps/docs/content/troubleshooting/realtime-connections-timed_out-status.mdx b/apps/docs/content/troubleshooting/realtime-connections-timed_out-status.mdx index 85b3f80c56c38..c9dedebccd0d0 100644 --- a/apps/docs/content/troubleshooting/realtime-connections-timed_out-status.mdx +++ b/apps/docs/content/troubleshooting/realtime-connections-timed_out-status.mdx @@ -2,6 +2,7 @@ title = "Realtime connections giving `TIMED_OUT` errors" topics = [ "realtime" ] keywords = [] +database_id = "b99fac0e-09da-4a31-93a1-6375ed8ce041" --- If your Realtime connections in your application are giving `TIMED_OUT` errors, this often indicates an incompatibility between the version of `realtime-js` being used in your `supabase-js` client library package and your Node.js version. This issue happens when using versions of Node.js older than v22 with more recent versions of `supabase-js`. diff --git a/apps/docs/content/troubleshooting/sso-error-you-do-not-have-permissions-to-join-this-organization-or-prompts-to-create-new-organization.mdx b/apps/docs/content/troubleshooting/sso-error-you-do-not-have-permissions-to-join-this-organization-or-prompts-to-create-new-organization.mdx index 4ec762f49426f..e05c305a7a793 100644 --- a/apps/docs/content/troubleshooting/sso-error-you-do-not-have-permissions-to-join-this-organization-or-prompts-to-create-new-organization.mdx +++ b/apps/docs/content/troubleshooting/sso-error-you-do-not-have-permissions-to-join-this-organization-or-prompts-to-create-new-organization.mdx @@ -2,6 +2,7 @@ title = "SSO Error: \"You do not have permissions to join this organization\" or prompts to create new organization" topics = [ "platform" ] keywords = [] +database_id = "37d147df-caa7-4b0b-82b5-eab6852f2cff" --- When attempting to log in via SSO, you may observe the message "You do not have permissions to join this organization" or be prompted to create a new organization. diff --git a/apps/docs/content/troubleshooting/supabase-cli-failed-sasl-auth-or-invalid-scram-server-final-message.mdx b/apps/docs/content/troubleshooting/supabase-cli-failed-sasl-auth-or-invalid-scram-server-final-message.mdx index 03a5bf2df61bc..2300d69883d13 100644 --- a/apps/docs/content/troubleshooting/supabase-cli-failed-sasl-auth-or-invalid-scram-server-final-message.mdx +++ b/apps/docs/content/troubleshooting/supabase-cli-failed-sasl-auth-or-invalid-scram-server-final-message.mdx @@ -2,6 +2,7 @@ title = "Supabase CLI: \"failed SASL auth\" or \"invalid SCRAM server-final-message\"" topics = [ "auth", "cli", "database", "supavisor" ] keywords = [] +database_id = "4a32736f-1d7f-4c41-9c96-ab84e35ad394" --- When executing `supabase db push` or `supabase link` or any other authenticated actions from the Supabase CLI, you might encounter an authentication error with messages such as `failed SASL auth (invalid SCRAM server-final-message received from server)`. diff --git a/apps/docs/public/humans.txt b/apps/docs/public/humans.txt index 412cfb7ebd664..34a7d7fb16df7 100644 --- a/apps/docs/public/humans.txt +++ b/apps/docs/public/humans.txt @@ -69,6 +69,7 @@ Fatuma Abdullahi Felipe Stival Francesco Sansalvadore Garrett Crowell +Gerardo Estaba Greg Kress Greg P Greg Richardson @@ -180,6 +181,7 @@ Terry Sutton Thomas E Thor Schaeff Tim Frietas +Tim Palmer Timothy Lim Tom Ashley Tom G diff --git a/apps/docs/spec/cli_v1_commands.yaml b/apps/docs/spec/cli_v1_commands.yaml index 20bece1234b63..6ca173aa80226 100644 --- a/apps/docs/spec/cli_v1_commands.yaml +++ b/apps/docs/spec/cli_v1_commands.yaml @@ -78,7 +78,7 @@ flags: name: --workdir description: path to a Supabase project directory default_value: '' - - id: "yes" + - id: 'yes' name: --yes description: answer yes to all prompts default_value: 'false' @@ -1640,7 +1640,7 @@ commands: Creates a new migration file locally. - A `supabase/migrations` directory will be created if it does not already exists in your current `workdir`. All schema migration files must be created in this directory following the pattern `_.sql`. + A `supabase/migrations` directory will be created if it does not already exist in your current `workdir`. All schema migration files must be created in this directory following the pattern `_.sql`. Outputs from other commands like `db diff` may be piped to `migration new ` via stdin. examples: diff --git a/supa-mdx-lint/Rule003Spelling.toml b/supa-mdx-lint/Rule003Spelling.toml index cf7fd76dada24..9d0dc1857b160 100644 --- a/supa-mdx-lint/Rule003Spelling.toml +++ b/supa-mdx-lint/Rule003Spelling.toml @@ -164,6 +164,7 @@ allow_list = [ "ClickHouse", "Clippy", "Cloudflare", + "codelab", "Codium", "Cognito", "Colab", @@ -220,6 +221,7 @@ allow_list = [ "IntelliSense", "IOWait", "IVFFlat", + "JetBrains", "JWTs", "Jian", "Jupyter",