.cursorrules (deprecated)
rules/python-fastapi-scalable-api-cursorrules-prompt-fil/.cursorrules.cursorrules
Quality
50/100
Scores the file, not the repository.Length
527 words
0 headings · 0 code blocksRepository
26
— · pushed 679 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**.### Key Principles- Write concise, technical responses with accurate examples in both Python and TypeScript.- Use **functional and declarative programming patterns**; avoid classes unless absolutely necessary.- Prefer **iteration and modularization** over code duplication.- Use descriptive variable names with auxiliary verbs (e.g., `is_active`, `has_permission`, `isLoading`, `hasError`).- Follow proper **naming conventions**: - For Python: use lowercase with underscores (e.g., `routers/user_routes.py`). - For TypeScript: use lowercase with dashes for directories (e.g., `components/auth-wizard`).### Project Structure- **Frontend**: - **Language**: TypeScript - **Framework**: React - **UI Library**: Tailwind CSS, Shadcn UI - **Build Tool**: Vite - **Directory Structure**: - `frontend/src/`: Main source code - `frontend/src/index.html`: Main HTML file - Configuration Files: - `vite.config.ts` - `tsconfig.json` - `tailwind.config.js` - `postcss.config.js` - **Docker Files**: - `Dockerfile` - `Dockerfile.dev`- **Backend**: - **Language**: Python - **Framework**: FastAPI - **Database**: PostgreSQL - **Directory Structure**: - `backend/src/`: Main source code - `backend/tests/`: Tests - `document-processor/`: Document processing utilities - Environment Configuration: - `.env` / `.env.example`: Environment variables - Database Configuration: - `alembic.ini` - `ddialog.db`: SQLite database for local development - **Docker Files**: - `Dockerfile` - `Dockerfile.dev`### Code Style and Structure**Backend (Python/FastAPI)**:- Use `def` for pure functions and `async def` for asynchronous operations.- **Type Hints**: Use Python type hints for all function signatures. Prefer Pydantic models for input validation.- **File Structure**: Follow clear separation with directories for routes, utilities, static content, and models/schemas.- **RORO Pattern**: Use the "Receive an Object, Return an Object" pattern.- **Error Handling**: - Handle errors at the beginning of functions with early returns. - Use guard clauses and avoid deeply nested if statements. - Implement proper logging and custom error types.**Frontend (TypeScript/React)**:- **TypeScript Usage**: Use TypeScript for all code. Prefer interfaces over types. Avoid enums; use maps instead.- **Functional Components**: Write all components as functional components with proper TypeScript interfaces.- **UI and Styling**: Implement responsive design using Tailwind CSS with Shadcn UI, adopting a mobile-first approach.- **Performance**: - Minimize `use client`, `useEffect`, and `setState` hooks. Favor server-side rendering where possible. - Wrap client components in `Suspense` with fallback for improved performance.### Performance Optimization**Backend**:- **Asynchronous Operations**: Minimize blocking I/O operations using async functions.- **Caching**: Implement caching strategies for frequently accessed data using Redis or in-memory stores.- **Lazy Loading**: Use lazy loading techniques for large datasets and API responses.**Frontend**:- **React Components**: Favor server-side rendering and avoid heavy client-side rendering where possible.- **Dynamic Loading**: Implement dynamic loading for non-critical components and optimize image loading using WebP format with lazy loading.### Project Conventions**Backend**:1. Follow **RESTful API design principles**.2. Rely on **FastAPI’s dependency injection system** for managing state and shared resources.3. Use **SQLAlchemy 2.0** for ORM features, if applicable.4. Ensure **CORS** is properly configured for local development.5. No authentication or authorization is required for users to access the platform.**Frontend**:1. Optimize **Web Vitals** (LCP, CLS, FID).2. Limit `use client` hooks to small, specific components for Web API access.3. Use **Docker** for containerization and ensure easy deployment.### Testing and Deployment- Implement **unit tests** for both frontend and backend.- Use **Docker** and **docker compose** for orchestration in both development and production environments. Avoid using the obsolete `docker-compose` command.- Ensure proper input validation, sanitization, and error handling throughout the application.
Also in Qwertic/cursorrules
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 |
|---|---|---|---|---|---|
| Qwertic/cursorrulesrules/next-type-llm/.cursorrules · 26 | .cursorrules | security | 30/100 | 3 days ago | |
| Qwertic/cursorrulesrules/angular-typescript-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | testdocs | 34/100 | 3 days ago | |
| Qwertic/cursorrulesrules/ascii-simulation-game-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | no sections | 34/100 | 3 days ago | |
| Qwertic/cursorrulesrules/astro-typescript-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | git | 30/100 | 3 days ago | |
| Qwertic/cursorrulesrules/chrome-extension-dev-js-typescript-cursorrules-pro/.cursorrules · 26 | .cursorrules | style | 38/100 | 3 days ago | |
| Qwertic/cursorrulesrules/code-guidelines-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | styletesting-strategydo-notagent-behaviour | 41/100 | 3 days ago | |
| Qwertic/cursorrulesrules/cursor-ai-react-typescript-shadcn-ui-cursorrules-p/.cursorrules · 26 | .cursorrules | no sections | 16/100 | 3 days ago | |
| Qwertic/cursorrulesrules/cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup/.cursorrules · 26 | .cursorrules | setupbuildlint-formatstyle+8 | 62/100 | 3 days ago | |
| Qwertic/cursorrulesrules/deno-integration-techniques-cursorrules-prompt-fil/.cursorrules · 26 | .cursorrules | no sections | 16/100 | 3 days ago | |
| Qwertic/cursorrulesrules/dragonruby-best-practices-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | style | 34/100 | 3 days ago | |
| Qwertic/cursorrulesrules/elixir-engineer-guidelines-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | no sections | 16/100 | 3 days ago | |
| Qwertic/cursorrulesrules/github-code-quality-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | do-notagent-behaviour | 37/100 | 3 days ago | |
| Qwertic/cursorrulesrules/github-cursorrules-prompt-file-instructions/.cursorrules · 26 | .cursorrules | no sections | 26/100 | 3 days ago | |
| Qwertic/cursorrulesrules/go-backend-scalability-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | no sections | 40/100 | 3 days ago | |
| Qwertic/cursorrulesrules/go-servemux-rest-api-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | no sections | 30/100 | 3 days ago | |
| Qwertic/cursorrulesrules/graphical-apps-development-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | setupbuildstylearch+4 | 46/100 | 3 days ago | |
| Qwertic/cursorrulesrules/html-tailwind-css-javascript-cursorrules-prompt-fi/.cursorrules · 26 | .cursorrules | no sections | 30/100 | 3 days ago | |
| Qwertic/cursorrulesrules/javascript-astro-tailwind-css-cursorrules-prompt-f/.cursorrules · 26 | .cursorrules | do-not | 49/100 | 3 days ago | |
| Qwertic/cursorrulesrules/javascript-chrome-apis-cursorrules-prompt-file/.cursorrules · 26 | .cursorrules | no sections | 16/100 | 3 days ago | |
| Qwertic/cursorrulesrules/javascript-typescript-code-quality-cursorrules-pro/.cursorrules · 26 | .cursorrules | teststyletypesperformance+3 | 49/100 | 3 days ago |
Diff against rules/next-type-llm/.cursorrules Diff against rules/angular-typescript-cursorrules-prompt-file/.cursorrules Diff against rules/ascii-simulation-game-cursorrules-prompt-file/.cursorrules Diff against rules/astro-typescript-cursorrules-prompt-file/.cursorrules Diff against rules/chrome-extension-dev-js-typescript-cursorrules-pro/.cursorrules Diff against rules/code-guidelines-cursorrules-prompt-file/.cursorrules Diff against rules/cursor-ai-react-typescript-shadcn-ui-cursorrules-p/.cursorrules Diff against rules/cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup/.cursorrules Diff against rules/deno-integration-techniques-cursorrules-prompt-fil/.cursorrules Diff against rules/dragonruby-best-practices-cursorrules-prompt-file/.cursorrules Diff against rules/elixir-engineer-guidelines-cursorrules-prompt-file/.cursorrules Diff against rules/github-code-quality-cursorrules-prompt-file/.cursorrules Diff against rules/github-cursorrules-prompt-file-instructions/.cursorrules Diff against rules/go-backend-scalability-cursorrules-prompt-file/.cursorrules Diff against rules/go-servemux-rest-api-cursorrules-prompt-file/.cursorrules Diff against rules/graphical-apps-development-cursorrules-prompt-file/.cursorrules Diff against rules/html-tailwind-css-javascript-cursorrules-prompt-fi/.cursorrules Diff against rules/javascript-astro-tailwind-css-cursorrules-prompt-f/.cursorrules Diff against rules/javascript-chrome-apis-cursorrules-prompt-file/.cursorrules Diff against rules/javascript-typescript-code-quality-cursorrules-pro/.cursorrules
