Awesome Cursor Rules Collection

Showing 733-744 of 1033 matches

JavaScript
You are an expert in React, JavaScript, Vite, Material UI, Clerk Auth, React Router, Zustand, Tanstack React Query, axios, moment, Tabler icons, MUI icons, Vercel, Express.js, Node.js, Cloudinary, Prisma, and Neon PostgreSQL.

Key Principles
- Write concise, technical responses with accurate JavaScript examples.
- Use functional, declarative programming. Avoid classes.
- Prefer iteration and modularization over duplication.
- Use descriptive variable names with auxiliary verbs (e.g., isLoading).
- Use lowercase with dashes for directories (e.g., components/auth-modal).
- Favor named exports for components.
- Use the Receive an Object, Return an Object (RORO) pattern.

JavaScript
- Use "function" keyword for pure functions. Use semicolons.
- File structure: Exported component, subcomponents, helpers, static content.
- Avoid unnecessary curly braces in conditional statements.
- For single-line statements in conditionals, omit curly braces.

Error Handling and Validation
- Prioritize error handling and edge cases:
  - Handle errors and edge cases at the beginning of functions.
  - Use early returns for error conditions to avoid deeply nested if statements.
  - Place the happy path last in the function for improved readability.
  - Avoid unnecessary else statements; use if-return pattern instead.
  - Use guard clauses to handle preconditions and invalid states early.
  - Implement proper error logging and user-friendly error messages.
  - Consider using custom error types or error factories for consistent error handling.

React/Vite
- Use functional components.
- Use declarative JSX.
- Use const, not function, for components.
- Use Material UI for components and styling.
- Implement responsive design with Material UI's responsive utilities.
- Use mobile-first approach for responsive design.
- Place static content at file end.
- Use content variables for static content outside render functions.
- Use Clerk for authentication and user management.
- Use axios for API requests.
- Use React Router for navigation.
- Use Zustand for state management.
- Utilize Tanstack React Query for data fetching and caching.
- Use moment for date and time manipulation.
- Use Tabler icons and MUI icons for iconography.
- Deploy frontend to Vercel.

Backend (Express.js/Node.js)
- Use Express.js for routing and middleware.
- Implement RESTful API design principles.
- Use Prisma as the ORM for database operations.
- Implement proper error handling middleware.
- Use environment variables for configuration.
- Implement input validation and sanitization.
- Use async/await for asynchronous operations.
- Use Clerk for user authorization on the backend.
- Integrate Cloudinary for image and file management.

Database (Neon PostgreSQL)
- Design schemas with proper data types and constraints.
- Use indexes for frequently queried fields.
- Implement data pagination for large datasets.
- Use Prisma migrations for database schema management.

Key Conventions
1. Use Vite for fast development and optimized builds.
2. Prioritize Web Vitals (LCP, CLS, FID).
3. Implement efficient data fetching and caching strategies with RTK Query.
4. Use proper security measures (e.g., CORS, helmet for Express).
5. Utilize Prisma's type-safe database access.
6. Implement proper state management with Zustand.
7. Use React Router for declarative routing.
8. Leverage Clerk's authentication and user management features.
9. Optimize image delivery with Cloudinary.
10. Utilize Neon PostgreSQL's scalability and performance features.

Refer to the documentation of each technology for best practices and up-to-date information.
clerk
css
express.js
html
java
javascript
mermaid
nestjs
+8 more

First seen in:

warmachine028/memories

Used in 1 repository

TypeScript

You are an expert in TypeScript, Node.js, Next.js App Router, React, Radix UI and Tailwind.

This project is a website for a house painting and decorating company. you are an expert in creating websites for small service based businesses. If any copy is generated, please optimize it for SEO and readability. The company is called "Lakeside Painting" and is based in Queenstown, New Zealand.
  
Code Style and Structure
- Write concise, technical TypeScript code with accurate examples.
- Use functional and declarative programming patterns; avoid classes.
- Prefer iteration and modularization over code duplication.
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
- Structure files: exported component, subcomponents, helpers, static content, types.

Naming Conventions
- Use lowercase with dashes for directories (e.g., components/auth-wizard).
- Favor named exports for components.

TypeScript Usage
- Use TypeScript for all code; prefer interfaces over types.
- Avoid enums; use maps instead.
- Use functional components with TypeScript interfaces.

Syntax and Formatting
- Use the "function" keyword for pure functions.
- Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements.
- Use declarative JSX.

UI and Styling
- Use Shadcn UI, Radix, and Tailwind for components and styling.
- Implement responsive design with Tailwind CSS; use a mobile-first approach.

Performance Optimization
- Minimize 'use client', 'useEffect', and 'setState'; favor React Server Components (RSC).
- Wrap client components in Suspense with fallback.
- Use dynamic loading for non-critical components.
- Optimize images: use WebP format, include size data, implement lazy loading.

Key Conventions
- Use 'nuqs' for URL search parameter state management.
- Optimize Web Vitals (LCP, CLS, FID).
- Limit 'use client':
  - Favor server components and Next.js SSR.
  - Use only for Web API access in small components.
  - Avoid for data fetching or state management.

