'use client' import { ExternalLink } from 'lucide-react' import { useTheme } from 'next-themes' import { useState } from 'react' import { CodeBlock } from 'ui-patterns/CodeBlock' import { ClientSelectDropdown, type McpClient } from 'ui-patterns/McpUrlBuilder' interface PluginClient extends McpClient { repoUrl?: string docsUrl?: string } const PLUGIN_CLIENTS: PluginClient[] = [ { key: 'claude-code', label: 'Claude Code', icon: 'claude', repoUrl: 'https://github.com/supabase-community/supabase-plugin', docsUrl: 'https://code.claude.com/docs/en/discover-plugins', }, { key: 'codex', label: 'Codex', icon: 'openai', hasDistinctDarkIcon: true, repoUrl: 'https://github.com/supabase-community/codex-plugin', docsUrl: 'https://developers.openai.com/codex/plugins', }, { key: 'cursor', label: 'Cursor', icon: 'cursor', repoUrl: 'https://github.com/supabase-community/cursor-plugin', docsUrl: 'https://cursor.com/docs/plugins', }, { key: 'gemini-cli', label: 'Gemini CLI', icon: 'gemini-cli', repoUrl: 'https://github.com/supabase-community/supabase-plugin', docsUrl: 'https://geminicli.com/docs/extensions/', }, { key: 'github-copilot', label: 'GitHub Copilot', icon: 'copilot', hasDistinctDarkIcon: true, repoUrl: 'https://github.com/supabase-community/supabase-plugin', docsUrl: 'https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing', }, ] function PluginInstructions({ client }: { client: PluginClient }) { if (client.key === 'claude-code') { return (

Install the Supabase plugin from the{' '} official Anthropic marketplace

After installing, run /reload-plugins inside Claude Code to activate the plugin.

Installs with --scope user by default, making it available across all your projects. Use --scope project to track it in source control — useful for teams where all contributors and cloud agents should follow the same Supabase guidance.

) } if (client.key === 'codex') { return (

Desktop app

Install the Supabase plugin directly from the{' '} Codex desktop app plugin directory .

CLI

Open the Codex CLI by running

Inside Codex, type:

Search for Supabase and select Install plugin.

) } if (client.key === 'cursor') { return (

In the Cursor desktop or web app, type the following in the chat to install the{' '} Supabase {' '} plugin from the Cursor plugin marketplace

) } if (client.key === 'gemini-cli') { return (

Install the official Supabase extension for Gemini CLI by running the following command in your terminal.

You can also find the extension in the{' '} Gemini CLI extensions directory .

) } if (client.key === 'github-copilot') { return (

From GitHub

Install the Supabase plugin directly from the{' '} GitHub repository .

) } return null } export function AgentPluginsPanel() { const [selectedClientKey, setSelectedClientKey] = useState(PLUGIN_CLIENTS[0].key) const { resolvedTheme } = useTheme() const theme = (resolvedTheme as 'light' | 'dark') ?? 'light' const selectedClient = PLUGIN_CLIENTS.find((c) => c.key === selectedClientKey) ?? PLUGIN_CLIENTS[0] return (
{selectedClient.docsUrl && (
Need help? View {selectedClient.label} extensions docs
)} {selectedClient.repoUrl && ( Give feedback )}
) }