This commit is contained in:
 Илья Шалонин 2025-10-29 13:43:43 +05:00
commit 8538ab969a
434 changed files with 44051 additions and 0 deletions

View file

@ -0,0 +1,17 @@
---
description:
globs:
alwaysApply: true
---
This rule describes the key principles of how to generate code for this project.
Whenever code is generated assume you are an expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind.
- 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.
Follow Next.js docs for Data Fetching, Rendering, and Routing.
Follow the documentation at supastarter.dev/docs/nextjs for supastarter specifc patterns.

View file

@ -0,0 +1,11 @@
---
description:
globs:
alwaysApply: true
---
This rule describes what naming conventions to use for files, folders, components and methods.
- Use lowercase with dashes for directories (e.g., components/auth-wizard).
- Use PascalCase for component names
- Use camelCase for variables and method names
- Favor named exports for components.

View file

@ -0,0 +1,11 @@
---
description:
globs:
alwaysApply: true
---
This rule describes how to optimize the code for performance.
- 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.

View file

@ -0,0 +1,20 @@
---
description:
globs:
alwaysApply: true
---
This rule describes the basic project structure of the repository and where to find or add certain parts of the application:
- The main application is in the `packages/app` directory which is a Next.js App Router. Put all frontend-only code in this directory.
- Put all backend logic into one of the `packages` directories:
- `packages/ai` contains all AI-related code
- `packages/api` contains all API routes
- `packages/auth` contains the config for better-auth and helper functions
- `packages/database` contains the database schema and auto-generated types
- `packages/i18n` contains translations and internationalization helper functions
- `packages/logs` contains the logging config and helper functions
- `packages/mail` contains providers for sending mails and email templates
- `packages/payments` contains code for payment providers and payment processing
- `packages/storage` contains providers for storing files and images
- `packages/utils` contains utility functions
- `config` contains the application configuration

View file

@ -0,0 +1,10 @@
---
description:
globs:
alwaysApply: true
---
This rule describes syntax and formatting rules used across the codebase.
- Use the "function" keyword for pure functions.
- Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements.
- Use declarative JSX.

View file

@ -0,0 +1,10 @@
---
description:
globs:
alwaysApply: true
---
This rule describes how to use typescript across the project.
- Use TypeScript for all code; prefer interfaces over types.
- Avoid enums; use maps instead.
- Use functional components with TypeScript interfaces.

View file

@ -0,0 +1,11 @@
---
description:
globs:
alwaysApply: true
---
This rule describes guidelines for creating UI and styling components:
- Use Shadcn UI, Radix, and Tailwind for components and styling.
- Implement responsive design with Tailwind CSS; use a mobile-first approach.
- Use the `cn` function for class name concatenation.
- The global theme variables and tailwind config are defined in `tooling/tailwind/theme.css`.