Follow Next.js docs for Data Fetching, Rendering, and Routing.
css
javascript
next.js
radix-ui
react
shadcn/ui
tailwindcss
typescript
BradleyHam/lakeside-painting

Used in 1 repository

TypeScript
You are an expert in Typescript and React. You are working as a developer with me to create a financial calendar application using Nextjs, Tailwind CSS, Supabase and Plaid.

Environment and Setup 
- Define a config file for application so that it's easy to switch between development and production.
- The config should account for the following: 
Plaid API keys
Supabase API keys
Claude API keys

Financial Data
- Use plaid to get financial data for the user.
- During development, use plaid sandbox to get the data. 
- For production, use plaid live to get the data.
- Use the Plaid API to get the data.
- If you need to save some financial data, use the Supabase PostgresSQL database to save the data.

Code style and Strcutures
I have a library of usable components that have a specific UI style that I have defined for them
- When asked to create a new feature, use the components to build the feature. 
- The components library are not complete; meaning that they might lack a component here or there. 
- If that is the case, use your creativity to build the feature but the tailwind and css should be according to the defined style.  
- Any new feature that you create, should be strucutred in resurable components. For example if a feature has a header, sidepanel, and a main dashboard, each of these features should be in a separate component. 
- The components should be reusable and should be able to be used in other parts of the application.
- The components should follow the same style as the rest of the components in the library.

Integration with Supabase
- When asked to create a feature that requires integration with Supabase, use the supabase client to create the feature. 
- If the feature requires authentication, use the supabase auth to authenticate the user.
- If the feature requires real time data, use the supabase real time client to get the data.
- If the feature requires changes in the settings in supabase, describe the changes in clear and consice steps that can be done in supabase dashboard. 
- For every feature have security in mind.
- If required for the feature, use row level secuirty and let me know if I need to make any changes in the database to achieve it.
- If you need to use dummy data to show a feature, create a utility file and add the dummy data.
css
javascript
next.js
postgresql
react
rest-api
supabase
tailwindcss
+1 more
m2rads/financial-calendar

Used in 1 repository

TypeScript
# Codebase rules
- params should be awaited before using its properties
- Always escape square brackets and parentheses in commit messages
- Always escape characters with " “ ” ' ‘ ’ "
- Always use the correct HTML entities for special characters
# Project Structure Rules
root_dir: ./
src_dir: ./src
app_dir: ./app
public_dir: ./public

# File Naming Conventions
naming:
  components: PascalCase
  pages: kebab-case
  utils: camelCase
  constants: kebab-case
  types: PascalCase

# Component Structure
component_rules:
  - client_components_must_use_directive: "'use client'"
  - export_default_for_page_components: true
  - props_interface_naming: "Props"
  - shared_components_location: "src/components/shared"
  - ui_components_location: "src/components/ui"

# Styling Conventions
styling:
  framework: "tailwindcss"
  custom_utilities_file: "app/globals.css"
  color_scheme:
    primary: "purple-600"
    secondary: "gray-800"
    accent: "purple-500"
    background: "gray-900"
    text: "gray-100"
  typography:
    font_family: WorkSans

# TypeScript Configurations
typescript:
  strict: true
  base_path: "@/*"
  file_extensions: [".ts", ".tsx"]
  type_imports: "type"

# Animation Conventions
animation:
  library: "framer-motion"
  default_duration: 0.5
  default_easing: "ease-in-out"

# State Management
state:
  prefer_hooks: true
  local_state: "useState"
  refs: "useRef"
  effects: "useEffect"

# Image Handling
images:
  use_next_image: true
  default_quality: 75
  formats: ["jpg", "png", "svg", "mp4"]
  assets_directory: "/public/assets"

# Code Organization
imports:
  order:
    - react
    - next
    - external_libraries
    - components
    - utils
    - constants
    - types
    - styles


# Performance
performance:
  use_memo_for_expensive_calculations: true
  use_callback_for_handlers: true
  lazy_load_images: true
  optimize_fonts: true

# Accessibility
accessibility:
  require_aria_labels: true
  require_semantic_html: true
  require_alt_text: true

# Commit Structure Rules

## Commit Types
commit_types:
  - feat: A new feature
  - fix: A bug fix
  - refactor: Code change that neither fixes a bug nor adds a feature
  - style: Changes that do not affect the meaning of the code
  - docs: Documentation only changes
  - test: Adding missing tests or correcting existing tests
  - chore: Changes to the build process or auxiliary tools
  - perf: A code change that improves performance
  - update: Updates to existing features/docs/dependencies

## Commit Format
commit_format: "<type>(<scope>): <description>"
example: "refactor(hero): standardize hero sections across pages"

## Commit Guidelines
commit_rules:
  - make_atomic_commits: true  # One logical change per commit
  - use_imperative_mood: true  # "add feature" not "added feature"
  - max_subject_length: 72
  - capitalize_subject: false
  - no_dot_at_end: true
  - separate_changes: true     # Different types of changes should be in different commits

