Copilot instructions
.github/instructions/global.instructions.mdCopilot instructions
Quality
100/100
Scores the file, not the repository.Length
949 words
22 headings · 10 code blocksRepository
63
— · pushed 14 days agoLast changed
3 days ago
First indexed 3 days ago.1234# React + Vite + shadcn/ui Template - Premium Design System56## CRITICAL RULES - READ FIRST78### NEVER CREATE:9- **Monolithic components** over 300 lines10- **Copy-pasted code** - extract to reusable functions/hooks11- **Inline API calls** in components - use service layer12- **Poor accessibility** - maintain WCAG 2.1 AA contrast (4.5:1 minimum)13- **Generic designs** - always adapt to target industry/audience1415### ALWAYS CREATE:16- **Focused components** (20-100 lines, single responsibility)17- **Custom hooks** for reusable logic18- **Composition patterns** - build complex UI from smaller parts19- **Shared types** in `lib/types.ts`20- **Premium designs** with sophisticated animations and visual hierarchy2122## Essential Commands23```bash24npm run dev # Start development server (port 8080)25npm run build # Production build26npm run lint # Run ESLint - MUST pass before shipping27```2829## DETAILED GUIDELINES3031This project uses a modular instruction system. For comprehensive guidance, see:3233- **[Architecture Guidelines](./architecture.instructions.md)** - Component organization, reusability patterns, custom hooks, and code structure34- **[Design Guidelines](./design.instructions.md)** - Visual design system, industry-specific styling, accessibility, and premium UI patterns35- **[Development Workflow](./development.instructions.md)** - Commands, configuration, testing, and quality standards36- **[Component Guidelines](./components.instructions.md)** - UI, common, and feature component patterns37- **[Hooks Guidelines](./hooks.instructions.md)** - Custom hook patterns for data, forms, and UI state38- **[Page Guidelines](./pages.instructions.md)** - Page composition and organization rules39- **[Library Guidelines](./lib.instructions.md)** - Utilities, types, constants, and service layer patterns40- **[Quality Checklist](./quality.instructions.md)** - Code quality, design standards, and never-ship rules4142## Tech Stack Overview4344### Project Overview45- **Framework**: React 18.3.1 with TypeScript46- **Build Tool**: Vite 5.4.147- **UI Components**: shadcn/ui (Radix UI primitives)48- **Styling**: Tailwind CSS with custom theme49- **Routing**: React Router DOM v650- **State Management**: TanStack Query (React Query)51- **Backend**: Supabase (Authentication, Database, Real-time)52- **Form Handling**: React Hook Form with Zod validation53- **Package Manager**: npm5455### Essential Commands56```bash57npm run dev # Start development server (port 8080)58npm run build # Production build59npm run lint # Run ESLint60```6162### Key Architecture Rules631. **No monolithic components** - Keep components under 300 lines642. **Extract reusable logic** to custom hooks653. **Use composition patterns** - build complex UI from smaller components664. **Separate concerns** - UI, business logic, and API calls in different layers675. **Shared types** - define interfaces once in `lib/types.ts`6869### Design Principles701. **Industry-appropriate design** - adapt colors and style to target audience712. **Accessibility first** - maintain WCAG 2.1 AA contrast standards723. **Premium feel** - sophisticated animations and visual hierarchy734. **Mobile-first** responsive design approach7475### Project Structure76```77src/78├── components/79│ ├── ui/ # shadcn/ui components80│ ├── common/ # Reusable components81│ ├── forms/ # Form components82│ └── features/ # Feature-specific components83├── hooks/ # Custom React hooks84├── integrations/85│ └── supabase/ # Supabase client and types86│ ├── client.ts # Supabase client instance87│ └── types.ts # Database type definitions88├── lib/89│ ├── utils.ts # Utilities (includes cn function)90│ ├── types.ts # Shared TypeScript types91│ ├── constants.ts # App constants92│ └── validations/ # Zod schemas93├── pages/ # Route components (composition only)94├── services/ # API calls95└── context/ # React context providers9697supabase/ # Supabase local development98├── config.toml # Supabase CLI configuration99└── migrations/ # Database migrations (auto-generated)100```101102## Supabase Integration103104### Quick Start1051. Create a Supabase project at [supabase.com](https://supabase.com)1062. Copy `.env.example` to `.env` and add your credentials:107```bash108 VITE_SUPABASE_URL=https://your-project.supabase.co109 VITE_SUPABASE_PUBLISHABLE_KEY=your-anon-key110```1113. Import and use the Supabase client:112```typescript113 import { supabase } from "@/integrations/supabase/client";114```115116### Usage Examples117118**Data Fetching with TanStack Query:**119```typescript120import { useQuery } from "@tanstack/react-query";121import { supabase } from "@/integrations/supabase/client";122123export const usePosts = () => {124 return useQuery({125 queryKey: ['posts'],126 queryFn: async () => {127 const { data, error } = await supabase128 .from('posts')129 .select('*')130 .eq('published', true);131132 if (error) throw error;133 return data;134 }135 });136};137```138139**Mutations:**140```typescript141import { useMutation, useQueryClient } from "@tanstack/react-query";142import { supabase } from "@/integrations/supabase/client";143144export const useCreatePost = () => {145 const queryClient = useQueryClient();146147 return useMutation({148 mutationFn: async (newPost) => {149 const { data, error } = await supabase150 .from('posts')151 .insert(newPost)152 .select()153 .single();154155 if (error) throw error;156 return data;157 },158 onSuccess: () => {159 queryClient.invalidateQueries({ queryKey: ['posts'] });160 }161 });162};163```164165**Authentication:**166```typescript167// Sign up168const { data, error } = await supabase.auth.signUp({169 email: 'user@example.com',170 password: 'securepassword'171});172173// Sign in174const { data, error } = await supabase.auth.signInWithPassword({175 email: 'user@example.com',176 password: 'securepassword'177});178179// Get current user180const { data: { user } } = await supabase.auth.getUser();181```182183**Type Safety:**184```typescript185import type { Tables, TablesInsert } from "@/integrations/supabase/types";186187// Use generated types188type Post = Tables<'posts'>;189type NewPost = TablesInsert<'posts'>;190```191192### Best Practices193- Always use TanStack Query for data fetching and mutations194- Handle errors gracefully with try-catch or error boundaries195- Use TypeScript types from `@/integrations/supabase/types`196- Enable Row Level Security (RLS) on your Supabase tables197- Never expose sensitive credentials in environment variables198199### Supabase CLI Commands200```bash201# Local development (requires Docker)202npx supabase start # Start local Supabase203npx supabase stop # Stop local Supabase204205# Type generation206npx supabase gen types typescript --local > src/integrations/supabase/types.ts207208# Migrations209npx supabase migration new migration_name # Create new migration210npx supabase db push # Push migrations to remote211```212213## Security Note214This is a **client-side application**. Only use `VITE_` environment variables for public configuration. Never expose sensitive data like API secrets.215216## Important Reminders217- Do what has been asked; nothing more, nothing less218- NEVER create files unless absolutely necessary219- ALWAYS prefer editing existing files over creating new ones220- NEVER proactively create documentation files unless explicitly requested
Also in chihebnabil/lovable-boilerplate
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| chihebnabil/lovable-boilerplate.cursor/rules/core.mdc · 63 | Cursor rules | buildlint-formatarchui+1 | 92/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/design.mdc · 63 | Cursor rules | styleuido-not | 65/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/forms.mdc · 63 | Cursor rules | setupstyledo-not | 73/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/hooks.mdc · 63 | Cursor rules | styleuido-not | 61/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/services.mdc · 63 | Cursor rules | archtypesdo-not | 73/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/typescript.mdc · 63 | Cursor rules | setupstyletypessecurity+2 | 73/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/architecture.instructions.md · 63 | Copilot instructions | stylearchtypesdatabase+2 | 69/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/components.instructions.md · 63 | Copilot instructions | styleuido-not | 61/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/design.instructions.md · 63 | Copilot instructions | lint-formatstyleuido-not | 61/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/development.instructions.md · 63 | Copilot instructions | setupbuildtestlint-format+7 | 88/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/hooks.instructions.md · 63 | Copilot instructions | styleui | 54/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/lib.instructions.md · 63 | Copilot instructions | archtypesdo-not | 69/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/pages.instructions.md · 63 | Copilot instructions | archuido-not | 69/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/quality.instructions.md · 63 | Copilot instructions | lint-formatdeploymentdo-not | 63/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/reusable.instructions.md · 63 | Copilot instructions | uido-notagent-behaviour | 32/100 | 3 days ago | |
| chihebnabil/lovable-boilerplateCLAUDE.md · 63 | CLAUDE.md | setupbuildtestlint-format+5 | 89/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/components.mdc · 63 | Cursor rules | stylearchuido-not | 65/100 | 3 days ago | |
| chihebnabil/lovable-boilerplate.cursor/rules/quality.mdc · 63 | Cursor rules | buildlint-formatstyleui+3 | 88/100 | 3 days ago |
Diff against .cursor/rules/core.mdc Diff against .cursor/rules/design.mdc Diff against .cursor/rules/forms.mdc Diff against .cursor/rules/hooks.mdc Diff against .cursor/rules/services.mdc Diff against .cursor/rules/typescript.mdc Diff against .github/instructions/architecture.instructions.md Diff against .github/instructions/components.instructions.md Diff against .github/instructions/design.instructions.md Diff against .github/instructions/development.instructions.md Diff against .github/instructions/hooks.instructions.md Diff against .github/instructions/lib.instructions.md Diff against .github/instructions/pages.instructions.md Diff against .github/instructions/quality.instructions.md Diff against .github/instructions/reusable.instructions.md Diff against CLAUDE.md Diff against .cursor/rules/components.mdc Diff against .cursor/rules/quality.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 31k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 2 days ago | |
| darkmatter/nixmac.github/copilot-instructions.md · 24 | Copilot instructions | setupbuildtestlint-format+8 | 96/100 | 3 days ago | |
| nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32 | Copilot instructions | setupbuildtestlint-format+11 | 96/100 | 3 days ago | |
| thangaram611/second-brain.github/copilot-instructions.md · 0 | Copilot instructions | setupteststylearch+4 | 96/100 | 3 days ago | |
| keycloak/keycloak.github/copilot-instructions.md · 36k | Copilot instructions | setupbuildtestlint-format+6 | 93/100 | 3 days ago | |
| jnPiyush/AgentX.github/instructions/typescript.instructions.md · 14 | Copilot instructions | setuptestlint-formatstyle+5 | 92/100 | 3 days ago | |
| koel/koel.github/copilot-instructions.md · 17k | Copilot instructions | buildtestlint-formatstyle+7 | 90/100 | 3 days ago |
