rbansal42 real-estate-crm .cursorrules file for TypeScript

# Project
- This is a Real Estate CRM.
- It will be used to manage leads, teams, and properties.
- It has an import feature to import leads from CSV from various sources like MagicBricks, 99acres, etc.
- It has a lead management feature to manage leads.
- It has a team management feature to manage teams.
- It has a property management feature to manage properties.

# Design System
- Use Lucide Icons for all icons
- Use hsl values for all colors
- There will be a light and dark theme.
- Use indigo-500 as primary color
- Use blue-500 as secondary color
- Use shadcn/ui for all components

# Guidelines
- Use onPress instead of onClick for all components except for shadcn/ui components.
- Use App Router
- Use Next.js Link component for all internal links.
- Use Next.js Image component for all images.
- Use constants/dummyData/* for dummy data.
- Always use logging to keep track of all events and actions. This will help in debugging and tracking. it will be removed in production.
- Use version control system to manage code.

# Guidelines for response
- Go through the context and guidelines before responding
- If you are not sure about context, guidelines, project, or something, ask the user for clarification
- Always build 1 feature at a time, and buil it complete. Resolve all dependencies

# Version Control System
- Use Git to manage code
- Use GitHub to host code
- Use atomic commits
- Use feature branches
- Automatically make atomic commits when you are done with a feature
- Automatically create branches when you start working on a new feature

# Terminal Guidelines
- Format for adding shadcn/ui components:
  `npx shadcn@latest add <component-name>`
- Commands should be escaped or in quotes if they contain special characters.

# UI Guidelines
- There should be a consistent color palette
- There should be a consistent typography
  - Use Work Sans as the font family (https://fonts.google.com/specimen/Work+Sans)
- There should be a consistent layout
- Elements should be responsive and consistent. Should be mobile friendly.

## UX
- Destructive actions should have a confirmation dialog
- Tables
  - Table should have a pagination component with options to change the number of rows per page and to jump to a specific page
  - Table should have a search input
  - Table should have a filter component
  - Table should have a sort component
  - Table should have a column header component
  - Table should have a column data component
  - Table should have a row component
  - Table should have a cell component
  - Table should have a column for action buttons on the rightmost side of the rows
  - Table should have a checkbox for each row
  - Table should allow bulk actions

# Code Generation
- Page dependencies should be organized in separate directories and imported as needed:
  - Components → /components
  - Hooks → /hooks
  - Contexts → /contexts
  - Utilities → /utils
  - Services → /services (including API calls and external data handling)
Create these dependencies if they don't exist in their respective directories.
- Verify that the package.json should have all the dependencies and dev dependencies before importing them anywhere.
css
golang
javascript
next.js
plpgsql
shadcn/ui
typescript

First Time Repository

TypeScript

Languages:

CSS: 1.5KB
JavaScript: 0.5KB
PLpgSQL: 9.9KB
TypeScript: 381.1KB
Created: 12/22/2024
Updated: 12/31/2024

All Repositories (1)