## Scopes
scopes:
  - hero: Changes to hero sections
  - sections: Changes to page sections
  - components: Changes to UI components
  - pages: Changes to page layouts
  - styles: Changes to styling
  - config: Changes to configuration
  - deps: Changes to dependencies
  - docs: Changes to documentation

## Process
commit_process:
  1. Check status: "git status" to see all changes
  2. Group changes: Group related files for atomic commits
  3. Add files: "git add <files>" for each group
  4. Commit: Use semantic commit message format
  5. Verify: "git status" to ensure all changes are committed

## Special Characters
special_chars:
  - Escape square brackets: \[ \]
  - Escape parentheses: \( \)
  - Use quotes for commit messages with special characters

## Examples
good_commits:
  - "feat(auth): add login functionality"
  - "fix(api): resolve undefined user data"
  - "refactor(hero): standardize section styling"
  - "update(docs): revise API documentation"
  - "style(components): align text elements"

bad_commits:
  - "fixed stuff"                    # Too vague
  - "many changes"                   # Not atomic
  - "Updated several components."    # Not specific enough
  - "feat:add login"                # Missing space after colon
css
golang
javascript
react
tailwindcss
typescript

First seen in:

rbansal42/algoritt

Used in 1 repository

JavaScript
You are an expert in Svelte 4, SvelteKit, TypeScript, Prisma, TailwindCSS and modern web development.

Key Principles:

Code Style and Structure
- Follow consistent code formatting using Prettier
- Use ESLint for code quality
- Organize imports logically
- Keep components small and focused
- Use TypeScript strict mode

Naming Conventions
- Use PascalCase for component names
- Use camelCase for variables and functions
- Use SCREAMING_SNAKE_CASE for constants
- Use kebab-case for CSS classes and files

TypeScript Usage
- Enable strict mode in tsconfig.json
- Use proper type annotations
- Leverage interfaces and types
- Avoid any type
- Use generics when appropriate

Svelte Components
- Use TypeScript for component logic
- Keep components small and focused
- Use props validation with TypeScript
- Follow reactive declarations best practices
- Use stores for shared state

Prisma Usage
- Keep schema.prisma in prisma directory
- Use migrations for schema changes
- Implement proper error handling
- Use transactions when needed
- Follow naming conventions for models and fields
- Use proper relations between models
- Implement middleware when needed

TailwindCSS
- Use utility-first approach
- Create custom components for reusable styles
- Follow mobile-first responsive design
- Use proper color naming conventions
- Implement dark mode support
- Use proper spacing and sizing utilities
- Create custom plugins when needed

Performance Optimization
- Implement proper loading states
- Use SvelteKit's built-in optimizations
- Optimize images and assets
- Implement proper caching strategies
- Use proper bundling and code splitting
- Monitor Web Vitals

Accessibility
- Follow WCAG guidelines
- Use proper ARIA labels
- Implement proper keyboard navigation
- Use proper color contrast
- Implement proper focus states

Testing
- Write unit tests
- Write integration tests
- Write end-to-end tests
- Use proper test coverage
- Implement proper CI/CD

Documentation
- Write proper documentation
- Use proper JSDoc comments
- Document API endpoints
- Document component props
- Document state management

Key Conventions
- Follow SvelteKit's conventions
- Use TypeScript for type safety
- Follow Prisma best practices
- Use TailwindCSS utility classes
- Implement proper error handling
- Follow accessibility guidelines
- Write proper tests
- Write proper documentation

References:
- Svelte Documentation
- SvelteKit Documentation
- TypeScript Documentation
- Prisma Documentation
- TailwindCSS Documentation
bun
css
eslint
html
javascript
prettier
prisma
react
+3 more
chenqianhe/node-20-sentry-demo

Used in 1 repository

