remcostoeten prisma .cursorrules file for TypeScript

<?xml version="1.0" encoding="UTF-8"?>
<cursor-rules>
    <directory-structure>
        <base-dir>src</base-dir>
        <rules>
            <rule id="use-src">All application code must be placed within the src directory</rule>
            <rule id="no-app-dir">Do not create files directly in app directory, use src/app instead</rule>
        </rules>
        
        <directories>
            <directory path="src/app">
                <description>Next.js app router pages and layouts</description>
                <patterns>
                    <pattern>src/app/**/(page|layout|loading|error).tsx</pattern>
                </patterns>
            </directory>
            
            <directory path="src/components">
                <description>React components</description>
                <subdirectories>
                    <directory>ui</directory>
                    <directory>layout</directory>
                    <directory>forms</directory>
                    <directory>shared</directory>
                </subdirectories>
            </directory>
            
            <directory path="src/core">
                <description>Core application code</description>
                <subdirectories>
                    <directory>config</directory>
                    <directory>types</directory>
                    <directory>utils</directory>
                    <directory>hooks</directory>
                </subdirectories>
            </directory>
            
            <directory path="src/styles">
                <description>Global styles and CSS modules</description>
            </directory>
            
            <directory path="src/lib">
                <description>Third-party library configurations</description>
            </directory>
        </directories>
    </directory-structure>

    <coding-standards>
        <typescript>
            <rule>Use type instead of interface</rule>
            <rule>Export types from dedicated type files</rule>
            <rule>Use proper type imports: import type { Type } from 'module'</rule>
        </typescript>

        <components>
            <rule>Use 'use client' directive for client components</rule>
            <rule>Export default for page components</rule>
            <rule>Use named exports for shared components</rule>
            <rule>Follow the pattern: export default function ComponentName({prop}: PropType)</rule>
        </components>

        <styles>
            <rule>Use Tailwind CSS for styling</rule>
            <rule>Group related Tailwind classes using cn utility</rule>
            <rule>Define custom classes in globals.css</rule>
        </styles>

        <naming>
            <rule>Use kebab-case for files</rule>
            <rule>Use PascalCase for components</rule>
            <rule>Use camelCase for functions and variables</rule>
        </naming>
    </coding-standards>

    <separation-of-concerns>
        <rule>Keep components pure and focused</rule>
        <rule>Separate business logic into hooks</rule>
        <rule>Keep configuration in dedicated config files</rule>
        <rule>Use proper type declarations in core/types</rule>
        <rule>Keep animations in shared/lib/animations</rule>
        <rule>Store constants in core/constants</rule>
    </separation-of-concerns>
</cursor-rules> 
css
javascript
next.js
python
react
scss
tailwindcss
typescript

First Time Repository

TypeScript

Languages:

CSS: 18.0KB
JavaScript: 3.5KB
Python: 4.2KB
SCSS: 0.6KB
TypeScript: 329.2KB
Created: 12/13/2024
Updated: 1/19/2025

All Repositories (1)