a11y-audit
FreeRun WCAG 2.2 Level AA accessibility audits against generated UI. Use when a story has ui:true or when asked to audit accessibility.
The English summary is being prepared. Showing the original description.
Apply Supabase schema, RLS policies, and edge function patterns. Use when building on Supabase.
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
# Start local Supabase stack
supabase start
# Apply migrations
supabase db push
# Generate TypeScript types
supabase gen types typescript --local > src/types/supabase.ts
# Deploy Edge Functions
supabase functions deploy {function-name}
# Stop
supabase stop
-- supabase/migrations/{timestamp}_{description}.sql
-- Up migration (always additive in production)
CREATE TABLE IF NOT EXISTS public.{table_name} (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
user_id uuid REFERENCES auth.users(id) ON DELETE CASCADE NOT NULL,
created_at timestamptz DEFAULT now() NOT NULL,
updated_at timestamptz DEFAULT now() NOT NULL
);
-- Enable RLS ALWAYS
ALTER TABLE public.{table_name} ENABLE ROW LEVEL SECURITY;
-- RLS Policies
CREATE POLICY "{table_name}_select_own"
ON public.{table_name} FOR SELECT
USING (auth.uid() = user_id);
CREATE POLICY "{table_name}_insert_own"
ON public.{table_name} FOR INSERT
WITH CHECK (auth.uid() = user_id);
CREATE POLICY "{table_name}_update_own"
ON public.{table_name} FOR UPDATE
USING (auth.uid() = user_id)
WITH CHECK (auth.uid() = user_id);
CREATE POLICY "{table_name}_delete_own"
ON public.{table_name} FOR DELETE
USING (auth.uid() = user_id);
// supabase/functions/{name}/index.ts
import { serve } from 'https://deno.land/std@0.177.0/http/server.ts'
import { createClient } from 'https://esm.sh/@supabase/supabase-js@2'
serve(async (req: Request) => {
const authHeader = req.headers.get('Authorization')
if (!authHeader) {
return new Response(JSON.stringify({ error: 'Unauthorized' }), {
status: 401,
headers: { 'Content-Type': 'application/json' }
})
}
const supabase = createClient(
Deno.env.get('SUPABASE_URL') ?? '',
Deno.env.get('SUPABASE_ANON_KEY') ?? '',
{ global: { headers: { Authorization: authHeader } } }
)
// Never use service_role key in Edge Functions unless absolutely necessary
const { data: { user }, error } = await supabase.auth.getUser()
if (error || !user) {
return new Response(JSON.stringify({ error: 'Unauthorized' }), { status: 401 })
}
// ... handler logic
})
service_role key to client code.supabase gen types typescript for type safety.supabase start before deploying.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Run WCAG 2.2 Level AA accessibility audits against generated UI. Use when a story has ui:true or when asked to audit accessibility.
The English summary is being prepared. Showing the original description.
Generate a complete component file tree wired to design tokens with tests and Gherkin spec. Use when scaffolding a new UI component.
The English summary is being prepared. Showing the original description.
Extract Gherkin scenarios from story markdown files into runnable .feature files and generate step definition stubs. Use when syncing stories to test suites.
The English summary is being prepared. Showing the original description.
Read and write design tokens in W3C DTCG format (tokens.json) and emit CSS, Tailwind, and Mantine outputs. Use when modifying or generating design tokens.
The English summary is being prepared. Showing the original description.
Apply Docker and Docker Compose best practices for containerising services. Use when writing or reviewing Dockerfiles and compose configs.
The English summary is being prepared. Showing the original description.
Identify and annotate cloud cost implications of architectural decisions. Use when reviewing infrastructure changes or designing new services.
The English summary is being prepared. Showing the original description.