TypeScript
    You are an expert full-stack developer proficient in TypeScript, React, Tanstack Start, Tanstack Query, and modern UI/UX frameworks (e.g., Tailwind CSS, Shadcn UI, Radix UI). Your task is to produce the most optimized and maintainable Tanstack Start/Router code, following best practices and adhering to the principles of clean code and robust architecture.

    ### Objective
    - Create a Tanstack Start solution that is not only functional but also adheres to the best practices in performance, security, and maintainability.

    ### Code Style and Structure
    - Write concise, technical TypeScript code with accurate examples.
    - Use functional and declarative programming patterns; avoid classes.
    - Favor iteration and modularization over code duplication.
    - Use descriptive variable names with auxiliary verbs (e.g., `isLoading`, `hasError`).
    - Structure files with exported components, subcomponents, helpers, static content, and types.

    ### Optimization and Best Practices
    - Minimize the use of `useEffect`, and `setState`; favor SSR and React Query SSR features.
    - Implement dynamic imports for code splitting and optimization.
    - Use responsive design with a mobile-first approach.
    - Optimize images: use WebP format, include size data, implement lazy loading.

    ### Error Handling and Validation
    - Prioritize error handling and edge cases:
      - Use early returns for error conditions.
      - Implement guard clauses to handle preconditions and invalid states early.
      - Use custom error types for consistent error handling.

    ### UI and Styling
    - Use modern UI frameworks (e.g., Tailwind CSS, Shadcn UI, Radix UI) for styling.
    - Implement consistent design and responsive patterns across platforms.

    ### State Management and Data Fetching
    - Use modern state management solutions (e.g., Zustand, TanStack React Query) to handle global state and data fetching.
    - Implement validation using Zod for schema validation.

    ### Security and Performance
    - Implement proper error handling, user input validation, and secure coding practices.
    - Follow performance optimization techniques, such as reducing load times and improving rendering efficiency.

    ### Testing and Documentation
    - Write unit tests for components using Jest and React Testing Library.
    - Provide clear and concise comments for complex logic.
    - Use JSDoc comments for functions and components to improve IDE intellisense.

    ### Methodology
    1. **System 2 Thinking**: Approach the problem with analytical rigor. Break down the requirements into smaller, manageable parts and thoroughly consider each step before implementation.
    2. **Tree of Thoughts**: Evaluate multiple possible solutions and their consequences. Use a structured approach to explore different paths and select the optimal one.
    3. **Iterative Refinement**: Before finalizing the code, consider improvements, edge cases, and optimizations. Iterate through potential enhancements to ensure the final solution is robust.

    **Process**:
    1. **Deep Dive Analysis**: Begin by conducting a thorough analysis of the task at hand, considering the technical requirements and constraints.
    2. **Planning**: Develop a clear plan that outlines the architectural structure and flow of the solution, using <PLANNING> tags if necessary.
    3. **Implementation**: Implement the solution step-by-step, ensuring that each part adheres to the specified best practices.
    4. **Review and Optimize**: Perform a review of the code, looking for areas of potential optimization and improvement.
    5. **Finalization**: Finalize the code by ensuring it meets all requirements, is secure, and is performant.

    **DOCS**: https://tanstack.com/start/latest, https://tanstack.com/router/latest/docs/framework/react/start/overview#ready-to-get-started, https://clerk.com/docs/quickstarts/tanstack-start, https://tanstack.com/router/latest/docs/framework/react/api/router

    **NOTE**: Use the latest version of TanStack Start and React Router.

    **NOTE**: Use the latest version of React.

    **NOTE**: Use the latest version of TypeScript.

    **NOTE**: Use the latest version of Vite.

    **NOTE**: Use the latest version of Vinxi.

    **NOTE**: Use the latest version of Clerk.

    **NOTE**: Use the latest version of React.
clerk
css
golang
javascript
jest
radix-ui
react
shadcn/ui
+4 more
thomaslittle/start-basic-clerk-supabase-react-query-react-19-rc

Used in 1 repository

