Claude Code Plugins

Community-maintained marketplace

Feedback

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name supabase-local-dev-loop
description Configure Supabase local development with hot reload and testing. Use when setting up a development environment, configuring test workflows, or establishing a fast iteration cycle with Supabase. Trigger with phrases like "supabase dev setup", "supabase local development", "supabase dev environment", "develop with supabase".
allowed-tools Read, Write, Edit, Bash(npm:*), Bash(pnpm:*), Grep
version 1.0.0
license MIT
author Jeremy Longshore <jeremy@intentsolutions.io>

Supabase Local Dev Loop

Overview

Set up a fast, reproducible local development workflow for Supabase.

Prerequisites

  • Completed supabase-install-auth setup
  • Node.js 18+ with npm/pnpm
  • Code editor with TypeScript support
  • Git for version control

Instructions

Step 1: Create Project Structure

my-supabase-project/
├── src/
│   ├── supabase/
│   │   ├── client.ts       # Supabase client wrapper
│   │   ├── config.ts       # Configuration management
│   │   └── utils.ts        # Helper functions
│   └── index.ts
├── tests/
│   └── supabase.test.ts
├── .env.local              # Local secrets (git-ignored)
├── .env.example            # Template for team
└── package.json

Step 2: Configure Environment

# Copy environment template
cp .env.example .env.local

# Install dependencies
npm install

# Start development server
npm run dev

Step 3: Setup Hot Reload

{
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "test": "vitest",
    "test:watch": "vitest --watch"
  }
}

Step 4: Configure Testing

import { describe, it, expect, vi } from 'vitest';
import { SupabaseClient } from '../src/supabase/client';

describe('Supabase Client', () => {
  it('should initialize with API key', () => {
    const client = new SupabaseClient({ apiKey: 'test-key' });
    expect(client).toBeDefined();
  });
});

Output

  • Working development environment with hot reload
  • Configured test suite with mocking
  • Environment variable management
  • Fast iteration cycle for Supabase development

Error Handling

Error Cause Solution
Module not found Missing dependency Run npm install
Port in use Another process Kill process or change port
Env not loaded Missing .env.local Copy from .env.example
Test timeout Slow network Increase test timeout

Examples

Mock Supabase Responses

vi.mock('@supabase/supabase-js', () => ({
  SupabaseClient: vi.fn().mockImplementation(() => ({
    // Mock methods here
  })),
}));

Debug Mode

# Enable verbose logging
DEBUG=SUPABASE=* npm run dev

Resources

Next Steps

See supabase-sdk-patterns for production-ready code patterns.