diff --git a/.github/workflows/run-continue-agent.yml b/.github/workflows/run-continue-agent.yml index 6194838fe8b..70b92dff5fe 100644 --- a/.github/workflows/run-continue-agent.yml +++ b/.github/workflows/run-continue-agent.yml @@ -39,4 +39,4 @@ jobs: "repoUrl": "https://github.com/${{ github.repository }}" }') id=$(echo $response | jq -r '.id') - echo "https://hub.continue.dev/agents/$id" + echo "https://hub.continue.dev/hub?type=agents/$id" diff --git a/README.md b/README.md index ccc192c52fa..6c9cc23ecc5 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ -Get started in [Mission Control](https://hub.continue.dev/agents), [CLI (Headless Mode)](https://docs.continue.dev/cli/quick-start#headless-mode), or [CLI (TUI mode)](https://docs.continue.dev/cli/quick-start#tui-mode) +Get started in [Mission Control](https://hub.continue.dev/hub?type=agents), [CLI (Headless Mode)](https://docs.continue.dev/cli/quick-start#headless-mode), or [CLI (TUI mode)](https://docs.continue.dev/cli/quick-start#tui-mode) ## Cloud Agents diff --git a/docs/agents/create-and-edit.mdx b/docs/agents/create-and-edit.mdx index e0bb505032b..21f79c42573 100644 --- a/docs/agents/create-and-edit.mdx +++ b/docs/agents/create-and-edit.mdx @@ -16,9 +16,9 @@ sidebarTitle: "Create & Edit" - From the Continue Mission Control top navigation bar, select **"+"** β†’ **"New Agent"**. + Navigate to the [New Agent page](https://hub.continue.dev/new?type=agent). - This opens the **Create an Agent (beta)** form with all required fields. + This opens the **Create an Agent** form with all required fields. @@ -30,9 +30,9 @@ sidebarTitle: "Create & Edit" | **Name** | Display name shown in Mission Control | `GitHub PR Agent` | | **Prompt** | First instruction the agent receives | `Open a GitHub PR to fix the specified issue.` | | **Description** | What the agent does | `Creates a pull request and includes AI-generated summaries.` | - | **Tools (MCPs)** | Select built-in or custom MCPs | `GitHub, PostHog, Supabase` | - | **Rules** | Add any organizational rules | `continuedev/gh-pr-commit-workflow, continuedev/summarization` | - | **Model** | Choose a default LLM | `Claude Sonnet 4.5` | + | **Tools ([MCPs](https://hub.continue.dev/hub?type=mcpServers))** | Select built-in or custom MCPs | `GitHub, PostHog, Supabase` | + | **[Rules](https://hub.continue.dev/hub?type=rules)** | Add any organizational rules | `continuedev/gh-pr-commit-workflow` | + | **[Model](https://hub.continue.dev/hub?type=models)** | Choose a default LLM | `Claude Sonnet 4.5` | | **Owner + Slug** | Determines namespace | `my-org/github-pr-agent` | | **Visibility** | Access level | `Public, Organization, or Private` | @@ -70,8 +70,7 @@ sidebarTitle: "Create & Edit" ## Editing an Agent -You can edit any agent you own or that belongs to your organization. - +You can edit any agent you own or that has Organization-level access. From the **Agents** page or Mission Control view, click your agent's name, then select **"Edit Agent"**. diff --git a/docs/agents/intro.mdx b/docs/agents/intro.mdx index 10dcb9f5586..caad558b7af 100644 --- a/docs/agents/intro.mdx +++ b/docs/agents/intro.mdx @@ -23,7 +23,7 @@ Use Mission Control to kick off agents for: - Go to [hub.continue.dev/agents](https://hub.continue.dev/agents) and connect with your GitHub account. + Go to [Mission Control Agents](https://hub.continue.dev/hub?type=agents) and connect with your GitHub account. ![Mission Control Setup](/images/hub/workflows/images/workflows-setup.png) @@ -45,7 +45,7 @@ Use Mission Control to kick off agents for: - Enter a prompt and watch your agent work: + Enter additional instructions and watch your agent work: ``` "Fix the TypeError in api/users.ts and open a PR with tests" @@ -79,7 +79,7 @@ Before creating your own agent, let's see one in action! The fastest way to expe - Go to [hub.continue.dev/agents](https://hub.continue.dev/agents) and: + Go to [Mission Control Agents](https://hub.continue.dev/hub?type=agents) and: - **Connect GitHub** and authorize Continue when prompted - This gives agents access to create PRs in your repositories @@ -203,7 +203,7 @@ Choose the method that fits your workflow: - Team collaboration - One-time tasks - Access at [hub.continue.dev/agents](https://hub.continue.dev/agents) + Access at [hub.continue.dev/agents](https://hub.continue.dev/hub?type=agents) diff --git a/docs/agents/overview.mdx b/docs/agents/overview.mdx index 037b91b14f4..a606351eb90 100644 --- a/docs/agents/overview.mdx +++ b/docs/agents/overview.mdx @@ -67,7 +67,7 @@ You can run Agents in three main ways: Run one-off or scheduled tasks automatically without interaction. ```bash - cn -p --agent my-org/snyk-agent "Run weekly security scan" --auto + cn -p --agent my-org/snyk-agent "Run weekly security scan" ``` Perfect for: CI/CD pipelines, scheduled tasks, webhook integrations @@ -79,34 +79,52 @@ You can run Agents in three main ways: Skip the setup and use battle-tested agents from our cookbook collection: - + + `continuedev/snyk-continuous-ai-agent` + Finds vulnerabilities and opens PRs with fixes + - + + `continuedev/github-project-manager-agent` + Triages issues and manages project workflows + - + + `continuedev/posthog-continuous-ai-agent` + Analyzes user data and creates actionable tasks + - + + `continuedev/netlify-continuous-ai-agent` + Monitors Core Web Vitals and optimizes deployments + - + + `continuedev/supabase-agent` + Audits RLS security and generates migrations + - + + `continuedev/dlt-agent` + Inspects pipelines and debugs load errors + @@ -222,7 +240,7 @@ The practice of using cloud agents, which we call Continuous AI, requires foreth Learn to run agents from the command line - + Access the web interface to manage agents \ No newline at end of file diff --git a/docs/docs.json b/docs/docs.json index afd202c9568..974bd72d84a 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -37,7 +37,10 @@ "mission-control/integrations/github", "mission-control/integrations/sentry", "mission-control/integrations/snyk", - "mission-control/integrations/slack-agent" + "mission-control/integrations/slack-agent", + "mission-control/integrations/posthog", + "mission-control/integrations/atlassian", + "mission-control/integrations/netlify" ] }, "mission-control/metrics", diff --git a/docs/guides/atlassian-mcp-continue-cookbook.mdx b/docs/guides/atlassian-mcp-continue-cookbook.mdx index fa47a9aed27..a3fd792c780 100644 --- a/docs/guides/atlassian-mcp-continue-cookbook.mdx +++ b/docs/guides/atlassian-mcp-continue-cookbook.mdx @@ -13,6 +13,12 @@ sidebarTitle: "Atlassian Workflows with Continue" - Automate Atlassian workflows with headless CLI runs + + The new [Atlassian Mission Control Integration](/mission-control/integrations/atlassian) enables **[Continuous AI](/guides/continuous-ai)** for project management and documentation - where AI agents autonomously manage Jira issues, sync Confluence documentation, and streamline development workflows. This cookbook focuses on CLI-based workflows, but you can also deploy autonomous agents through Mission Control. + + **Get Started:** Use this cookbook to understand Atlassian MCP fundamentals, then [enable Mission Control](/mission-control/integrations/atlassian) to deploy autonomous project management agents across your organization. + + ## Prerequisites Before starting, ensure you have: diff --git a/docs/guides/netlify-mcp-continuous-deployment.mdx b/docs/guides/netlify-mcp-continuous-deployment.mdx index 830fcc730a8..11318a8dac0 100644 --- a/docs/guides/netlify-mcp-continuous-deployment.mdx +++ b/docs/guides/netlify-mcp-continuous-deployment.mdx @@ -10,6 +10,12 @@ sidebarTitle: "Using Netlify MCP for Performance Optimization" from Netlify Analytics + + The new [Netlify Mission Control Integration](/mission-control/integrations/netlify) enables **[Continuous AI](/guides/continuous-ai)** for deployment automation - where AI agents autonomously manage deployments, monitor site performance, and respond to deployment events. This cookbook focuses on CLI-based performance optimization workflows, but you can also deploy autonomous deployment agents through Mission Control. + + **Get Started:** Use this cookbook to understand Netlify MCP fundamentals, then [enable Mission Control](/mission-control/integrations/netlify) to deploy autonomous deployment management agents across your organization. + + **Did You Know?** Netlify is more than just static hosting! It offers: - [Split Testing](https://docs.netlify.com/site-deploys/split-testing/) for A/B testing branches diff --git a/docs/guides/posthog-github-continuous-ai.mdx b/docs/guides/posthog-github-continuous-ai.mdx index 157b3c823e0..6cd701820bc 100644 --- a/docs/guides/posthog-github-continuous-ai.mdx +++ b/docs/guides/posthog-github-continuous-ai.mdx @@ -9,6 +9,12 @@ sidebarTitle: "PostHog Analytics with Continue CLI" issues with the GitHub CLI. + + The new [PostHog Mission Control Integration](/mission-control/integrations/posthog) enables **[Continuous AI](/guides/continuous-ai)** for product analytics - where AI agents autonomously analyze user behavior, identify optimization opportunities, and create data-driven development tasks. This cookbook focuses on CLI-based workflows, but you can also deploy autonomous agents through Mission Control. + + **Get Started:** Use this cookbook to understand PostHog analytics fundamentals, then [enable Mission Control](/mission-control/integrations/posthog) to deploy autonomous analytics-driven agents across your organization. + + ## What You'll Learn This cookbook teaches you to: diff --git a/docs/mission-control/configs/create-a-config.mdx b/docs/mission-control/configs/create-a-config.mdx index 33845b71103..c9b7bd56e88 100644 --- a/docs/mission-control/configs/create-a-config.mdx +++ b/docs/mission-control/configs/create-a-config.mdx @@ -6,7 +6,7 @@ sidebarTitle: "Create a Config" ## How to Create a Config from Scratch -To create an config from scratch, select β€œNew config” in the top bar. +To create a config from scratch, navigate to [your config settings](https://hub.continue.dev/settings/configs). Choose a name, slug, description, and icon for your config. diff --git a/docs/mission-control/configs/intro.mdx b/docs/mission-control/configs/intro.mdx index b812c5df1d3..3ebb7ce84a7 100644 --- a/docs/mission-control/configs/intro.mdx +++ b/docs/mission-control/configs/intro.mdx @@ -43,7 +43,7 @@ Configs are flexible containers that combine multiple components to create power ## How Configs Work -Think of configs as recipes for AI assistance. Each config defines: +Each config defines: - **What models** to use for different tasks (chat, autocomplete, code editing) - **Which tools** are available through MCP servers @@ -56,7 +56,7 @@ This flexibility lets you create specialized setups for different contexts, like When creating configs, you can set visibility levels: -- **Personal**: Only you can see and use the config +- **Private**: Only you (and your org admins) can see and use the config - **Public**: Anyone can discover and use your config - **Organization**: Members of your organization can access the config diff --git a/docs/mission-control/governance/pricing.mdx b/docs/mission-control/governance/pricing.mdx index e56ef351783..ff21b8f268c 100644 --- a/docs/mission-control/governance/pricing.mdx +++ b/docs/mission-control/governance/pricing.mdx @@ -1,6 +1,6 @@ --- title: "Pricing" -description: "Continue Mission Control pricing plans for individuals, teams, and enterprises, including the Models Add-On that provides access to frontier AI models for a flat monthly fee" +url: "https://hub.continue.dev/pricing" --- ## Solo diff --git a/docs/mission-control/index.mdx b/docs/mission-control/index.mdx index e550aaf7d4b..54e011a9f57 100644 --- a/docs/mission-control/index.mdx +++ b/docs/mission-control/index.mdx @@ -120,7 +120,7 @@ Agents are built from reusable components that you can create, share, and custom - Components are the building blocks for agents that you can create new or remix from an existing component. When you create a component in mission control, it becomes available according to the permissions you set: Personal, Public, or Organization. + When you create a component for your agent in Mission Control, it becomes available according to the permissions you set: Personal, Public, or Organization. diff --git a/docs/mission-control/integrations/atlassian.mdx b/docs/mission-control/integrations/atlassian.mdx new file mode 100644 index 00000000000..46f6d094065 --- /dev/null +++ b/docs/mission-control/integrations/atlassian.mdx @@ -0,0 +1,302 @@ +--- +title: "Atlassian Integration" +description: "Connect Jira, Confluence, and Compass to automate project management with Continue Agents" +--- + +## Overview + +Connect Jira, Confluence, and Compass to Continue Mission Control to enable agents to manage issues, search tickets, summarize pages, and bulk-process tasks using natural language. When Atlassian is enabled, Continue can automatically translate technical code changes into business-friendly updates, keeping stakeholders informed. + + + + - Automatically update Jira tickets with business-friendly summaries on PR merge + - Search issues and create tickets using natural language + - Summarize Confluence pages and documentation + - Bulk-process tasks across multiple tickets + - Triage incoming issues automatically + - Generate documentation from code changes + - Track development progress with stakeholder-friendly language + + + +## Setup + + + + + + Go to your [Atlassian Integration Settings](https://hub.continue.dev/integrations/atlassian). + + + + + + Click "Connect" to Atlassian. + + + + + In the Atlassian authorization screen: + 1. Log into your Atlassian account + 2. Review the requested permissions + 3. Click "Authorize" to complete the connection + + + + + + ## Workflows + +### Update Jira Tickets + +**Trigger**: On PR merge +**Description**: Connect Jira, Confluence, and Compass to your agents. Search issues, create tickets, summarize pages, and bulk-process tasks with natural language. + +When a pull request is merged, this workflow automatically: + +1. **Extracts Jira Ticket ID** - Finds the ticket reference from: + - PR title (e.g., `[PROJ-123] Add feature`) + - Branch name (e.g., `feature/PROJ-123-description`) + - PR description or comments + +2. **Analyzes Code Changes** - Reviews the merged PR to identify: + - What changed (files, features, components) + - Why it matters (business value, problem solved) + - Impact (user-facing changes, performance improvements) + - Risk level (Low/Medium/High based on scope) + +3. **Creates Business Summary** - Translates technical changes into clear, non-technical language: + - Focuses on **outcomes over implementation** + - Highlights **business value** and user benefits + - Uses **plain language** avoiding technical jargon + - Explains who benefits and how + +4. **Updates Jira Ticket** - Posts a formatted comment with: + - Business-friendly summary of what was accomplished + - Key changes in business terms + - Impact on users or stakeholders + - Technical metadata (files changed, merge details, PR link) + +5. **Comments on PR** - Adds a link back to the updated Jira ticket + + + + Technical code changes are often difficult for stakeholders to understand. This workflow bridges the gap between development and business by: + - Keeping product managers informed without technical details + - Providing business stakeholders with clear progress updates + - Reducing manual ticket updates for developers + - Creating a clear audit trail of work completed + + + + + + **Smart Translation**: The agent automatically converts technical terms into business language. For example, "Refactored authentication module" becomes "Users can now stay logged in longer without interruptions." + + + +## Use Cases + +You can also create your own Atlassian-connected agents in Mission Control. Here are some examples for these use cases: + + + + + **Task Example**: "Create Jira tickets for all TODO comments in the codebase with priority based on code location" + + **What the Agent Does**: + - Scans codebase for TODO and FIXME comments + - Creates Jira issues with relevant context + - Links issues to code files and line numbers + - Assigns priority based on file criticality + + **Run in Mission Control**: Schedule weekly or after major releases + + + + +Streamline sprint planning with intelligent automation: + + + + **Task Example**: "Analyze backlog items and create a proposed sprint plan based on team velocity and priorities" + + **What the Agent Does**: + - Reviews open Jira issues and their estimates + - Considers team capacity and historical velocity + - Groups related tickets together + - Creates a proposed sprint with balanced workload + + **Run in Mission Control**: Run before sprint planning meetings + + + + + + **Task Example**: "Update Confluence API documentation to match current OpenAPI spec" + + **What the Agent Does**: + - Parses API specifications from codebase + - Compares with existing Confluence documentation + - Updates or creates Confluence pages with changes + - Notifies team of significant API changes + + **Run in Mission Control**: Trigger on API spec changes or schedule weekly + + + + + + **Task Example**: "Generate release notes from closed Jira tickets since last release and publish to Confluence" + + **What the Agent Does**: + - Queries Jira for tickets closed since last release + - Categorizes changes (features, fixes, improvements) + - Generates formatted release notes + - Creates or updates Confluence release page + + **Run in Mission Control**: Trigger manually before releases + + + + + + **Task Example**: "Analyze current sprint progress and identify blocked or at-risk items" + + **What the Agent Does**: + - Reviews sprint board status + - Identifies tickets without recent updates + - Flags dependencies and blockers + - Generates summary report in Confluence + + **Run in Mission Control**: Schedule daily during active sprints + + + + +## Running Atlassian Agents in Mission Control +You can run Supabase-connected agents in two ways as [one-off tasks](../tasks) or automated [workflows](../workflows): + + + + + Start with manual tasks to refine your content queries, then automate repetitive content management and validation tasks. + + + + +## Optional Workflow Enhancements + + + + +Automatically add Jira labels based on code changes: + +- `frontend-update` - UI/UX changes detected +- `backend-update` - API or database changes +- `bugfix` - Resolves bugs or issues +- `feature` - New functionality added +- `security` - Security improvements +- `performance` - Performance optimizations + + + +Tag relevant people in Jira based on components modified: + +- Payment processing changes β†’ `@finance-team` +- User interface changes β†’ `@product-manager` +- Security updates β†’ `@security-lead` +- API modifications β†’ `@api-architect` + + + +Accumulate business-friendly summaries for release documentation: + +- Store formatted summaries in `.release-notes/{version}/` +- Automatically compile summaries into Confluence release pages +- Generate customer-facing changelog from Jira updates +- Include impact metrics and user benefits + + + +Log metadata for reporting and analytics: + +- Time from ticket creation to PR merge +- Number of files changed per ticket +- Business impact category (high/medium/low) +- Stakeholder engagement (comments, mentions) +- Risk level distribution across releases + + + +## Troubleshooting + + + + **Problem**: Agent can't connect to Atlassian services + + **Solutions**: + - Verify API token hasn't expired + - Check that email matches the token's account + - Ensure domain includes `.atlassian.net` + - Regenerate token if necessary + + + + + + **Problem**: Agent can't create or update items + + **Solutions**: + - Verify your Atlassian account has appropriate permissions + - Check project-level permissions in Jira + - Ensure space permissions are correct in Confluence + - Contact your Atlassian admin if needed + + + + + + **Problem**: Agent reports Jira issues don't exist + + **Solutions**: + - Verify issue keys are correct (e.g., PROJECT-123) + - Check that you have access to the project + - Ensure issues aren't in a restricted project + - Verify your API token has read access + + + + + + **Problem**: Documentation changes aren't reflected in Confluence + + **Solutions**: + - Check that you have edit permissions for the space + - Verify page IDs are correct + - Ensure Confluence Cloud API is accessible + - Review agent logs for specific error messages + + + + + + **Problem**: Agent hits Atlassian API rate limits + + **Solutions**: + - Reduce frequency of automated workflows + - Batch operations where possible + - Implement exponential backoff in agent logic + - Consider upgrading Atlassian plan for higher limits + + + +## Resources + + + + + Comprehensive guide to project management automation with Atlassian and Continue + + + diff --git a/docs/mission-control/integrations/github.mdx b/docs/mission-control/integrations/github.mdx index 06f2a2cd266..168b098d601 100644 --- a/docs/mission-control/integrations/github.mdx +++ b/docs/mission-control/integrations/github.mdx @@ -166,7 +166,7 @@ You can run GitHub-connected agents in two ways: Trigger agents on-demand for specific tasks: -1. Go to [Mission Control Agents](https://hub.continue.dev/agents) +1. Go to [Mission Control Agents](https://hub.continue.dev/hub?type=agents) 2. Select or create a GitHub-enabled agent 3. Click "Run Agent" and provide your task description 4. Monitor progress and review results in real-time diff --git a/docs/mission-control/integrations/index.mdx b/docs/mission-control/integrations/index.mdx index 9bb796866fe..b2475f919e1 100644 --- a/docs/mission-control/integrations/index.mdx +++ b/docs/mission-control/integrations/index.mdx @@ -1,6 +1,6 @@ --- title: "Overview" -description: "Connect GitHub, Slack, Sentry, and Snyk to power richer Agents, Tasks, and Workflows." +description: "Connect GitHub, Slack, Sentry, Snyk, PostHog, Atlassian, and Netlify to power richer Agents, Tasks, and Workflows." sidebarTitle: "Overview" --- @@ -8,7 +8,7 @@ sidebarTitle: "Overview" Integrations let Continue connect to the tools you already use, so Agents can read code, open pull requests, send messages, react to real-world events, and more. -Mission Control currently supports four first-class integrations: +Mission Control currently supports these first-class integrations: @@ -20,7 +20,7 @@ Mission Control currently supports four first-class integrations: Mention @continue to kick off Agents directly from Slack. - + Trigger Agents automatically when new Sentry issues appear. @@ -28,10 +28,28 @@ Mission Control currently supports four first-class integrations: Detect and fix security vulnerabilities automatically. + + Detect telemetry changes in merged PRs and creates or updates corresponding dashboards. + + + + Connect Jira and Confluence to automate project management and docs. + + + + Optimize site by comparing performance on PR preview and production Netlify deploys. + + + Set up workflows that validate content and schemas on every PR. + + + Monitor database performance, generate migrations, and optimize queries automatically. + ## Next Steps - + + Connect your favorite tools to Mission Control and unlock new Agent capabilities. \ No newline at end of file diff --git a/docs/mission-control/integrations/netlify.mdx b/docs/mission-control/integrations/netlify.mdx new file mode 100644 index 00000000000..28effdf8013 --- /dev/null +++ b/docs/mission-control/integrations/netlify.mdx @@ -0,0 +1,395 @@ +--- +title: "Netlify Integration" +description: "Give your agents access to Netlify's API and CLI to manage deployments and optimize website performance" +--- + +## Overview + +Connect Netlify to Continue Mission Control to give your agents access to Netlify's API and CLI. Create projects, deploy applications, configure domains, and manage infrastructure with natural language. When Netlify is enabled, Continue can analyze bundle sizes, audit performance, and prevent performance regressions. + + + + - Run Lighthouse audits on PR previews and production + - Compare bundle sizes and analyze performance regressions + - Automatically detect configuration issues (minification, caching, tree-shaking) + - Block PRs that introduce critical performance problems + - Generate detailed performance reports with actionable fixes + - Create projects and manage domains with natural language + - Configure build settings and environment variables + + + +## Setup + + + + + + Go to your [Integrations Settings](https://hub.continue.dev/integrations). + + + + + + Click "Connect" next to Netlify. You'll need: + + - **Personal Access Token**: Generate from Netlify account settings + + + + + + To create a personal access token: + 1. Log into your [Netlify account](https://app.netlify.com) + 2. Go to **User Settings** β†’ **Applications** β†’ **Personal access tokens** + 3. Click "New access token" + 4. Give it a descriptive name (e.g., "Continue Mission Control") + 5. Copy the token immediately + + + + + + Paste your access token into the integration form and click "Create Connection" + + + + + + + + **Token Scope**: Personal access tokens have full access to your Netlify account. Create a token specifically for Continue to maintain security and easy revocation if needed. + + + +## Workflows + +### Optimize Website Performance + +**Trigger**: On PR merge +**Description**: Run Lighthouse audits on PR preview and production to compare performance + +When a pull request is merged, this performance-focused workflow automatically: + +1. **Retrieves Deployment Information** - Uses Netlify MCP to get: + - Production deploy URL and metadata + - Deploy preview URL for the PR branch + - Build artifacts and configuration + +2. **Analyzes Bundle Sizes** - Compares JavaScript and CSS bundles: + - Downloads and measures all asset files + - Calculates total bundle size for both deploys + - Identifies largest individual files + - Detects unminified or bloated assets + +3. **Reviews Build Configuration** - Examines: + - `vite.config.ts` or `webpack.config.js` for minification settings + - `netlify.toml` for cache headers and build commands + - `package.json` for redundant or oversized dependencies + +4. **Identifies Performance Issues** - Classifies problems by severity: + - πŸ”΄ **Critical**: Minification disabled, bundle size >50% increase, no caching + - ⚠️ **Warning**: No code splitting, large chunks >500KB, 20-50% bundle increase + - ℹ️ **Info**: Suboptimal configurations, bundle size less than 20% increase + +5. **Generates Actionable Report** - Posts to PR with: + - Bundle size comparison table + - Root cause analysis with file references and line numbers + - Code fixes that can be copy-pasted + - Merge recommendation (Approved/Review Needed/Blocked) + - Expected improvements from each fix + + + + Performance regressions often slip through code review because: + - Bundle size increases aren't visible in diffs + - Configuration errors (disabled minification) go unnoticed + - Redundant dependencies accumulate over time + + This workflow catches these issues automatically before they reach production. + + + + + + **Smart Analysis**: The agent doesn't just report bundle sizesβ€”it analyzes build configurations, identifies root causes, and provides specific code fixes with line numbers. + + + +### Performance Issue Classification + +The agent categorizes issues by severity: + + + + **Issues that must be fixed before merging:** + - Minification disabled (`minify: false`) + - Tree-shaking disabled (`treeshake: false`) + - No caching headers (`Cache-Control: no-cache`) + - Production source maps enabled + - Bundle size increase >50% + - Redundant dependencies (lodash + underscore, moment + date-fns + dayjs) + + **Action**: Agent recommends blocking the merge + + + + + + **Issues that need attention:** + - No code splitting (single large bundle) + - Suboptimal cache headers (max-age too low) + - Large individual chunks (>500KB) + - Unoptimized images + - Bundle size increase 20-50% + + **Action**: Agent recommends careful review before merging + + + + + + **Non-blocking improvements:** + - Could use better code splitting + - Modern browser features could replace polyfills + - CSS not extracted/split + - Bundle size increase less than 20% + + **Action**: Agent approves merge but suggests optimizations + + + +## Use Cases + +### Infrastructure as Code + +Manage Netlify infrastructure with natural language: + + + + **Task Example**: "Create a new Netlify site for the marketing-site repo with custom domain marketing.company.com" + + **What the Agent Does**: + - Creates new Netlify project via API + - Connects to specified Git repository + - Configures build settings and commands + - Sets up custom domain and SSL + - Configures environment variables + + **Run in Mission Control**: Run manually when creating new projects + + + +### Build Configuration Optimization + +Automatically optimize build settings: + + + + **Task Example**: "Audit all Netlify sites for missing cache headers and suboptimal build configs" + + **What the Agent Does**: + - Reviews `netlify.toml` and build settings + - Checks cache header configurations + - Identifies missing optimizations + - Generates recommended configuration changes + - Can apply fixes automatically + + **Run in Mission Control**: Run monthly or after adding new sites + + + +### Performance Auditing + +Prevent performance regressions before deployment: + + + + **Task Example**: "Analyze bundle sizes and configurations, block PRs with critical performance issues" + + **What the Agent Does**: + - Compares preview and production bundle sizes + - Detects disabled minification or tree-shaking + - Identifies redundant dependencies (lodash + underscore, multiple date libraries) + - Checks cache configuration + - Posts detailed report with fixes to PR + - Recommends approval, review, or blocking merge + + **Run in Mission Control**: Triggered automatically on PR merge + + + +### Dependency Analysis + +Identify and fix problematic dependencies: + + + + **Task Example**: "Find redundant or oversized dependencies across all projects" + + **What the Agent Does**: + - Scans `package.json` files in all Netlify sites + - Identifies duplicate functionality (multiple date/utility libraries) + - Finds oversized packages (>100KB) + - Suggests lightweight alternatives + - Calculates potential bundle size savings + + **Run in Mission Control**: Run quarterly for dependency cleanup + + + +### Continuous Performance Monitoring + +Track performance trends over time: + + + + **Task Example**: "Generate a performance trend report for the last 30 deploys" + + **What the Agent Does**: + - Queries deploy history via Netlify MCP + - Tracks bundle size over time + - Identifies gradual performance degradation + - Highlights deploysthat introduced regressions + - Generates visualization of trends + + **Run in Mission Control**: Schedule weekly for ongoing monitoring + + + +### Domain and SSL Management + +Manage domains using natural language: + + + + **Task Example**: "Add www.example.com to my site and configure SSL" + + **What the Agent Does**: + - Configures custom domains via Netlify API + - Sets up SSL certificates automatically + - Configures DNS records and redirects + - Verifies domain setup and SSL status + + **Run in Mission Control**: Run manually when adding domains + + + +## Running Netlify Agents in Mission Control + +You can run Netlify-connected agents in two ways as [one-off tasks](../tasks) or automated [workflows](../workflows): + + + + + Start with manual tasks to refine your content queries, then automate repetitive content management and validation tasks. + + + + +### 2. Automated Workflows + +Set up agents to run automatically: + +- **PR-triggered**: Audit performance when pull requests are merged +- **Scheduled**: Run weekly bundle size audits across all sites +- **Manual**: Analyze specific deploys or troubleshoot performance issues + + + + Start with manual performance audits on specific PRs to refine your thresholds, then enable automated workflows to catch all performance regressions. + + + + +## Troubleshooting + + + + **Problem**: Agent can't connect to Netlify API + + **Solutions**: + - Verify personal access token is correct + - Check that token hasn't been revoked + - Ensure token has necessary permissions + - Try regenerating the token + + + + + + **Problem**: Deploy preview is still building when agent tries to analyze + + **Solutions**: + - Verify you have deploy permissions for the site + - Check that the site exists and is accessible + - Ensure build hooks are configured if using webhooks + - Review Netlify API rate limits + + + + + + **Problem**: Agent can't find deploy preview for the branch + + **Solutions**: + - Verify branch name is correct + - Check that PR has triggered a Netlify build + - Ensure deploy previews are enabled in Netlify settings + - Confirm the repository is connected to Netlify + + + + + + **Problem**: Agent can't download or analyze bundles + + **Solutions**: + - Verify deploy URLs are accessible + - Check for authentication requirements on preview + - Ensure assets are being generated correctly + - Review build logs for errors + + + + + + **Problem**: Agent can't locate deploy previews + + **Solutions**: + - Verify branch name is correct + - Check that deploy previews are enabled for the site + - Ensure the commit has triggered a build + - Wait for build to complete before querying + + + + + + **Problem**: Can't retrieve site performance metrics + + **Solutions**: + - Verify Netlify Analytics is enabled for the site + - Check that your plan includes analytics access + - Ensure time range for queries is valid + - Review API documentation for metrics endpoints + + + +## Support & Resources + + + + + + Complete guide to continuous deployment automation with Netlify and Continue + + + + + + Combine Netlify with GitHub for end-to-end CI/CD automation + + + + diff --git a/docs/mission-control/integrations/posthog.mdx b/docs/mission-control/integrations/posthog.mdx new file mode 100644 index 00000000000..52f10379220 --- /dev/null +++ b/docs/mission-control/integrations/posthog.mdx @@ -0,0 +1,238 @@ +--- +title: "PostHog Integration" +description: "Leverage product analytics and feature flags with Continue Agents connected to PostHog" +--- + +## Overview + +Connect PostHog to Continue Mission Control to enable agents to analyze user behavior, manage feature flags, and optimize product experiences. When PostHog is enabled, Continue can analyze product metrics, automate feature rollouts, and create data-driven development tasks. + + + + - Analyze user behavior patterns and create optimization tasks + - Manage feature flags and gradual rollouts + - Generate insights from product analytics + - Automate A/B test analysis and reporting + - Monitor conversion funnels and user journeys + - Create PRs based on analytics insights + + + +## Setup + + + + + + Go to your [Integrations Settings](https://hub.continue.dev/integrations). + + + + + + Click "Connect" next to PostHog. You'll need the following credentials: + + - **Project API Key**: Your PostHog project API key + - **Host URL**: Your PostHog instance URL (e.g., `https://app.posthog.com` or your self-hosted URL) + + + + + + In your PostHog account: + 1. Navigate to Project Settings + 2. Find your Project API Key + 3. Copy your PostHog instance URL + 4. Paste both values into Mission Control + + + + + + Click "Create Connection" and verify that Continue can access your PostHog data + + + + + + + + **How to get these credentials:** + 1. Log into your PostHog account + 2. Go to **Settings** β†’ **Project API Key** + 3. Copy your API key + 4. Note your instance URL (shown in the browser address bar) + + + +## Use Cases + +### Analytics-Driven Development + +Create agents that analyze user behavior and generate development tasks: + + + + **Task Example**: "Analyze the checkout flow conversion rate and identify areas for improvement" + + **What the Agent Does**: + - Retrieves funnel data from PostHog + - Identifies drop-off points in the user journey + - Analyzes user session recordings at problem areas + - Creates issues or PRs with optimization recommendations + + **Run in Mission Control**: Schedule weekly or trigger after significant traffic changes + + + +### Feature Flag Management + +Automate feature rollout based on metrics: + + + + **Task Example**: "Monitor new checkout feature performance and increase rollout percentage if metrics are positive" + + **What the Agent Does**: + - Tracks key metrics for the feature flag + - Compares performance against baseline + - Automatically adjusts rollout percentage + - Alerts team if anomalies are detected + + **Run in Mission Control**: Set up as continuous monitoring workflow + + + +### Performance Monitoring + +Track and respond to performance issues: + + + + **Task Example**: "Analyze page load times and create issues for pages slower than 3 seconds" + + **What the Agent Does**: + - Queries PostHog for performance metrics + - Identifies slow-loading pages + - Analyzes common characteristics of slow pages + - Creates prioritized issues with performance data + + **Run in Mission Control**: Schedule daily performance audits + + + +### A/B Test Analysis + +Automate experiment analysis and reporting: + + + + **Task Example**: "Analyze the results of the new homepage A/B test and determine statistical significance" + + **What the Agent Does**: + - Retrieves experiment data from PostHog + - Performs statistical analysis + - Generates comprehensive report with visualizations + - Creates recommendations for next steps + + **Run in Mission Control**: Trigger when experiment reaches sample size + + + +### User Feedback Loop + +Connect analytics insights to code improvements: + + + + **Task Example**: "Identify the top 5 most frustrating user experiences based on rage clicks and session replays" + + **What the Agent Does**: + - Analyzes user session data for frustration signals + - Reviews session replays of problematic interactions + - Identifies common UX issues + - Creates detailed bug reports with user context + + **Run in Mission Control**: Run weekly to catch emerging patterns + + + +## Running PostHog Agents in Mission Control + +You can run PostHog-connected agents in two ways as [one-off tasks](../tasks) or automated [workflows](../workflows): + + + + + Start with manual tasks to refine your content queries, then automate repetitive content management and validation tasks. + + + + +## Troubleshooting + + + + **Problem**: Agent returns errors when trying to fetch analytics + + **Solutions**: + - Verify API key is correct and hasn't expired + - Check that the project API key has read permissions + - Ensure host URL includes protocol (https://) + - Confirm your PostHog plan includes API access + + + + + + **Problem**: Data retrieved doesn't match PostHog dashboard + + **Solutions**: + - Check that you're querying the correct time range + - Verify PostHog data is fully processed (may have slight delay) + - Ensure filters and breakdowns match your dashboard + - Review agent logs for query parameters + + + + + + **Problem**: Agent can't modify feature flags + + **Solutions**: + - Verify API key has write permissions + - Check that you're using a Personal API Key (not Project API Key) for modifications + - Ensure feature flag exists before attempting updates + - Review PostHog API documentation for flag management + + + + + + **Problem**: Can't connect to self-hosted PostHog instance + + **Solutions**: + - Verify host URL is accessible from Mission Control + - Check firewall rules allow Continue's IP addresses + - Ensure SSL certificate is valid if using HTTPS + - Test API access with curl or Postman first + + + +## Support & Resources + + + + + + Complete guide to building product-led development workflows with PostHog and Continue + + + + + + Combine PostHog with GitHub for data-driven development automation + + + + diff --git a/docs/mission-control/integrations/sanity.mdx b/docs/mission-control/integrations/sanity.mdx new file mode 100644 index 00000000000..0a8a2ce83ac --- /dev/null +++ b/docs/mission-control/integrations/sanity.mdx @@ -0,0 +1,349 @@ +--- +title: "Sanity Integration" +description: "Automate content management and schema validation with Continue Agents connected to Sanity" +--- + +## Overview + +Connect Sanity to Continue Mission Control to enable agents to manage content, validate schemas, execute GROQ queries, and automate your content workflows. When Sanity is enabled, Continue can explore document types, update content, handle migrations, and maintain content quality across your projects. + + + + - Automatically validate content and schemas on every PR + - Execute GROQ queries to analyze and update content + - Generate documentation from your content model + - Manage content migrations between environments + - Monitor content quality and consistency + - Automate content creation and updates + + + +## Setup + + + + + + Go to [the Sanity Integrations](https://hub.continue.dev/integrations/sanity). + + + + + + "Connect" to Sanity. The integration uses OAuth authentication through the Sanity MCP. + + + + + + Select the Sanity organization and project to connect + + + + + + After connecting, set up your first workflow. The integration supports: + - **On PR open**: Validate schemas and content when PRs are created + - **Manual tasks**: Run content operations on-demand + - **Scheduled jobs**: Periodic content audits and maintenance + + + + + + +## Workflows + +### Update Sanity schema docs + +**Trigger**: On PR open +**Description**: Skip the GROQ lookup. Agents manage your content through conversation. + +When a pull request modifies schema files (`schemas/**/*.{ts,js,tsx,jsx}`, `schemaTypes/**/*`, or `sanity.config.{ts,js}`), this workflow automatically: + +1. **Connects to Sanity** - Fetches the complete current schema using Sanity MCP +2. **Analyzes Changes** - Identifies new, modified, or removed document types +3. **Updates Documentation** - Generates comprehensive documentation including: + - Complete field descriptions and validation rules + - Relationship diagrams between document types + - GROQ query examples for each type + - Usage guidance for developers and content teams +4. **Commits to PR Branch** - Adds documentation directly to the existing PR branch +5. **Posts PR Comment** - Provides a detailed summary of documented changes + + + + For each document type, the agent generates: + - **Field Reference**: Every field with type, validation, and description + - **Relationships**: Visual diagram showing references between types + - **Query Examples**: Practical GROQ queries for common operations + - **Studio Behavior**: How fields appear and function in Sanity Studio + - **Validation Rules**: All constraints and requirements + - **Usage Notes**: Important gotchas and best practices + + + + + + **Documentation Location**: By default, docs are created at `docs/content-model.md`. The agent searches for existing documentation in several standard locations and preserves your structure. + + + +#### Example PR Comment + +After updating the documentation, the agent posts a comprehensive comment like this: + +```markdown +## πŸ“ Schema Documentation Updated + +I've automatically updated the content model documentation based on the schema changes in this PR. + +### πŸ“‹ Changes Documented + +**New Document Types** (2) +- ✨ `product` - E-commerce product listings +- ✨ `review` - Customer product reviews + +**Modified Document Types** (1) +- πŸ“ `article` - Added `featured` boolean field, updated `title` validation + +### πŸ“„ Documentation Location + +πŸ“– [View Updated Documentation](./docs/content-model.md) + +### πŸ“Š Schema Overview + +- **Total Document Types**: 12 +- **Total Fields**: 87 +- **Types Modified in this PR**: 3 +- **New Fields Added**: 5 + +### πŸ”— Key Relationships Changed + +- `product` now references `review` (one-to-many) +- `article.featured` added for homepage curation +``` + +## Use Cases + +### Content Validation + +Automatically validate content structure and quality: + + + + **Task Example**: "Check all blog posts for required fields and broken references" + + **What the Agent Does**: + - Scans documents for missing required fields + - Validates references between documents + - Checks for orphaned content + - Reports inconsistencies and suggests fixes + + **Run in Mission Control**: Schedule daily or trigger on content updates + + + +### Schema Management + +Manage and evolve your content schemas: + + + + **Task Example**: "Analyze the product schema and suggest optimizations for better performance" + + **What the Agent Does**: + - Reviews document type definitions + - Identifies unused or redundant fields + - Suggests schema improvements + - Validates relationships and data integrity + + **Run in Mission Control**: Run before major schema changes + + + +### Content Migration + +Automate content structure changes: + + + + **Task Example**: "Migrate all blog posts from the old schema to the new format" + + **What the Agent Does**: + - Reads content from old schema structure + - Transforms data to match new schema + - Validates migrated content + - Creates migration report with any issues + + **Run in Mission Control**: Run manually for controlled migrations + + + +### GROQ Query Execution + +Run complex queries to analyze content: + + + + **Task Example**: "Find all articles published in Q4 2023 with over 10,000 views" + + **What the Agent Does**: + - Executes GROQ queries against your dataset + - Analyzes results and identifies patterns + - Generates reports and visualizations + - Exports data for further analysis + + **Run in Mission Control**: Run on-demand for content insights + + + +### Schema Documentation + +Automatically maintain comprehensive schema documentation: + + + + **Task Example**: "Generate comprehensive documentation for all document types and their relationships" + + **What the Agent Does**: + - Fetches complete schema from Sanity + - Documents every field with types, validation, and descriptions + - Creates Mermaid diagrams showing document relationships + - Includes practical GROQ query examples + - Preserves manual documentation sections + - Updates statistics (total types, field counts) + + **Run in Mission Control**: Triggered automatically on PR open when schema files change + + **Documentation Structure**: + - Table of contents with all document types + - Detailed field tables for each type + - Relationship diagrams + - Query examples for common operations + - Validation rules and Studio configurations + + + +### Content Localization + +Manage multi-language content: + + + + **Task Example**: "Verify all product pages have complete Spanish and French translations" + + **What the Agent Does**: + - Identifies missing translations + - Validates localized field structure + - Reports incomplete content + - Suggests content for translation + + **Run in Mission Control**: Schedule weekly translation audits + + + +## Running Sanity Agents in Mission Control + +You can run Sanity-connected agents in two ways as [one-off tasks](../tasks) or automated [workflows](../workflows): + + + + + Start with manual tasks to refine your content queries, then automate repetitive content management and validation tasks. + + + + +## Troubleshooting + + + + **Problem**: Agent shows authentication errors + + **Solutions**: + - Re-authenticate through the integrations page (OAuth expires after 7 days) + - For CI/CD workflows, use environment variables instead + - Check that project permissions haven't changed + - Verify the Sanity project still exists + + + + + + **Problem**: Agent can't locate schema definitions + + **Solutions**: + - Verify schema files are in the correct location + - Check that the project ID is correct + - Ensure you're connected to the right dataset + - Confirm schema files are properly exported + + + + + + **Problem**: Queries fail or return unexpected results + + **Solutions**: + - Validate GROQ syntax in Sanity Vision + - Check that referenced fields exist + - Verify document types are spelled correctly + - Review query complexity and optimize if needed + + + + + + **Problem**: Agent reports content doesn't match schema + + **Solutions**: + - Check for recent schema changes + - Verify required fields are present + - Review field type mismatches + - Run migration to update content structure + + + + + + **Problem**: Content migration fails or produces errors + + **Solutions**: + - Test migration on a small subset first + - Validate both old and new schemas + - Check for data type conflicts + - Review migration logs for specific errors + - Use transactions for atomic updates + + + +## Support & Resources + + + + + + Complete guide to content management automation with Sanity and Continue + + + + + + Combine Sanity with GitHub for automated content workflows + + + + + + Official Sanity documentation and guides + + + + + + Learn GROQ query language for content queries + + + + \ No newline at end of file diff --git a/docs/mission-control/integrations/sentry.mdx b/docs/mission-control/integrations/sentry.mdx index a02df609826..72532310a9e 100644 --- a/docs/mission-control/integrations/sentry.mdx +++ b/docs/mission-control/integrations/sentry.mdx @@ -21,18 +21,19 @@ Connect Sentry to Continue Mission Control to enable agents to automatically det - + - Go to your [Integrations Settings](https://hub.continue.dev/integrations). + Go to [Sentry Integration](https://hub.continue.dev/integrations/sentry). - Click "Connect" and select Sentry. You'll need the following credentials: + Click "Connect". You'll need the following credentials: - **Sentry Organization Slug**: Your organization name (e.g., "my-company") - **Auth Token**: Internal integration token from Sentry - **Client Secret**: For webhook signature verification + - **API Key**: For MCP support @@ -69,75 +70,14 @@ Connect Sentry to Continue Mission Control to enable agents to automatically det ## Running Sentry Agents in Mission Control -You can run Sentry-connected agents in two ways: - -### 1. Manual Tasks - -Trigger agents on-demand for error analysis: - -1. Go to [Mission Control Agents](https://hub.continue.dev/agents) -2. Select or create a Sentry-enabled agent -3. Click "Run Agent" and provide your task description -4. Monitor progress and review results in real-time - -**Example Tasks:** -- "Analyze the top 10 errors from the last 24 hours" -- "Create a PR to fix the authentication timeout error" -- "Generate a report on errors affecting mobile users" - -### 2. Automated Workflows - -Set up agents to run automatically: - -- **Webhook-triggered**: Execute when new Sentry errors occur -- **Scheduled**: Run daily or weekly error analysis -- **Threshold-based**: Trigger when error rates exceed limits +You can run Sentry-connected agents in two ways as [one-off tasks](../tasks) or automated [workflows](../workflows). - Start with manual tasks to refine your prompts, then convert successful workflows to automations for continuous error monitoring. + Start with manual tasks to refine your content queries, then automate repetitive content management and validation tasks. -## Integration with GitHub - -Combine Sentry with GitHub integration for a complete workflow: - - - - - - Enable both Sentry and GitHub integrations in Mission Control - - - - - - Build an agent that: - - Receives Sentry error notifications - - Analyzes the error and finds the problematic code - - Creates a PR with a fix - - Adds the PR link to the Sentry issue - - - - - - Configure the agent to run automatically on new Sentry issues - - - - - -## Monitoring Agent Activity - -Track your agent's error resolution performance: - -1. **View in Mission Control**: See all agent runs and their outcomes -2. **Check Sentry**: Verify that issues are being resolved -3. **Review PRs**: Ensure quality of generated fixes -4. **Monitor Metrics**: Track resolution time and success rate - ## Troubleshooting diff --git a/docs/mission-control/integrations/slack-agent.mdx b/docs/mission-control/integrations/slack-agent.mdx index 1dbe2954077..b386164e6be 100644 --- a/docs/mission-control/integrations/slack-agent.mdx +++ b/docs/mission-control/integrations/slack-agent.mdx @@ -29,9 +29,6 @@ Mention @Continue in any channel with a task description, and it will: ## Setup -Continue's Slack Bot can be installed to a Slack workspace via Mission Control, from:[Integrations Settings](https://hub.continue.dev/integrations) -- Org Integrations Settings - `https://hub.continue.dev/organizations/{your-org}/settings/integrations` - Continue's Slack app is in Beta development. During installation, you will see a warning that it is not yet approved/official. @@ -48,7 +45,7 @@ Continue's Slack Bot can be installed to a Slack workspace via Mission Control, - Click the "Connect" button next to Slack and authorize the app in your workspace. + Click the "Connect" button next in [the Slack Integration ](https://hub.continue.dev/integrations/slack)and authorize the app in your workspace. @@ -115,7 +112,7 @@ Continue will forward your message to the existing agent session instead of crea ## Monitoring Agent Progress -Click the agent link in Slack to view the agent's progress in [Mission Control](https://hub.continue.dev/agents). +Click the agent link in Slack to view the agent's progress in [Mission Control](https://hub.continue.dev/hub?type=agents). You can also click the Slack icon in the agents page to return to the Slack message. diff --git a/docs/mission-control/integrations/snyk.mdx b/docs/mission-control/integrations/snyk.mdx index 9969fa7681b..2cd981d5361 100644 --- a/docs/mission-control/integrations/snyk.mdx +++ b/docs/mission-control/integrations/snyk.mdx @@ -23,7 +23,7 @@ Connect Snyk to Continue Mission Control to enable agents to automatically detec - Go to your [Integrations Settings](https://hub.continue.dev/integrations). + Go to the [Snyk Integration](https://hub.continue.dev/integrations/snyk). @@ -60,44 +60,6 @@ Connect Snyk to Continue Mission Control to enable agents to automatically detec -## Integration with GitHub - -Combine Snyk with GitHub integration for a complete security workflow: - - - - - - Enable both Snyk and GitHub integrations in Mission Control - - - - - - Build an agent that: - - Receives Snyk vulnerability alerts - - Analyzes the security issue in your codebase - - Creates a PR with the security fix - - Adds security impact analysis to the PR - - - - - - Configure the agent to run automatically on new critical vulnerabilities - - - - - -## Monitoring Agent Activity - -Track your agent's security remediation performance: - -1. **View in Inbox**: Navigate to the [Snyk view](https://hub.continue.dev/inbox?view=snyk) to see all Snyk-related agent activity -2. **Check Snyk Dashboard**: Verify that vulnerabilities are being addressed -3. **Review PRs**: Ensure quality and security of generated fixes -4. **Monitor Metrics**: Track mean time to remediation (MTTR) and fix rate ## Troubleshooting diff --git a/docs/mission-control/integrations/supabase.mdx b/docs/mission-control/integrations/supabase.mdx new file mode 100644 index 00000000000..c29d35b6f69 --- /dev/null +++ b/docs/mission-control/integrations/supabase.mdx @@ -0,0 +1,526 @@ +--- +title: "Supabase Integration" +description: "Monitor database security, generate migrations, and optimize queries with Continue Agents connected to Supabase" +--- + +## Overview + +Connect Supabase to Continue Mission Control to enable AI-powered database workflows. When Supabase is enabled, Continue can audit Row Level Security (RLS) policies, generate secure migrations, optimize queries, and maintain database security automatically. + + + + - Automatically audit RLS policies on every PR + - Generate secure migrations for missing security policies + - Identify and fix critical security gaps + - Optimize database queries and schemas + - Monitor database performance and security + - Validate schema changes before deployment + + + +## Setup + + + + + + Go to the [Supabase Integration](https://hub.continue.dev/integrations/supabase). + + + + + + Click "Connect" to Supabase. + + + + + + You'll be redirected to Supabase to authorize Continue: + 1. Select the Supabase organization and project to connect + 2. Review the requested permissions + 3. Click "Authorize" to complete the connection + + + + + + After connecting, set up your first workflow. The integration supports: + - **On PR open**: Audit RLS policies when PRs are created + - **Manual tasks**: Run database operations on-demand + - **Scheduled jobs**: Periodic security audits and performance checks + + + + + +## Workflows + +### Supabase security review + +**Trigger**: On PR open +**Description**: Connect your Supabase workspace to agents that can explore schemas, run queries, create and update documents, and handle migrations using natural language + +When a pull request is opened, this security-focused workflow automatically: + +1. **Analyzes PR Changes** - Identifies affected tables from: + - Migration files (`supabase/migrations/*.sql`) + - SDK/library usage (`.from('table_name')` calls) + - Schema references in type definitions + +2. **Audits RLS Policies** - Uses Supabase MCP to inspect: + - Whether RLS is enabled on affected tables + - Existing policy configurations + - Potential security gaps + +3. **Classifies Security Risks** - Prioritizes findings by severity: + - πŸ”΄ **Critical**: No RLS on tables with sensitive data + - 🟠 **High**: Overly permissive policies (e.g., `USING (true)`) + - 🟑 **Medium**: Missing standard access patterns + - 🟒 **Low**: Policy optimization opportunities + +4. **Generates SQL Migrations** - Creates fixes for Critical/High/Medium issues: + - Enables RLS on unprotected tables + - Adds missing user-scoped policies + - Implements proper access controls + - Includes rollback commands + +5. **Commits Fixes to PR Branch** - Automatically pushes security fixes +6. **Posts Comprehensive Comment** - Explains all findings and changes + + + + Row Level Security (RLS) is Supabase's primary security mechanism. Without proper RLS policies: + - Users can access other users' private data + - Unauthorized modifications can occur + - Sensitive information may be exposed + + This workflow automatically catches these issues before they reach production. + + + + + + **Smart Scoping**: The agent only audits tables directly referenced in your PR changes, not your entire database. This keeps audits focused and efficient. + + + +#### Example PR Comment + +After auditing RLS policies, the agent posts a comprehensive comment like this: + +```markdown +## πŸ”’ Supabase RLS Policy Audit + +### Scope +This audit covers **3 tables** referenced in this PR: +- user_profiles (detected in: migration file) +- comments (detected in: SDK usage in src/api/comments.ts) +- posts (detected in: migration file) + +### Summary +- βœ… 1 table with proper RLS +- ⚠️ 2 tables requiring attention +- πŸ”΄ 1 critical security gap found + +### Findings + +| Table | Risk Level | Issue | Status | +|-------|------------|-------|--------| +| `user_profiles` | πŸ”΄ Critical | No RLS enabled | βœ… Fixed in commit abc123 | +| `comments` | 🟑 Medium | Missing delete policy | βœ… Fixed in commit abc123 | +| `posts` | 🟒 Low | Policy optimization possible | πŸ’‘ Recommendation | + +### Changes Made + +- Enabled RLS on `user_profiles` +- Added policies: `user_profiles_select_own`, `user_profiles_update_own`, `comments_delete_own` +- See full migration: `supabase/migrations/20241118120000_rls_security_fixes.sql` + +### Recommendations (Low Priority) + +- **posts table**: Consider renaming policy `posts_policy_1` to `posts_select_owner` for clarity + +### Policy Patterns Used + +**User-scoped access** (users access only their own data): +\```sql +USING (auth.uid() = user_id) +WITH CHECK (auth.uid() = user_id) +\``` + +### Next Steps + +- βœ… Review the migration file and committed changes +- βœ… Test the policies in your development environment +- βœ… Merge this PR once you've verified the security improvements +``` + +### Security Risk Levels Explained + + + + **What it means**: Tables with no RLS that contain sensitive data + + **Examples**: + - User profiles, emails, or authentication data + - Financial information or payment details + - Private messages or personal content + - New tables created without RLS + + **What the agent does**: Automatically enables RLS and adds basic policies + + + + + + **What it means**: Overly permissive policies that could allow unauthorized access + + **Examples**: + - Policies using `USING (true)` without justification + - Write access without proper validation + - Admin policies that don't verify admin status + - Missing `WITH CHECK` clauses + + **What the agent does**: Generates restrictive policies with proper checks + + + + + + **What it means**: Partial RLS coverage or missing standard patterns + + **Examples**: + - SELECT policy exists but no UPDATE/DELETE + - No user-scoped policies for personal data + - Missing public read policies where appropriate + - Incomplete CRUD policy coverage + + **What the agent does**: Adds missing policies following standard patterns + + + + + + **What it means**: Policies work but could be improved + + **Examples**: + - Poor policy naming conventions + - Inefficient policy logic + - Missing documentation + - Duplicate or redundant policies + + **What the agent does**: Suggests improvements in PR comment (no auto-fix) + + + +## Use Cases + +### Automated Security Audits + +Catch security issues before they reach production: + + + + **Task Example**: Automatically audit RLS on every PR that touches database schema or queries + + **What the Agent Does**: + - Scans PR for database-related changes + - Identifies all affected tables + - Checks RLS status and policies + - Generates fixes for security gaps + - Commits migrations to the PR branch + + **Run in Mission Control**: Triggered automatically on PR open + + + +### Database Migration Generation + +Create secure migrations automatically: + + + + **Task Example**: "Generate a migration to add RLS policies for the new messages table" + + **What the Agent Does**: + - Analyzes table structure and purpose + - Determines appropriate access patterns + - Generates SQL with RLS policies + - Includes proper naming and comments + - Adds rollback commands + + **Run in Mission Control**: Run manually or on schema changes + + + +### Query Optimization + +Improve database performance: + + + + **Task Example**: "Analyze slow queries and suggest optimizations" + + **What the Agent Does**: + - Identifies queries in your codebase + - Checks for missing indexes + - Suggests query rewrites + - Recommends schema changes + - Estimates performance impact + + **Run in Mission Control**: Schedule weekly performance reviews + + + +### Schema Validation + +Ensure schema changes follow best practices: + + + + **Task Example**: "Validate that all new tables follow our schema standards" + + **What the Agent Does**: + - Checks naming conventions + - Validates data types and constraints + - Ensures proper indexes exist + - Verifies RLS is enabled + - Reviews foreign key relationships + + **Run in Mission Control**: Triggered on migration file changes + + + +### Access Pattern Analysis + +Understand how your database is used: + + + + **Task Example**: "Analyze SDK usage patterns and suggest RLS policies" + + **What the Agent Does**: + - Scans codebase for Supabase client calls + - Identifies data access patterns + - Detects security anti-patterns + - Recommends appropriate RLS policies + - Generates migration files + + **Run in Mission Control**: Run before major releases + + + +### Development Environment Sync + +Keep dev and production schemas aligned: + + + + **Task Example**: "Compare dev and production schemas and generate sync migrations" + + **What the Agent Does**: + - Connects to multiple Supabase projects + - Compares schema definitions + - Identifies differences + - Generates sync migrations + - Validates compatibility + + **Run in Mission Control**: Schedule or run manually + + + +## Running Supabase Agents in Mission Control + +You can run Supabase-connected agents in two ways as [one-off tasks](../tasks) or automated [workflows](../workflows): + + + + + Start with manual tasks to refine your content queries, then automate repetitive content management and validation tasks. + + + +## Common RLS Policy Patterns + +The agent recognizes and implements these standard security patterns: + +### User-Scoped Access + +Users can only access their own data: + +```sql +-- SELECT: Users can read their own records +CREATE POLICY "users_select_own" ON user_profiles +FOR SELECT USING (auth.uid() = user_id); + +-- UPDATE: Users can update their own records +CREATE POLICY "users_update_own" ON user_profiles +FOR UPDATE USING (auth.uid() = user_id) +WITH CHECK (auth.uid() = user_id); + +-- DELETE: Users can delete their own records +CREATE POLICY "users_delete_own" ON user_profiles +FOR DELETE USING (auth.uid() = user_id); +``` + +### Admin Override + +Admins can access all data while users access only their own: + +```sql +CREATE POLICY "posts_select_owner_or_admin" ON posts +FOR SELECT USING ( + auth.uid() = user_id OR + auth.jwt() ->> 'role' = 'admin' +); +``` + +### Public Read, Authenticated Write + +Anyone can read, only authenticated users can write: + +```sql +-- Public read access +CREATE POLICY "public_posts_select" ON public_posts +FOR SELECT USING (true); + +-- Authenticated insert only +CREATE POLICY "public_posts_insert_auth" ON public_posts +FOR INSERT WITH CHECK (auth.role() = 'authenticated'); +``` + +### Soft Delete Handling + +Exclude soft-deleted records from queries: + +```sql +CREATE POLICY "posts_select_not_deleted" ON posts +FOR SELECT USING ( + deleted_at IS NULL AND + (auth.uid() = user_id OR is_published = true) +); +``` + +## Troubleshooting + + + + **Problem**: Agent can't connect to Supabase + + **Solutions**: + - Re-authenticate through the integrations page + - Verify OAuth token hasn't expired (expires after 7 days) + - Check project permissions + - Ensure Supabase project is accessible + - For CI/CD, verify environment variables are set + + + + + + **Problem**: Agent reports no tables found to audit + + **Solutions**: + - Verify PR contains database-related changes + - Check that migration files use standard naming + - Ensure SDK calls use `.from('table_name')` pattern + - Review PR for schema/type definition changes + + + + + + **Problem**: Agent identifies issues but doesn't create fixes + + **Solutions**: + - Check if issues are Low priority (agent suggests only) + - Verify agent has write access to repository + - Review error messages in agent logs + - Ensure Supabase MCP connection is working + - Check if migration directory exists + + + + + + **Problem**: Auto-generated RLS policies block legitimate access + + **Solutions**: + - Review and adjust policies in the generated migration + - Add custom logic for your specific access patterns + - Mark tables for manual policy creation if needed + - Provide feedback to improve future policy generation + + + + + + **Problem**: Generated migration conflicts with existing changes + + **Solutions**: + - Review both migrations and merge manually + - Ensure migration timestamps are unique + - Check for duplicate policy names + - Adjust generated migration as needed + + + +## Security Best Practices + + + + **Development vs. Production**: + - Always test RLS policies in development first + - Use separate Supabase projects for dev/staging/prod + - Never disable RLS on production tables + - Review all generated policies before deploying + - Test policies with different user roles + + + + + + Before deploying RLS changes, verify: + - [ ] RLS is enabled on all sensitive tables + - [ ] Policies cover all CRUD operations (SELECT, INSERT, UPDATE, DELETE) + - [ ] User-scoped data includes `auth.uid()` checks + - [ ] Admin overrides verify admin role properly + - [ ] Public access is intentional and documented + - [ ] Policies include `WITH CHECK` clauses for writes + - [ ] Soft deletes filter out `deleted_at IS NOT NULL` + - [ ] Policy names follow naming conventions + - [ ] Rollback commands are included + - [ ] Policies are tested with different user scenarios + + + +## Support & Resources + + + + + + Complete guide to database security automation with Supabase and Continue + + + + + + Combine Supabase with GitHub for automated security workflows + + + + + + Official Supabase Row Level Security documentation + + + + + + Learn about the Supabase MCP Server. + + + + diff --git a/docs/mission-control/tasks.mdx b/docs/mission-control/tasks.mdx index 4dd58fb22e0..9efd782229c 100644 --- a/docs/mission-control/tasks.mdx +++ b/docs/mission-control/tasks.mdx @@ -34,7 +34,7 @@ description: "A Task is a unit of work shared between you and an agent. You trig - Pick the **repository** and **branch** where the Agent will work. + Pick the **repository** and **branch** the Agent branch off of. diff --git a/extensions/intellij/README.md b/extensions/intellij/README.md index 1eea37b85cb..3fcb09ddbfa 100644 --- a/extensions/intellij/README.md +++ b/extensions/intellij/README.md @@ -24,7 +24,7 @@ -Get started in [Mission Control](https://hub.continue.dev/agents), [CLI (Headless Mode)](https://docs.continue.dev/cli/quick-start#headless-mode), or [CLI (TUI mode)](https://docs.continue.dev/cli/quick-start#tui-mode) +Get started in [Mission Control](https://hub.continue.dev/hub?type=agents), [CLI (Headless Mode)](https://docs.continue.dev/cli/quick-start#headless-mode), or [CLI (TUI mode)](https://docs.continue.dev/cli/quick-start#tui-mode) ## Agent