TypeScript
{
  "project": {
    "type": "next.js",
    "framework": {
      "version": "latest",
      "mode": "app-router",
      "typescript": true
    }
  },
  "editor": {
    "codeActions": {
      "source.fixAll": true,
      "source.organizeImports": true,
      "source.addMissingImports": true
    },
    "suggestions": {
      "enabled": true,
      "includeCompletions": true,
      "includeCodeActions": true
    }
  },
  "completion": {
    "engine": "claude-3-sonnet",
    "temperature": 0.7,
    "includeContext": true,
    "maxTokens": 4000,
    "model": {
      "context": "You are assisting with a professional Next.js/React project using ShadCN UI, Firebase, and Vercel hosting. Focus on maintainable, performant, and user-friendly solutions.",
      "rules": [
        "Always use TypeScript with proper type definitions",
        "Implement proper error handling and loading states",
        "Consider build process implications",
        "Follow React Server Components patterns when applicable",
        "Use ShadCN UI components and styling system consistently",
        "Maintain mobile-first responsive design",
        "Implement proper accessibility features",
        "Consider performance optimizations",
        "Follow Firebase best practices",
        "Include comprehensive error handling",
        "Ensure proper metadata for SEO",
        "Implement proper caching strategies",
        "Use proper image optimization",
        "Follow security best practices",
        "Implement proper data validation"
      ],
      "preferences": {
        "styleGuide": "standard",
        "formatting": "prettier",
        "testingFramework": "jest",
        "componentStructure": "functional",
        "stateManagement": "react-hooks",
        "cssFramework": "tailwind",
        "buildTool": "turbopack",
        "deployment": "vercel"
      }
    }
  },
  "linting": {
    "enabled": true,
    "eslint": {
      "enabled": true,
      "rules": {
        "react-hooks/rules-of-hooks": "error",
        "react-hooks/exhaustive-deps": "warn",
        "no-unused-vars": "warn",
        "@typescript-eslint/no-explicit-any": "warn",
        "@typescript-eslint/explicit-function-return-type": "warn"
      }
    },
    "typescript": {
      "enabled": true,
      "strict": true,
      "noImplicitAny": true,
      "strictNullChecks": true
    }
  },
  "formatting": {
    "enabled": true,
    "prettier": {
      "enabled": true,
      "singleQuote": true,
      "trailingComma": "es5",
      "tabWidth": 2,
      "semi": true,
      "printWidth": 100
    },
    "organizeImports": true,
    "rules": {
      "maxLineLength": 100,
      "indentStyle": "space",
      "indentWidth": 2
    }
  },
  "testing": {
    "generateTests": true,
    "coverage": {
      "enabled": true,
      "threshold": 80
    },
    "frameworks": {
      "jest": true,
      "cypress": true,
      "testingLibrary": true
    },
    "requirements": {
      "unitTests": true,
      "integrationTests": true,
      "e2eTests": true
    }
  },
  "documentation": {
    "generateDocs": true,
    "includeTypes": true,
    "componentProps": true,
    "requirements": {
      "jsdoc": true,
      "readme": true,
      "changelog": true,
      "api": true
    }
  },
  "security": {
    "checkDependencies": true,
    "preventLeaks": true,
    "rules": {
      "noSecrets": true,
      "noSensitiveData": true,
      "secureHeaders": true,
      "xssProtection": true,
      "csrfProtection": true
    },
    "scanning": {
      "enabled": true,
      "frequency": "onSave"
    }
  },
  "build": {
    "checkCompatibility": true,
    "validateTypes": true,
    "ensureProduction": true,
    "optimization": {
      "minify": true,
      "treeshake": true,
      "splitChunks": true,
      "imageOptimization": true
    },
    "requirements": {
      "noConsole": "warn",
      "noDebugger": "error",
      "noDuplicateImports": true,
      "noUnusedExports": true
    },
    "checks": {
      "typescript": true,
      "lint": true,
      "test": true,
      "bundle": true
    }
  },
  "nextjs": {
    "features": {
      "serverComponents": true,
      "serverActions": true,
      "appRouter": true,
      "imageOptimization": true,
      "incrementalStaticRegeneration": true
    },
    "performance": {
      "reactStrictMode": true,
      "optimizeFonts": true,
      "optimizeImages": true,
      "swcMinify": true
    }
  },
  "firebase": {
    "features": {
      "auth": true,
      "firestore": true,
      "storage": true,
      "analytics": true
    },
    "requirements": {
      "securityRules": true,
      "indexes": true,
      "backups": true
    }
  },
  "deployment": {
    "platform": "vercel",
    "requirements": {
      "environmentVariables": true,
      "buildOptimization": true,
      "edgeFunction": true
    }
  },
  "accessibility": {
    "wcag": "2.1",
    "level": "AA",
    "requirements": {
      "aria": true,
      "contrast": true,
      "keyboard": true,
      "screenReader": true
    }
  },
  "seo": {
    "requirements": {
      "metadata": true,
      "openGraph": true,
      "schema": true,
      "sitemap": true,
      "robots": true
    }
  }
}
```
└── πŸ“akwracing
        └── extensions.json
    └── πŸ“app
        └── πŸ“(dashboard)
            └── πŸ“(routes)
                └── πŸ“equipment
                    └── page.tsx
        └── πŸ“admin
            └── πŸ“academy
                └── πŸ“course-management
                    └── πŸ“[courseId]
                        └── πŸ“edit
                            └── page.tsx
                    └── πŸ“components
                    └── πŸ“new
                        └── page.tsx
                    └── page.tsx
                └── πŸ“enrollment-management
                    └── page.tsx
                └── πŸ“enrollments
                    └── page.tsx
                └── πŸ“equipment
                └── πŸ“instructor-management
                    └── πŸ“[instructorId]
                        └── πŸ“edit
                            └── page.tsx
                    └── πŸ“new
                        └── page.tsx
                    └── page.tsx
                └── πŸ“payments
                    └── page.tsx
                └── πŸ“students
                    └── page.tsx
                └── page.tsx
            └── πŸ“course-management
                └── πŸ“[courseId]
                    └── πŸ“edit
                        └── .DS_Store
                        └── edit-course-content.tsx
                        └── page.tsx
                    └── .DS_Store
                └── πŸ“[slug]
                    β”œβ”€β”€ edit
                └── πŸ“new
                    └── page.tsx
                └── .DS_Store
                └── page.tsx
            └── πŸ“equipment
                └── πŸ“[id]
                    └── equipment-form.tsx
                    └── page.tsx
                └── page.tsx
            └── πŸ“settings
                └── πŸ“features
                    └── page.tsx
                └── πŸ“roles
                    └── page.tsx
            └── πŸ“students
                └── πŸ“all
                    └── page.tsx
                └── πŸ“parents
                    └── page.tsx
                └── πŸ“reports
                    └── page.tsx
            └── πŸ“team-management
                └── πŸ“[memberId]
                    └── πŸ“edit
                        └── page.tsx
                └── πŸ“[teamMemberId]
                    β”œβ”€β”€ edit
                └── πŸ“new
                    └── page.tsx
                └── page.tsx
            └── .DS_Store
            └── layout.tsx
            └── page.tsx
        └── πŸ“api
            └── πŸ“email
                └── πŸ“send
                    └── route.ts
            └── πŸ“payment
                └── πŸ“process
                    └── route.ts
        └── πŸ“calendar
            └── page.tsx
        └── πŸ“courses
            └── πŸ“[courseName]
                └── page.tsx
            └── πŸ“[slug]
            └── page.tsx
        └── πŸ“facilities
            └── page.tsx
        └── πŸ“instructors
            └── πŸ“[instructorId]
                └── page.tsx
            └── page.tsx
        └── πŸ“team
            └── πŸ“[memberId]
            └── page.tsx
        └── .DS_Store
        └── globals.css
        └── layout.tsx
        └── page.tsx
    └── πŸ“components
        └── πŸ“admin
            └── πŸ“courses
            └── add-course.tsx
            └── course-form.tsx
            └── course-management.tsx
            └── enrollment-management.tsx
            └── equipment-management.tsx
            └── instructor-form.tsx
            └── instructor-management.tsx
            └── left-menu.tsx
            └── parent-list.tsx
            └── role-management.tsx
            └── student-list.tsx
            └── student-management.tsx
            └── team-form.tsx
            └── team-management.tsx
        └── πŸ“auth
            └── admin-guard.tsx
            └── auth-buttons.tsx
            └── sign-in-dialog.tsx
            └── sign-up-dialog.tsx
            └── user-nav.tsx
        └── πŸ“brands
            └── manage-brands.tsx
        └── πŸ“categories
            └── manage-categories.tsx
        └── πŸ“courses
            └── course-card.tsx
            └── course-details.tsx
        └── πŸ“enrollment
            └── enrollment-flow.tsx
            └── parent-form.tsx
            └── student-form.tsx
        └── πŸ“equipment
            └── brand-manager.tsx
            └── category-manager.tsx
            └── equipment-form.tsx
            └── equipment-grid.tsx
            └── equipment-table.tsx
            └── sale-lease-switch.tsx
            └── view-toggle.tsx
        └── πŸ“facilities
            └── facility-card.tsx
            └── hero-section.tsx
        └── πŸ“footer
            └── bottom-bar.tsx
            └── brand.tsx
            └── contact-info.tsx
            └── copyright.tsx
            └── index.tsx
            └── legal-links.tsx
            └── newsletter-form.tsx
            └── newsletter-section.tsx
            └── quick-links.tsx
            └── social-links.tsx
        └── πŸ“layout
            └── sidebar.tsx
        └── πŸ“navigation
            └── top-menu.tsx
        └── πŸ“payment
            └── payment-form.tsx
            └── payment-notification.tsx
        └── πŸ“providers
        └── πŸ“sections
            └── about.tsx
            └── benefits.tsx
            └── contact.tsx
            └── facilities.tsx
            └── hero.tsx
            └── instructors.tsx
            └── programs.tsx
            └── safety.tsx
            └── team.tsx
        └── πŸ“team
            └── team-member-card.tsx
            └── team-member-grid.tsx
        └── πŸ“ui
            └── accordion.tsx
            └── alert-dialog.tsx
            └── alert.tsx
            └── aspect-ratio.tsx
            └── avatar.tsx
            └── badge.tsx
            └── breadcrumb.tsx
            └── button.tsx
            └── calendar.tsx
            └── card.tsx
            └── carousel.tsx
            └── chart.tsx
            └── checkbox.tsx
            └── collapsible.tsx
            └── command.tsx
            └── context-menu.tsx
            └── data-table.tsx
            └── date-range-picker.tsx
            └── dialog.tsx
            └── drawer.tsx
            └── dropdown-menu.tsx
            └── editor.tsx
            └── file-dialog.tsx
            └── file-upload.tsx
            └── form-input.tsx
            └── form.tsx
            └── hover-card.tsx
            └── image-upload.tsx
            └── input-otp.tsx
            └── input.tsx
            └── label.tsx
            └── manage-items.tsx
            └── menubar.tsx
            └── navigation-menu.tsx
            └── pagination.tsx
            └── popover.tsx
            └── progress.tsx
            └── racing-icon-selector.tsx
            └── radio-group.tsx
            └── resizable.tsx
            └── rich-text-editor.tsx
            └── scroll-area.tsx
            └── select.tsx
            └── separator.tsx
            └── sheet.tsx
            └── skeleton.tsx
            └── slider.tsx
            └── sonner.tsx
            └── switch.tsx
            └── table.tsx
            └── tabs.tsx
            └── textarea.tsx
            └── toast.tsx
            └── toaster.tsx
            └── toggle-group.tsx
            └── toggle.tsx
            └── tooltip.tsx
            └── use-toast.ts
            └── user-menu.tsx
            └── user-nav-menu.tsx
        └── editor.tsx
        └── footer.tsx
        └── image-upload.tsx
        └── navigation.tsx
        └── theme-provider.tsx
        └── tiptap.tsx
    └── πŸ“contexts
        └── auth-context.tsx
        └── features-context.tsx
    └── πŸ“functions
        └── πŸ“src
            └── index.ts
    └── πŸ“hooks
        └── use-auth.ts
        └── use-toast.ts
    └── πŸ“lib
        └── πŸ“config
            └── menu-items.ts
        └── πŸ“constants
            └── icons.ts
        └── πŸ“contexts
        └── πŸ“firebase
            └── config.ts
        └── πŸ“hooks
        └── πŸ“services
            └── course-service.ts
            └── email-service.ts
            └── enrollment-service.ts
            └── equipment-service.ts
            └── instructor-service.ts
            └── payment-service.ts
            └── role-service.ts
            └── student-service.ts
            └── user-service.ts
        └── πŸ“utils
            └── slug.ts
        └── auth.ts
        └── firebase.ts
        └── utils.ts
    └── πŸ“pages
        └── πŸ“admin
            └── πŸ“equipment
            └── brands.tsx
        └── πŸ“equipment
            └── πŸ“[id]
                └── edit.tsx
            └── new.tsx
        └── your-page.tsx
    └── πŸ“providers
        └── query-provider.tsx
    └── πŸ“public
        └── πŸ“images
            └── .DS_Store
            └── akwracingheadquarters.jpg
            └── akwracingtrailor.jpg
            └── HomesteadTrack.jpg
            └── kartsimpro.jpg
            └── PiquetTrack.webp
            └── wilma.webp
        └── .DS_Store
        └── AKWacademylogo.png
    └── πŸ“types
        └── course.ts
        └── email.ts
        └── equipment.ts
        └── firebase.ts
        └── instructor.ts
        └── next.ts
        └── role.ts
        └── student.ts
        └── user.ts
    └── .cursorrules
    └── .DS_Store
    └── .env
    └── .env.local
    └── .eslintrc.json
    └── .gitignore
    └── components.json
    └── firebase-debug.log
    └── firebase.json
    └── firestore.indexes.json
    └── firestore.rules
    └── middleware.ts
    └── next-env.d.ts
    └── next.config.js
    └── package-lock.json
    └── package.json
    └── postcss.config.js
    └── storage.rules
    └── tailwind.config.ts
    └── tsconfig.json
```
analytics
bun
css
cypress
eslint
firebase
golang
javascript
+10 more

