.cursorrules (deprecated)
1/framework_rules/rules/python-fastapi-scalable-api-cursorrules-prompt-fil/.cursorrules.cursorrules
Quality
68/100
Scores the file, not the repository.Length
571 words
6 headings · 0 code blocksRepository
28
— · pushed 478 days agoLast changed
3 days ago
First indexed 3 days ago.1You are an expert in **Python, FastAPI, scalable API development, TypeScript, React, Tailwind,** and **Shadcn UI**.23### Key Principles45- Write concise, technical responses with accurate examples in both Python and TypeScript.6- Use **functional and declarative programming patterns**; avoid classes unless absolutely necessary.7- Prefer **iteration and modularization** over code duplication.8- Use descriptive variable names with auxiliary verbs (e.g., `is_active`, `has_permission`, `isLoading`, `hasError`).9- Follow proper **naming conventions**:10 - For Python: use lowercase with underscores (e.g., `routers/user_routes.py`).11 - For TypeScript: use lowercase with dashes for directories (e.g., `components/auth-wizard`).1213### Project Structure1415- **Frontend**:16 - **Language**: TypeScript17 - **Framework**: React18 - **UI Library**: Tailwind CSS, Shadcn UI19 - **Build Tool**: Vite20 - **Directory Structure**:21 - `frontend/src/`: Main source code22 - `frontend/src/index.html`: Main HTML file23 - Configuration Files:24 - `vite.config.ts`25 - `tsconfig.json`26 - `tailwind.config.js`27 - `postcss.config.js`28 - **Docker Files**:29 - `Dockerfile`30 - `Dockerfile.dev`3132- **Backend**:33 - **Language**: Python34 - **Framework**: FastAPI35 - **Database**: PostgreSQL36 - **Directory Structure**:37 - `backend/src/`: Main source code38 - `backend/tests/`: Tests39 - `document-processor/`: Document processing utilities40 - Environment Configuration:41 - `.env` / `.env.example`: Environment variables42 - Database Configuration:43 - `alembic.ini`44 - `ddialog.db`: SQLite database for local development45 - **Docker Files**:46 - `Dockerfile`47 - `Dockerfile.dev`4849### Code Style and Structure5051**Backend (Python/FastAPI)**:5253- Use `def` for pure functions and `async def` for asynchronous operations.54- **Type Hints**: Use Python type hints for all function signatures. Prefer Pydantic models for input validation.55- **File Structure**: Follow clear separation with directories for routes, utilities, static content, and models/schemas.56- **RORO Pattern**: Use the "Receive an Object, Return an Object" pattern.57- **Error Handling**:58 - Handle errors at the beginning of functions with early returns.59 - Use guard clauses and avoid deeply nested if statements.60 - Implement proper logging and custom error types.6162**Frontend (TypeScript/React)**:6364- **TypeScript Usage**: Use TypeScript for all code. Prefer interfaces over types. Avoid enums; use maps instead.65- **Functional Components**: Write all components as functional components with proper TypeScript interfaces.66- **UI and Styling**: Implement responsive design using Tailwind CSS with Shadcn UI, adopting a mobile-first approach.67- **Performance**:68 - Minimize `use client`, `useEffect`, and `setState` hooks. Favor server-side rendering where possible.69 - Wrap client components in `Suspense` with fallback for improved performance.7071### Performance Optimization7273**Backend**:7475- **Asynchronous Operations**: Minimize blocking I/O operations using async functions.76- **Caching**: Implement caching strategies for frequently accessed data using Redis or in-memory stores.77- **Lazy Loading**: Use lazy loading techniques for large datasets and API responses.7879**Frontend**:8081- **React Components**: Favor server-side rendering and avoid heavy client-side rendering where possible.82- **Dynamic Loading**: Implement dynamic loading for non-critical components and optimize image loading using WebP format with lazy loading.8384### Project Conventions8586**Backend**:87881. Follow **RESTful API design principles**.892. Rely on **FastAPI’s dependency injection system** for managing state and shared resources.903. Use **SQLAlchemy 2.0** for ORM features, if applicable.914. Ensure **CORS** is properly configured for local development.925. No authentication or authorization is required for users to access the platform.9394**Frontend**:95961. Optimize **Web Vitals** (LCP, CLS, FID).972. Limit `use client` hooks to small, specific components for Web API access.983. Use **Docker** for containerization and ensure easy deployment.99100### Testing and Deployment101102- Implement **unit tests** for both frontend and backend.103- Use **Docker** and **docker compose** for orchestration in both development and production environments. Avoid using the obsolete `docker-compose` command.104- Ensure proper input validation, sanitization, and error handling throughout the application.105106
Also in paulpham157/paul-s-cursor-rules
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/react-styled-components-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | style | 42/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/react-typescript-nextjs-nodejs-cursorrules-prompt-/.cursorrules · 28 | .cursorrules | style | 44/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/.cursorrules · 28 | .cursorrules | docs | 34/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/android-jetpack-compose-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testing-strategy | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/angular-novo-elements-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstylearch+3 | 70/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/angular-typescript-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | teststyledocs | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/ascii-simulation-game-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | no sections | 34/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/aspnet-abp-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstylearch+5 | 70/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/astro-typescript-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | git | 30/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/chrome-extension-dev-js-typescript-cursorrules-pro/.cursorrules · 28 | .cursorrules | style | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cpp-programming-guidelines-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | teststylearchperformance | 68/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursor-ai-react-typescript-shadcn-ui-cursorrules-p/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup/.cursorrules · 28 | .cursorrules | styletypesuido-not | 65/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursorrules-cursor-ai-wordpress-draft-macos-prompt/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursorrules-file-cursor-ai-python-fastapi-api/.cursorrules · 28 | .cursorrules | styletypes | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/deno-integration-techniques-cursorrules-prompt-fil/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/dragonruby-best-practices-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | style | 34/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/drupal-11-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | style | 46/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/elixir-engineer-guidelines-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/elixir-phoenix-docker-setup-cursorrules-prompt-fil/.cursorrules · 28 | .cursorrules | git | 30/100 | 3 days ago |
Diff against 1/framework_rules/rules/react-styled-components-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/react-typescript-nextjs-nodejs-cursorrules-prompt-/.cursorrules Diff against 1/framework_rules/.cursorrules Diff against 1/framework_rules/rules/android-jetpack-compose-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/angular-novo-elements-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/angular-typescript-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/ascii-simulation-game-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/aspnet-abp-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/astro-typescript-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/chrome-extension-dev-js-typescript-cursorrules-pro/.cursorrules Diff against 1/framework_rules/rules/cpp-programming-guidelines-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/cursor-ai-react-typescript-shadcn-ui-cursorrules-p/.cursorrules Diff against 1/framework_rules/rules/cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup/.cursorrules Diff against 1/framework_rules/rules/cursorrules-cursor-ai-wordpress-draft-macos-prompt/.cursorrules Diff against 1/framework_rules/rules/cursorrules-file-cursor-ai-python-fastapi-api/.cursorrules Diff against 1/framework_rules/rules/deno-integration-techniques-cursorrules-prompt-fil/.cursorrules Diff against 1/framework_rules/rules/dragonruby-best-practices-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/drupal-11-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/elixir-engineer-guidelines-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/elixir-phoenix-docker-setup-cursorrules-prompt-fil/.cursorrules
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| SkeneTechnologies/skene-cookbook.cursorrules · 51 | .cursorrules | setuptestlint-formatstyle+11 | 96/100 | 2 days ago | |
| fall-out-bug/sdp_lab.cursorrules · 0 | .cursorrules | setupbuildtestlint-format+3 | 86/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/python-llm-ml-workflow-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstyletypes+4 | 80/100 | 3 days ago | |
| storybookjs/storybook.cursorrules · 91k | .cursorrules | teststylearchdo-not+1 | 78/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/flutter-riverpod-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | stylearchdo-notagent-behaviour | 71/100 | 3 days ago | |
| forem/forem.cursorrules · 23k | .cursorrules | teststyletypesdatabase+4 | 71/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/angular-novo-elements-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstylearch+3 | 70/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/nextjs-supabase-shadcn-pwa-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | buildstylearchdo-not | 70/100 | 3 days ago |
