A comprehensive collection of production-ready plugins for building modern applications with Supabase.
This marketplace provides 10 specialized plugins covering all aspects of Supabase development:
- Advanced Authentication - Complete auth solution with OAuth, MFA, and session management
- Database Operations - Advanced queries, transactions, and RLS policies
- Storage Manager - File uploads, CDN integration, and transformations
- Realtime Sync - WebSocket subscriptions for presence and database changes
- Edge Functions - Serverless Deno functions with TypeScript
- RLS Security - Row Level Security patterns and policies
- Database Migrations - Schema management and migration tools
- Client SDK - TypeScript/JavaScript client patterns
- Testing Tools - Unit and integration testing utilities
- Performance Optimization - Query optimization and caching
# Install the Supabase CLI
npm install -g supabase
# Clone the marketplace
git clone https://github.com/skillstash/supabase-marketplace
cd supabase-marketplace
# Install a specific plugin
npm install ./plugins/auth-advancedimport { createClient } from '@supabase/supabase-js'
// Initialize Supabase client
const supabase = createClient(
process.env.SUPABASE_URL!,
process.env.SUPABASE_ANON_KEY!
)
// Use plugins
import { AuthManager } from 'supabase-auth-advanced'
import { DatabaseOps } from 'supabase-database-operations'
import { StorageManager } from 'supabase-storage-manager'
const auth = new AuthManager(supabase)
const db = new DatabaseOps(supabase)
const storage = new StorageManager(supabase)Each plugin follows a consistent structure:
plugin-name/
├── plugin.json # Plugin metadata and configuration
├── README.md # Comprehensive documentation
├── CHANGELOG.md # Version history
├── .claude/ # AI-powered development tools
│ ├── commands/ # Slash commands for quick actions
│ ├── skills/ # Auto-loading development skills
│ └── agents/ # Specialized AI agents
├── src/ # Source code
│ ├── index.ts # Main entry point
│ └── lib/ # Core functionality
├── examples/ # Usage examples
└── tests/ # Test suites
- TypeScript support throughout
- Comprehensive error handling
- Security best practices
- Performance optimized
- Slash Commands: Quick actions like
/auth-setup,/db-migrate - Auto Skills: Automatic implementation when patterns detected
- Expert Agents: Specialized agents for complex scenarios
- Row Level Security (RLS)
- Multi-Factor Authentication
- OAuth 2.0 providers
- GDPR compliance ready
- Real-time subscriptions
- Edge Functions
- PostGIS support
- Full-text search
- JSONB operations
Create a .env.local file:
# Supabase Configuration
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
# Database
DATABASE_URL=postgresql://postgres:password@localhost:54322/postgres
# Optional: External Services
OPENAI_API_KEY=your-openai-key
RESEND_API_KEY=your-resend-key
STRIPE_SECRET_KEY=your-stripe-key// Sign up with email
await auth.signUp({
email: 'user@example.com',
password: 'secure-password',
metadata: { name: 'John Doe' }
})
// OAuth sign in
await auth.signInWithProvider('google')
// Enable MFA
await auth.enableMFA('totp')// Complex query with joins
const { data } = await db
.from('posts')
.select('*, author:users(*), comments(*)')
.eq('published', true)
.order('created_at', { ascending: false })
// Transaction
await db.transaction(async (tx) => {
await tx.insert('orders', orderData)
await tx.update('inventory', { quantity: db.raw('quantity - 1') })
})// Upload with transformations
const { data } = await storage
.upload('avatars/user-123.png', file, {
transform: {
width: 200,
height: 200,
quality: 80
}
})
// Get public URL
const url = storage.getPublicUrl('avatars/user-123.png')// Subscribe to changes
const subscription = supabase
.channel('posts')
.on('postgres_changes', {
event: '*',
schema: 'public',
table: 'posts'
}, (payload) => {
console.log('Change received!', payload)
})
.subscribe()# Set up authentication
/auth-setup --providers google,github --mfa true
# Run database migration
/db-migrate --version latest
# Deploy edge function
/edge-deploy --function send-emailThe marketplace includes intelligent skills that activate automatically:
- implement-auth: Detects auth patterns and implements complete flows
- optimize-queries: Analyzes and optimizes database queries
- secure-routes: Adds protection to routes and endpoints
Specialized agents for complex tasks:
- auth-specialist: Handles complex authentication scenarios
- query-optimizer: Optimizes database performance
- security-auditor: Performs security assessments
- Always enable RLS on tables
- Use environment variables for secrets
- Implement proper error handling
- Enable MFA for admin accounts
- Regular security audits
- Use connection pooling
- Implement caching strategies
- Optimize database indexes
- Use Edge Functions for compute
- Enable CDN for static assets
- Write tests for critical paths
- Use TypeScript for type safety
- Follow consistent code style
- Document API changes
- Version control migrations
# Run all tests
npm test
# Run specific plugin tests
npm test -- plugins/auth-advanced
# Run with coverage
npm test -- --coverage
# E2E tests
npm run test:e2e# Link to project
supabase link --project-ref your-project-ref
# Push database changes
supabase db push
# Deploy functions
supabase functions deploy
# Set secrets
supabase secrets set KEY=value# Start local development
supabase start
# Apply migrations
supabase migration up
# Deploy with Docker
docker-compose up -dWe welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
- Documentation: docs.supabase.com
- Discord: discord.gg/supabase
- GitHub Issues: Report bugs or request features
MIT License - see LICENSE for details.
Built with ❤️ by the SkillStash team using:
Version: 1.0.0 | Last Updated: January 2024