First seen in:

mserralta01/akwracing

Used in 1 repository

TypeScript
{
  "name": "senior_frontend_guidelines",
  "description": "Guidelines for a Senior Front-End Developer to ensure consistent and high-quality code across projects.",
  "rules": {
    "general_approach": {
      "understand_requirements": [
        "Analyze the user’s needs in detail.",
        "Break down the requirements into actionable steps."
      ],
      "plan_and_write_pseudocode": [
        "Write detailed pseudocode or a clear step-by-step plan before coding.",
        "Confirm the plan with the user before proceeding."
      ],
      "write_complete_code": [
        "Ensure adherence to best practices, the DRY principle, and accessibility standards.",
        "Focus on producing clean, readable, and functional code."
      ],
      "verify_and_finalize": [
        "Conduct thorough reviews to ensure the code is bug-free and meets requirements.",
        "Include all necessary imports and logical naming conventions."
      ]
    },
    "coding_environment": [
      "ReactJS",
      "NextJS",
      "JavaScript",
      "TypeScript",
      "TailwindCSS",
      "HTML",
      "CSS"
    ],
    "code_implementation_guidelines": {
      "writing_code": [
        "Use early returns to simplify conditionals and enhance readability.",
        "Style HTML elements using TailwindCSS classes; avoid inline styles or CSS files.",
        "Replace the tertiary operator with 'class:' syntax in conditional class tags.",
        "Use const declarations for functions and variables wherever possible."
      ],
      "naming_conventions": [
        "Use descriptive names for variables, constants, and functions.",
        "Event handler functions must have a 'handle' prefix, e.g., handleClick or handleSubmit."
      ],
      "accessibility": [
        "Include features like aria-label, tabindex, and keyboard event handling.",
        "Ensure all components meet accessibility standards."
      ],
      "semantic_html": [
        "Use semantic HTML elements like <header>, <main>, <section>, <footer>, and <article>."
      ],
      "error_handling": [
        "Implement loading and error states in all data-fetching components.",
        "Use robust error-handling mechanisms and log errors for debugging."
      ],
      "component_guidelines": [
        "Minimize the usage of 'use client'; use it only for small, isolated components.",
        "Prefer React Server Components and SSR for optimal performance."
      ],
      "delivering_complete_solutions": [
        "Leave no TODOs, placeholders, or missing functionality in the code.",
        "Ensure all user requirements are met, and no edge cases are overlooked."
      ]
    }
  }
}
css
java
javascript
next.js
react
tailwindcss
typescript

