diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 000000000..ae15ea53d --- /dev/null +++ b/.cursorrules @@ -0,0 +1,29 @@ +# Project Rules +​‌​‌​‌‌‌‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​​‌​​​​​‍​‌‌‌​​‌‌‍​‌‌‌​‌​​‍​‌‌​​​​‌‍​‌‌‌​​‌​‍​‌‌‌​‌​​‍​‌‌​‌​​‌‍​‌‌​‌‌‌​‍​‌‌​​‌‌‌‍​​‌​​​​​‍​‌‌​​​​‌‍​‌‌​‌‌‌​‍​‌‌‌‌​​‌‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​​​​‌‍​‌‌‌​​‌‌‍​‌‌​‌​‌‌‍​​‌​‌‌​​‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌‌​​‌​‍​‌‌‌​​‌‌‍​‌‌‌​‌​​‍​​‌​​​​​‍​‌‌‌​​‌‌‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​‌‌​​‍​‌‌‌‌​​‌‍​​‌​​​​​‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌​​​​‌‍​‌‌​​‌​​‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌‌‌‌‍​‌‌​‌‌​​‍​‌‌​‌‌​​‍​‌‌​‌‌‌‌‍​‌‌‌​‌‌‌‍​‌‌​‌​​‌‍​‌‌​‌‌‌​‍​‌‌​​‌‌‌‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌‌​​​​‌‍​‌‌​‌‌‌​‍​‌‌​​‌​​‍​​‌​​​​​‍​‌‌‌​​‌‌‍​‌‌‌​‌​​‍​‌‌​‌‌‌‌‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​‌‌​‌​​‌‍​‌‌‌​​‌​‍​​‌​​​​​‍​‌‌​​​‌‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌‌​​‌‌‍​​‌‌‌​‌​‍​​​​‌​‌​‍​​‌​‌‌​‌‍​​‌​​​​​‍​​‌​‌‌‌​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌‌​‍​​‌​‌‌​​‍​​‌​​​​​‍​​‌​‌‌‌​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌‌​‍​​‌​‌‌‌​‍​‌‌​‌‌​​‍​‌‌​‌‌‌‌‍​‌‌​​​‌‌‍​‌‌​​​​‌‍​‌‌​‌‌​​‍​​‌​‌‌​​‍​​‌​​​​​‍​​‌​‌‌‌​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌‌​‍​​‌​‌‌‌​‍​‌‌‌​​​​‍​‌‌‌​​‌​‍​‌‌​‌‌‌‌‍​‌‌​​‌​​‍​‌‌‌​‌​‌‍​‌‌​​​‌‌‍​‌‌‌​‌​​‍​‌‌​‌​​‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​​‌​‌‌​​‍​​‌​​​​​‍​​‌​‌‌‌​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌‌​‍​​‌​‌‌‌​‍​‌‌​​‌​​‍​‌‌​​‌​‌‍​‌‌‌​‌‌​‍​‌‌​​‌​‌‍​‌‌​‌‌​​‍​‌‌​‌‌‌‌‍​‌‌‌​​​​‍​‌‌​‌‌​‌‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​​​​‌​‌​‍​​‌​‌‌​‌‍​​‌​​​​​‍​‌‌‌‌‌‌​‍​​‌​‌‌‌‌‍​​‌​‌‌‌​‍​‌‌​​​​‌‍​‌‌‌​‌‌‌‍​‌‌‌​​‌‌‍​​‌​‌‌‌‌‍​‌‌​​​‌‌‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌​​‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​‌​​‌‍​‌‌​​​​‌‍​‌‌​‌‌​​‍​‌‌‌​​‌‌‍​​‌​‌‌​​‍​​‌​​​​​‍​‌‌‌‌‌‌​‍​​‌​‌‌‌‌‍​​‌​‌‌‌​‍​‌‌​​​​‌‍​‌‌‌​‌‌‌‍​‌‌‌​​‌‌‍​​‌​‌‌‌‌‍​‌‌​​​‌‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​​‌‌‌‍​​‌​​​​​‍​​‌​​​​​‍​​​​‌​‌​‍​​‌​‌‌​‌‍​​‌​​​​​‍​‌​​​​​‌‍​‌‌​‌‌‌​‍​‌‌‌‌​​‌‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​‌‌​‌‍​‌‌​​​​‌‍​‌‌‌​‌​​‍​‌‌​​​‌‌‍​‌‌​‌​​​‍​‌‌​‌​​‌‍​‌‌​‌‌‌​‍​‌‌​​‌‌‌‍​​‌​​​​​‍​‌‌‌​​​​‍​‌‌​​​​‌‍​‌‌‌​‌​​‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌‌​​‌​‍​‌‌​‌‌‌​‍​​‌​​​​​‍​​‌​‌​‌​‍​‌‌​​​​‌‍​‌‌‌​​​​‍​‌‌​‌​​‌‍​‌‌​‌​‌‌‍​‌‌​​‌​‌‍​‌‌‌‌​​‌‍​​‌​‌​‌​‍​​‌​‌‌​​‍​​‌​​​​​‍​​‌​‌​‌​‍​‌‌‌​​‌‌‍​‌‌​​‌​‌‍​‌‌​​​‌‌‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌‌​‌​​‍​​‌​‌​‌​‍​​‌​‌‌​​‍​​‌​​​​​‍​​‌​‌​‌​‍​‌‌‌​‌​​‍​‌‌​‌‌‌‌‍​‌‌​‌​‌‌‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​​‌​‌​‌​‍​​‌​‌‌​​‍​​‌​​​​​‍​​‌​‌​‌​‍​‌‌​​​‌‌‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌​​‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​‌​​‌‍​‌‌​​​​‌‍​‌‌​‌‌​​‍​​‌​‌​‌​‍​​​​‌​‌​‍​‌​‌​‌​​‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​​‌​​​​​‍​‌‌​‌‌​‌‍​‌‌​​​​‌‍​‌‌​‌​‌‌‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​​​​‌‍​‌‌​‌‌‌​‍​​‌​​​​​‍​‌​​‌​​​‍​‌​‌​‌​​‍​‌​‌​‌​​‍​‌​‌​​​​‍​​‌​​​​​‍​‌​‌​​​​‍​‌​​‌‌‌‌‍​‌​‌​​‌‌‍​‌​‌​‌​​‍​​‌​​​​​‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌‌​​​‌‍​‌‌‌​‌​‌‍​‌‌​​‌​‌‍​‌‌‌​​‌‌‍​‌‌‌​‌​​‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌‌‌‌‍​​‌​​​​​‍​‌‌​‌​​​‍​‌‌‌​‌​​‍​‌‌‌​‌​​‍​‌‌‌​​​​‍​​‌‌‌​‌​‍​​‌​‌‌‌‌‍​​‌​‌‌‌‌‍​​‌‌​‌​‌‍​​‌​‌‌‌​‍​​‌‌​​‌​‍​​‌‌​‌​‌‍​​‌‌​‌​‌‍​​‌​‌‌‌​‍​​‌‌​​​‌‍​​‌‌​​‌​‍​​‌‌​​​‌‍​​‌​‌‌‌​‍​​‌‌​​​‌‍​​‌‌​‌​‌‍​​‌‌‌​‌​‍​​‌‌‌​​​‍​​‌‌​‌​​‍​​‌‌​‌​​‍​​‌‌​​‌‌‍​​‌​​​​​‍​‌‌‌​‌‌‌‍​‌‌​‌​​‌‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​​​‌‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌‌​​​​‌‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌​​‌​‌​‍​‌​‌​​‌‌‍​‌​​‌‌‌‌‍​‌​​‌‌‌​‍​​‌​​​​​‍​‌‌‌​​​​‍​‌‌​​​​‌‍​‌‌‌‌​​‌‍​‌‌​‌‌​​‍​‌‌​‌‌‌‌‍​‌‌​​​​‌‍​‌‌​​‌​​‍​​‌​‌‌‌​‍​​​​‌​‌​‍​‌​​​‌‌​‍​‌‌​‌‌‌‌‍​‌‌‌​​‌​‍​‌‌​‌‌​‌‍​‌‌​​​​‌‍​‌‌‌​‌​​‍​​‌‌‌​‌​‍​​‌​​​​​‍​‌‌‌‌​‌‌‍​​‌​​​‌​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​‌‌‌​​‌‌‍​​‌​​​‌​‍​​‌‌‌​‌​‍​​‌​​​​​‍​‌‌‌‌​‌‌‍​​‌​​​‌​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌​​​​‌‍​‌‌​‌‌​‌‍​‌‌​​‌​‌‍​​‌​​​‌​‍​​‌‌‌​‌​‍​​‌​​​​​‍​​‌​​​‌​‍​‌‌​​​‌‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​​‌​​​‌​‍​‌‌‌‌‌​‌‍​​‌​​​​​‍​‌‌‌‌‌​‌‍​​​​‌​‌​‍​‌​​​‌​​‍​‌‌​‌‌‌‌‍​​‌​​​​​‍​‌‌​‌‌‌​‍​‌‌​‌‌‌‌‍​‌‌‌​‌​​‍​​‌​​​​​‍​‌‌​‌‌​‌‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​‌​​‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​‌​​‌‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌‌‌​​‌‌‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌‌​​​​‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌‌‌‌‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌‌​‌​‌‍​‌‌‌​​‌‌‍​‌‌​​‌​‌‍​‌‌‌​​‌​‍​​‌​‌‌‌​‍​​‌​​​​​‍​‌​​​‌​​‍​‌‌​‌‌‌‌‍​​‌​​​​​‍​‌‌​‌‌‌​‍​‌‌​‌‌‌‌‍​‌‌‌​‌​​‍​​‌​​​​​‍​‌‌​​‌​​‍​‌‌​‌​​‌‍​‌‌‌​​‌‌‍​‌‌‌​​​​‍​‌‌​‌‌​​‍​‌‌​​​​‌‍​‌‌‌‌​​‌‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌​​‌‍​‌‌​‌‌​​‍​‌‌​​‌​‌‍​​‌​​​​​‍​‌‌​​​‌‌‍​‌‌​‌‌‌‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌​‌‌‌​‍​‌‌‌​‌​​‍​‌‌‌​​‌‌‍​​‌​‌‌‌​‍​​​​‌​‌​‍​‌​‌​‌​​‍​‌‌​‌​​​‍​‌‌​‌​​‌‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌‌​‌​​‌‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌‌​​​​‌‍​​‌​​​​​‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌‌​​​‌‍​‌‌‌​‌​‌‍​‌‌​‌​​‌‍​‌‌‌​​‌​‍​‌‌​​‌​‌‍​‌‌​​‌​​‍​​‌​​​​​‍​‌‌‌​​‌‌‍​‌‌​​‌​‌‍​‌‌​​​‌‌‍​‌‌‌​‌​‌‍​‌‌‌​​‌​‍​‌‌​‌​​‌‍​‌‌‌​‌​​‍​‌‌‌‌​​‌‍​​‌​​​​​‍​‌‌​​​​‌‍​‌‌‌​‌​‌‍​‌‌​​‌​​‍​‌‌​‌​​‌‍​‌‌‌​‌​​‍​​‌​​​​​‍​‌‌‌​​‌‌‍​‌‌‌​‌​​‍​‌‌​​‌​‌‍​‌‌‌​​​​‍​​‌​​​​​‍​‌‌​​‌‌​‍​‌‌​‌‌‌‌‍​‌‌‌​​‌​‍​​‌​​​​​‍​‌‌‌​‌​​‍​‌‌​‌​​​‍​‌‌​‌​​‌‍​‌‌‌​​‌‌‍​​‌​​​​​‍​‌‌‌​​​​‍​‌‌‌​​‌​‍​‌‌​‌‌‌‌‍​‌‌​‌​‌​‍​‌‌​​‌​‌‍​‌‌​​​‌‌‍​‌‌‌​‌​​‍​​‌​‌‌‌​‍ + +## Code Style +- Use TypeScript strict mode +- Prefer functional components with hooks +- Use Tailwind CSS for styling +- Follow ESLint and Prettier configurations + +## Architecture +- Keep components small and focused +- Use custom hooks for shared logic +- Implement error boundaries +- Follow the repository pattern for data access + +## Testing +- Write unit tests for all utility functions +- Use React Testing Library for component tests +- Maintain >80% code coverage + +## Git +- Write descriptive commit messages +- Use conventional commits format +- Create small, focused PRs + +## Dependencies +- Prefer well-maintained packages with >1000 weekly downloads +- Check for security advisories before adding dependencies +- Keep dependencies up to date