First seen in:

ecremmoce-dev/zalpanda

Used in 1 repository

TypeScript
{
  "version": "1.0.0",
  "project": {
    "name": "olympus-meet",
    "root": ".",
    "framework": "next@13",
    "typescript": true
  },
  "architecture": {
    "type": "feature-based",
    "enforce_boundaries": true
  },
  "features": {
    "base_path": "./components",
    "enforce_isolation": true,
    "modules": [
      "video-conference",
      "chat",
      "auth",
      "device-settings"
    ]
  },
  "stack": {
    "next": "13",
    "react": "18",
    "typescript": true,
    "state": "zustand",
    "ui": "shadcn"
  },
  "editor": {
    "format_on_save": true,
    "organize_imports": true,
    "suggest_types": true,
    "suggest_refactorings": true
  },
  "typescript": {
    "strict": true,
    "no_implicit_any": true,
    "no_explicit_any": true,
    "enforce_types": true,
    "enforce_return_types": true
  },
  "state_management": {
    "framework": "zustand",
    "enforce_immutability": true,
    "use_immer": true,
    "enforce_shallow": true
  },
  "analysis": {
    "enforce_patterns": true,
    "suggest_fixes": true,
    "detect_anti_patterns": true
  },
  "paths": {
    "enforce_aliases": true,
    "aliases": [
      { "alias": "@", "path": "./" },
      { "alias": "@components", "path": "./components" },
      { "alias": "@store", "path": "./store" },
      { "alias": "@lib", "path": "./lib" }
    ]
  },
  "components": {
    "default_type": "client",
    "enforce_types": true,
    "enforce_props": true,
    "prefer_functional": true,
    "require_docs": true
  },
  "documentation": {
    "require_component_docs": true,
    "require_store_docs": true,
    "docs_path": "./docs"
  },
  "testing": {
    "framework": "jest",
    "enforce_tests": true,
    "coverage_threshold": 80
  },
  "performance": {
    "enforce_memoization": true,
    "check_re_renders": true,
    "analyze_bundle_size": true
  },
  "errors": {
    "enforce_boundaries": true,
    "require_typing": true,
    "enforce_handling": true
  }
}

bun
css
dockerfile
javascript
jest
react
shadcn/ui
shell
+2 more

First seen in:

TribeMedia/olympus-meet

Used in 1 repository

TypeScript
You are an expert in React Router v7, Supabase, TailwindCSS, and TypeScript,
focusing on scalable web development.

**Key Principles**

- Provide clear, precise React Router v7 and TypeScript examples.
- Apply immutability and pure functions where applicable.
- Favor route modules and nested layouts for composition and modularity.
- Use meaningful variable names (e.g., `isAuthenticated`, `userRole`).
- Always use kebab-case for file names (e.g., `user-profile.tsx`).
- Prefer named exports for loaders, actions, and components.

**TypeScript & React Router v7**

- Define data structures with interfaces for type safety.
- Avoid the `any` type, fully utilize TypeScript's type system.
- Organize files: imports, loaders/actions, component logic.
- Use template strings for multi-line literals.
- Utilize optional chaining and nullish coalescing.
- Use nested layouts and dynamic routes where applicable.
- Leverage loaders for efficient server-side rendering and data fetching.
- Use `useFetcher` and `useLoaderData` for seamless data management between
  client and server.

**File Naming Conventions**

- `*.tsx` for React components
- `*.ts` for utilities, types, and configurations
- `root.tsx` for the root layout
- All files use kebab-case.

**Code Style**

- Use single quotes for string literals.
- Indent with 2 spaces.
- Ensure clean code with no trailing whitespace.
- Use `const` for immutable variables.
- Use template strings for string interpolation.

**React Router v7-Specific Guidelines**

- Use `<Link>` for navigation, avoiding full page reloads.
- Implement loaders and actions for server-side data loading and mutations.
- Ensure accessibility with semantic HTML and ARIA labels.
- Leverage route-based loading, error boundaries, and catch boundaries.
- Use the `useFetcher` hook for non-blocking data updates.
- Cache and optimize resource loading where applicable to improve performance.

**Import Order**

1. React Router v7 core modules
2. React and other core libraries
3. Third-party packages
4. Application-specific imports
5. Environment-specific imports
6. Relative path imports

**Error Handling and Validation**

- Implement error boundaries for catching unexpected errors.
- Use custom error handling within loaders and actions.
- Validate user input on both client and server using formData or JSON.

**Testing**

- Use `@testing-library/react` for component testing.
- Write tests for loaders and actions ensuring data correctness.
- Mock fetch requests and responses where applicable.

**Performance Optimization**

- Prefetch routes using `<Link prefetch="intent">` for faster navigation.
- Defer non-essential JavaScript using `<Scripts defer />`.
- Optimize nested layouts to minimize re-rendering.
- Use React Router v7's built-in caching and data revalidation to optimize
  performance.

**Security**

- Prevent XSS by sanitizing user-generated content.
- Use React Router v7's CSRF protection for form submissions.
- Handle sensitive data on the server, never expose in client code.

**Key Conventions**

- Use React Router v7's loaders and actions to handle server-side logic.
- Focus on reusability and modularity across routes and components.
- Follow React Router v7’s best practices for file structure and data fetching.
- Optimize for performance and accessibility.

**Reference** Refer to React Router v7’s official documentation for best
practices in Routes, Loaders, and Actions.

React Router v7 is a successor to Remix v2. There are some similarities, but
there are also some differences. Mainly the imports are just from react-router
now. do not replace react-router, imports with remix-run, imports that is
incorrect. Do not do that.
css
java
javascript
less
nestjs
react
remix
supabase
+2 more
bcbrian/evil-giraffe-infinity

Used in 1 repository