рдЖрдк Cursor рдореЗрдВ рдПрдХ рдирдпрд╛ рдЪреИрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣реА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдмреНрд▓реЙрдХ рдкреЗрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рд╕реМ рдмрд╛рд░ рдкреЗрд╕реНрдЯ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рд╕реНрдЯреИрдХ, рдЖрдкрдХреА рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛рдПрдБ, рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛тАФрдЬрд┐рдиреНрд╣реЗрдВ AI рдмрд╛рд░-рдмрд╛рд░ рдЧрд▓рдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рд╡рд╣ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП 40-рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЪрд╛рд╣рд┐рдП рдерд╛ред
рдЕрдм рдЗрд╕ рдмреБрд░реЗ рд╕рдкрдиреЗ рд╕реЗ рдЬрд╛рдЧрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред Cursor рдирд┐рдпрдо рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдкреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмрдирд╛ рджреЗрддреА рд╣реИрдВред рдЕрдкрдиреА рдкрд░рдВрдкрд░рд╛рдПрдБ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦреЗрдВ, рдФрд░ AI рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЙрдирд╕реЗ рд▓рдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ FastAPI рдФрд░ pytest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ Python рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП .mdc рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрджрд░реНрдн, рдХреЛрдб рдХреА рд╕рд╛рджрдЧреА, рдФрд░ API рддреНрд░реБрдЯрд┐ рд╕реНрд╡рд░реВрдкрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрджрд┐ рдЖрдк Cursor рдХреЗ рд▓рд┐рдП рдирдП рд╣реИрдВ, рддреЛ рдореИрдВ рдкрд╣рд▓реЗ рд╣рдорд╛рд░рд╛ Software Development with Cursor рдХреЛрд░реНрд╕ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдБрдЧрд╛, рдлрд┐рд░ рдХреЛрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рд╛рде-рд╕рд╛рде рдЪрд▓реЗрдВред
Cursor рдирд┐рдпрдо рдХреНрдпрд╛ рд╣реИрдВ?
Cursor рдирд┐рдпрдо MDC-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлреНрд░рдВрдЯрдореИрдЯрд░ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ .cursor/rules/ рдкрд░ рд░рд╣рддреА рд╣реИрдВред рдЖрдкрдХреЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рдореЙрдбрд▓ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, Cursor рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреМрди-рд╕реЗ рдирд┐рдпрдо рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ context window рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреА рдирд┐рд░реНрджреЗрд╢рд╛рдПрдБ рд╣рд░ рдмрд╛рд░ рд╕рдмрд╕реЗ рдЖрдЧреЗ рдкрд╣реБрдБрдЪрддреА рд╣реИрдВред
рд╣рд░ .mdc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдХреНрд░рд┐рдпрдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддреАрди рдлреНрд░рдВрдЯрдореИрдЯрд░ рдлрд╝реАрд▓реНрдб рд╣реЛрддреЗ рд╣реИрдВ: description, globs, рдФрд░ alwaysApplyред рдХреЛрдИ рдирд┐рдпрдо рд╣рд░ рдмрд╛рддрдЪреАрдд рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХреЗрд╡рд▓ рддрдм рдЬрдм рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреБрд▓реА рд╣реЛрдВред рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк, Apply Intelligently, рдПрдЬреЗрдВрдЯ рдХреЛ рд╡рд┐рд╡рд░рдг рдкрдврд╝рдХрд░ рд╕реНрд╡рдпрдВ рддрдп рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдо рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдЧрд▓рд╛ рдЦрдВрдб рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд╛рдереЛрдВ-рд╣рд╛рде рд╕рдордЭрд╛рддрд╛ рд╣реИред
Cursor рдЪрд╛рд░ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рди рд┐рдпрдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
рдкреНрд░рдХрд╛рд░
рд╕реНрдерд╛рди
рдХреНрд╖реЗрддреНрд░
рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдорд╛рдзреНрдпрдо
рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд
Project Rules
.cursor/rules/*.mdc
рд╡рд░реНрддрдорд╛рди рд░реЗрдкреЛ
Git
рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕реНрддрд░ рдкрд░ рдЯреАрдо-рд╡реНрдпрд╛рдкреА AI рд╡реНрдпрд╡рд╣рд╛рд░
User Rules
Cursor Settings > Rules
рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рд╕рд╛рдЭрд╛ рдирд╣реАрдВ
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ
Team Rules
Cursor рдбреИрд╢рдмреЛрд░реНрдб
рд╕рднреА рдЯреАрдо рд╕рджрд╕реНрдп
рдбреИрд╢рдмреЛрд░реНрдб (рдкреЗрдб рдкреНрд▓рд╛рди)
рд╕рдВрдЧрдарди-рд╡реНрдпрд╛рдкреА рдкреНрд░рд╡рд░реНрддрди
AGENTS.md
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдпрд╛ рд╕рдмрдбрд╛рдпрд░реЗрдХреНрдЯрд░реА
рд╡рд░реНрддрдорд╛рди рд░реЗрдкреЛ
Git
рд╕рд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдХреНрд░реЙрд╕-рдЯреВрд▓ рдЕрдиреБрдХреВрд▓рддрд╛
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рдпрдореЛрдВ рдиреЗ рдкреБрд░рд╛рдиреЗ .cursorrules рдлрд╝рд╛рдЗрд▓тАФрдЬреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдХреЛрдкрд┐рдВрдЧ рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдПрдХрд▓ рд░реВрдЯ-рд╕реНрддрд░реАрдп рдлрд╝рд╛рдЗрд▓ рдереАтАФрдХреА рдЬрдЧрд╣ рд▓реЗ рд▓реА рд╣реИ, рдирд┐рдпрдореЛрдВ рдХреЛ рдлреНрд░рдВрдЯрдореИрдЯрд░ рд╡рд╛рд▓реА рдХрдИ .mdc рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдБрдЯрдХрд░ред
AGENTS.md рдЙрди рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЧреНрд▓реЛрдм рд╕реНрдХреЛрдкрд┐рдВрдЧ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред рдпрд╣ рд╕рд╛рдзрд╛рд░рдг рдорд╛рд░реНрдХрдбрд╛рдЙрди рд╣реИ рдЬрд┐рд╕реЗ Cursor рд╕реЗ рдЖрдЧреЗ рдЕрдиреНрдп AI рдХреЛрдбрд┐рдВрдЧ рдЯреВрд▓ рднреА рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рд╕рдмрдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреИрд░реЗрдВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреА рд╣реИрдВред
рдЖрдк рдпрд╣ рднреА рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдЬреЗрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ AI Agent Fundamentals рд╕реНрдХрд┐рд▓ рдЯреНрд░реИрдХ рдореЗрдВред
Cursor рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рдпрдо рдмрдирд╛рдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рдХреА рднрд╛рдЧ рдореЗрдВ pytest рдХреЗ рд╕рд╛рде рдПрдХ FastAPI рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдиреЗрдВрдЧреАред рдпреЗ рдкреИрдЯрд░реНрди рдХрд┐рд╕реА рднреА рд╕реНрдЯреИрдХ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рдирд┐рдпрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛
рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ .cursor/rules/ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдБред рдпрд╣рд╛рдБ рд░рдЦреА рд╣рд░ .mdc рдлрд╝рд╛рдЗрд▓ рдПрдХ рдирд┐рдпрдо рдмрди рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ Cursor рддреБрд░рдВрдд рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реИтАФрд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВред
рдкрд╣рд▓реА рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓ project-context.mdc, AI рдХреЛ рдЖрдкрдХреЗ рд╕реНрдЯреИрдХ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рд▓реЗрдЖрдЙрдЯ рдХреА рд╕реНрдерд╛рдпреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреА рд╣реИ:
---
description : ""
alwaysApply : true
globs :
---
This is a FastAPI web application with pytest for testing.
- Python 3.12, FastAPI, Pydantic v2, SQLAlchemy 2.0
- pytest with pytest- asyncio for async test support
- Alembic for database migrations
- app/main.py : FastAPI application entry point
- app/routers/ : API route handlers
- app/models/ : SQLAlchemy models
- app/schemas/ : Pydantic request/response schemas
- tests/ : pytest test files mirroring app/ structure
- All endpoints are async
- Use dependency injection for database sessions
- Response models are always Pydantic schemas, not raw dictsрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
Agent рдЪреИрдЯ рдореЗрдВ /create-rule рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдПрдХ рдФрд░ рд░рд╛рд╕реНрддрд╛ рд╣реИ: Cursor рдЖрдкрдХреЗ рд▓рд┐рдП рдЪреИрдЯ рдкреИрдирд▓ рдХреЗ рдЬрд░рд┐рдП рдПрдХ рдбреНрд░рд╛рдлреНрдЯ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ alwaysApply: true рдлреНрд░рдВрдЯрдореИрдЯрд░ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рдпрдо рд╣рд░ рдмрд╛рддрдЪреАрдд рдореЗрдВ рд▓реЛрдб рд╣реЛрдЧрд╛ред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдЪрд┐рдВрддрд╛-рдЖрдзрд╛рд░рд┐рдд рдХреЗрдмреИрдм-рдХреЗрд╕ рдореЗрдВ рд░рдЦреЗрдВ ( project-context.mdc, simplicity.mdc, error-responses.mdc) рдФрд░ рд╣рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ 500 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рднреАрддрд░ рд░рдЦреЗрдВред рдлреВрд▓реА рд╣реБрдИ рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рдЕрд╕рд▓реА рдХреЛрдб рдФрд░ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА context window рд╕реНрдкреЗрд╕ рдЦрд╛ рдЬрд╛рддреА рд╣реИред .cursor/rules/ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ git рдореЗрдВ рдХрдорд┐рдЯ рдХрд░реЗрдВред
рд╕рдЯреАрдХ рдореИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдКрдкрд░ рд╡рд╛рд▓рд╛ project-context.mdc рдирд┐рдпрдо alwaysApply: true рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИтАФрд╕рдмрд╕реЗ рд╕рд░рд▓ рдореЛрдб: рдЖрдк рдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдмрд┐рдирд╛ рдорддрд▓рдм рд╣рд░ рдмрд╛рддрдЪреАрдд рдЗрд╕реЗ рд▓реЛрдб рдХрд░рддреА рд╣реИред рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╡реНрдпрд╛рдкреА рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдХреБрдЫ рдирд┐рдпрдо рдХреЗрд╡рд▓ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред alwaysApply: false рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреЛрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдорд╛-рд╕реЗрдкрд░реЗрдЯреЗрдб рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд▓реЛрдм рдкреИрдЯрд░реНрди рдЬреЛрдбрд╝реЗрдВред globs: app/routers/**/*.py рд╡рд╛рд▓рд╛ рдирд┐рдпрдо рдХреЗрд╡рд▓ рддрдм рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рдлрд╝рд╛рдЗрд▓реЗрдВ (рдпрд╣рд╛рдБ: app/routers/ рдпрд╛ рдЙрд╕рдХреА рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ Python рдлрд╝рд╛рдЗрд▓реЗрдВ) рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрдВтАФрдЗрд╕рд╕реЗ API рдкрд░рдВрдкрд░рд╛рдПрдБ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдЪреИрдЯ рдореЗрдВ рдирд╣реАрдВ рдШреБрд╕рддреАрдВред
Apply Intelligently рдлрд╝рд╛рдЗрд▓ рдкреИрдЯрд░реНрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЖрдк globs рдЦрд╛рд▓реА рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╡рд┐рд╕реНрддреГрдд description рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдПрдЬреЗрдВрдЯ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдо рдореМрдЬреВрджрд╛ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡рд┐рд╡рд░рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ: "Error handling rules" рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди "Conventions for FastAPI error responses including HTTP status codes, error body structure, and exception handler patterns" рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрдд рд╣реИрдВред
рдЬрд┐рди рдирд┐рдпрдореЛрдВ рдореЗрдВ рди рдЧреНрд▓реЛрдм рд╣реЛрдВ, рди рд╕рд╛рд░реНрдердХ рд╡рд┐рд╡рд░рдг, рдФрд░ alwaysApply: false рд╣реЛтАФрд╡реЗ рдХреЗрд╡рд▓ рдореИрдиреБрдЕрд▓ рдмрди рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЪреИрдЯ рдореЗрдВ @rule-name рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдСрди-рдбрд┐рдорд╛рдВрдб рд╕рдВрджрд░реНрдн рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред
рдирд┐рдпрдо рд╕рд╛рдордЧреНрд░реА рдФрд░ рдмрд╛рдзрд╛рдПрдБ рд▓рд┐рдЦрдирд╛
рдирд░рдо рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдирд┐рдпрдо ("рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдЫреЛрдЯреЗ рд╣реЛрдВ," "async endpoints рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ") AI рдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрд╝рдд рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрджреЗрд╢ рд▓рд┐рдЦреЗрдВ: "рдлрд╝рдВрдХреНрд╢рди 30 рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рдХрдо рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╕рднреА endpoints async рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред"
рдЗрдВрдЯреНрд░реЛ рдореЗрдВ AI рджреНрд╡рд╛рд░рд╛ рддреАрди рд▓реЗрдпрд░ рдХреА рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╡рд╛рд▓реА 40-рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдЬрд┐рдХреНрд░ рдерд╛ред рдЬреЛ рдирд┐рдпрдо рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ simplicity.mdc:
---
description: ""
alwaysApply: true
globs:
---
# Code Simplicity
Write the simplest code that solves the problem. Every abstraction must earn its place.
## Constraints
- No base classes with one child class
- No interfaces or abstract classes with one implementation
- No factory or strategy patterns when an if statement works
- No wrapper functions that just call another function
- No configurable parameters that nothing passes
- No "just in case" error handling for impossible conditions
## When modifying existing code
- Match the patterns already in the codebase
- Do not refactor surrounding code unless asked
- Do not add type annotations to unchanged code
- Do not add docstrings to unchanged functions
## Code size
- Functions under 30 lines
- If a function needs a comment explaining what a block does, extract that block into a named function insteadрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдлрд░реНрдХ рддреБрд░рдВрдд рдирдЬрд╝рд░ рдЖрддрд╛ рд╣реИред рдЬрдм рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ AI abstract base classes рдХреА рдУрд░ рд╣рд╛рде рдмрдврд╝рд╛рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреЛ рдХреЗрд╕ рд╣реЛрдиреЗ рдкрд░ if-рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдирд┐рдпрдо, error-responses.mdc, рдЧреНрд▓реЛрдм-рд╕реНрдХреЛрдкреНрдб рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдХреЗрд╡рд▓ API рд░реВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЪрд▓реЗ:
---
description: "Standard error response format for all API endpoints"
alwaysApply: false
globs: app/routers/**/*.py
---
# API Error Responses
All error responses must follow this structure:
{
"detail": "Human-readable error message",
"code": "MACHINE_READABLE_CODE",
"field": "optional_field_name"
}
## Rules
- Never return raw exception messages to clients
- Use HTTPException with a detail dict matching the structure above
- 400 for validation errors, 404 for missing resources, 409 for conflicts
- Log the full traceback server-side before returning the sanitized responseрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЬрд╣рд╛рдБ рд╕рдВрднрд╡ рд╣реЛ, рдирд┐рдпрдореЛрдВ рдореЗрдВ рдХреЛрдб рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдХреА рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗрдВред рдЬреИрд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐тАФ"рджреЗрдЦреЗрдВ app/routers/users.py canonical endpoint рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП"тАФрдХреЛрдб рдХреЗ рдмрджрд▓рддреЗ рд╣реА рд╕рдЯреАрдХ рдмрдиреА рд░рд╣рддреА рд╣реИ, рдЬрдмрдХрд┐ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдирд┐рдкреЗрдЯ рдЬреИрд╕реЗ рд╣реА рдХреЛрдИ рдореВрд▓ рдХреЛ рд░рд┐рдлрд╝реИрдХреНрдЯрд░ рдХрд░рддрд╛ рд╣реИ, рдмрд╛рд╕реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рдпрдо рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди
Cursor рдореЗрдВ рдХреЛрдИ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рдП рдХрд┐ рдХрд┐рд╕реА рдмрд╛рддрдЪреАрдд рдореЗрдВ рдХреМрди-рд╕реЗ рдирд┐рдпрдо рд╕рдХреНрд░рд┐рдп рд╣реИрдВред рдЖрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдирдпрд╛ Agent рдЪреИрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдРрд╕рд╛ рдкреНрд░реЙрдореНрдкреНрдЯ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЖрдкрдХреЗ рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред error-responses.mdc рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдЬрд╝рдорд╛рдПрдБ: " ID рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП app/routers/users.py рдореЗрдВ рдПрдХ DELETE endpoint рдЬреЛрдбрд╝реЗрдВред" рдпрджрд┐ рдЬреЗрдирд░реЗрдЯреЗрдб рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЖрдкрдХреЗ рдирд┐рдпрдо рдХреА JSON рд╕рдВрд░рдЪрдирд╛ рдЬреИрд╕реА рдирд╣реАрдВ рджрд┐рдЦрддреА рдпрд╛ HTTPException рдХреЗ рд╕рд╛рде detail рдбрд┐рдХреНрдЯ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ, рддреЛ рдорд┐рд▓рд╛рди рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред
рдЧреНрд▓реЛрдм-рд╕реНрдХреЛрдкреНрдб рдирд┐рдпрдореЛрдВ рдХреЛ рдЖрдкрдХреЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдпрд╛ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдЦреБрд▓реА рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рдлрд╝рд╛рдЗрд▓ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк app/routers/ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЬрд╝рд┐рдХреНрд░ рдХрд┐рдП рдмрд┐рдирд╛ error-responses.mdc рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдпрдо рдХрднреА рд╕рдХреНрд░рд┐рдп рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред┬а
"Apply Intelligently" рдирд┐рдпрдо рд╡рд┐рд╖рдп-рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ: рдирд┐рдпрдо рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдкреНрд░реЙрдореНрдкреНрдЯ рдЖрдЬрд╝рдорд╛рдПрдБ, рдлрд┐рд░ рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░реЙрдореНрдкреНрдЯ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдПрдЬреЗрдВрдЯ рдХреЛ рдкрд╣рд▓реЗ рдкрд░ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рджреВрд╕рд░реЗ рдкрд░ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдкрдиреЗ Cursor рдирд┐рдпрдо рдкреНрд░рднрд╛рд╡реА рд░рдЦрдирд╛
рдЬреЛ рдирд┐рдпрдо рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗ, рд╡реЗ рдХрд┐рд╕реА рд░рд┐рдлрд╝реИрдХреНрдЯрд░ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж AI рдХреЛ рднрдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдЪрд┐рдВрдЧ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ
рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЗ рди рдЪрд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реЛрддрд╛ рд╣реИ: рдирд┐рдпрдореЛрдВ рдореЗрдВ .mdc рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ .cursor/rules/ рдореЗрдВ рд╕рд╛рджреА .md рдлрд╝рд╛рдЗрд▓реЗрдВ рдЪреБрдкрдЪрд╛рдк рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛:
**/*.py рдЬреИрд╕реЗ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рдЧреНрд▓реЛрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╣рд░ Python рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдпрдо рдЬреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред app/routers/**/*.py рдпрд╛ tests/**/*.py рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдирд┐рдпрдо рдХреЗрд╡рд▓ рд╡рд╣реАрдВ рдЪрд▓реЗ рдЬрд╣рд╛рдБ рдЙрд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ "Apply Intelligently" рдирд┐рдпрдо рдмрд╛рддрдЪреАрддреЗрдВ рдорд┐рд╕ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдЬрдм рд╡рд┐рд╡рд░рдг рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрддрд╛ рд╣реИред рдКрдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдЕрдЪреНрдЫреЗ/рдЦрд░рд╛рдм рд╡рд┐рд╡рд░рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рдирд┐рдпрдо рдкрдХрдбрд╝рдирд╛ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред рдЬрдм рджреЛ рдирд┐рдпрдо рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдирд┐рд░реНрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рддреЛ AI рдПрдХ рдЪреБрди рд▓реЗрддрд╛ рд╣реИ (рдЖрдорддреМрд░ рдкрд░ рдЬреЛ рдмрд╛рдж рдореЗрдВ рд▓реЛрдб рд╣реБрдЖ рд╣реЛ)ред рдЧреНрд▓реЛрдм рд╕реНрдХреЛрдк рд╕рдВрдХреАрд░реНрдг рдХрд░рдХреЗ рдУрд╡рд░рд▓реИрдк рд░реЛрдХреЗрдВ, рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдореЗрдХрд┐рдд рдХрд░реЗрдВред
рдПрдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЦрд╛рд╕рд┐рдпрдд: рдХрднреА-рдХрднреА .mdc рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдмрд┐рдирд╛ рд╕реЗрд╡ рд╣реБрдП рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдПрдбрд┐рдЯреНрд╕ рдЯрд┐рдХ рдирд╣реАрдВ рд░рд╣реЗ, рддреЛ Cursor рдкреВрд░реА рддрд░рд╣ рдмрдВрдж рдХрд░реЗрдВ, unsaved changes рдкреЙрдк-рдЕрдк рдкрд░ "Override" рдЪреБрдиреЗрдВ, рдФрд░ рджреЛрдмрд╛рд░рд╛ рдЦреЛрд▓реЗрдВред
рдмрд╛рддрдЪреАрдд рдХреЗ рдмреАрдЪ рдирд┐рдпрдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рдП рд░рдЦрдирд╛
рдХрд┐рд╕реА рдмрд╛рддрдЪреАрдд рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЛрдИ рдирд┐рдпрдо рдареАрдХ рд╕реЗ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд╛рдБрдЪ рд╕рдВрджреЗрд╢ рдмрд╛рдж рдЕрдирджреЗрдЦрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░рдг рд╣реИ context window рдХреА рд╣рд╛рд▓рд┐рдпрд╛-рдкрдХреНрд╖рдкрд╛рдд рдкреНрд░рд╡реГрддреНрддрд┐: рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдмрд╛рддрдЪреАрдд рдмрдврд╝рддреА рд╣реИ, рдореЙрдбрд▓ рдКрдкрд░ рдбрд╛рд▓реА рдЧрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ Cursor рд╕рдореБрджрд╛рдп рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рд╢рд┐рдХрд╛рдпрдд рд╣реИ, рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред
рдЙрдкрд╛рдп рд╣реИ рдкреБрдирд░реНрдмрд▓рдиред рдЬрдм рдЖрдЙрдЯрдкреБрдЯ рдЖрдкрдХреЗ рдирд┐рдпрдореЛрдВ рд╕реЗ рднрдЯрдХрдиреЗ рд▓рдЧреЗ, рддреЛ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдРрд╕реА рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ: "рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ"ред рдЗрд╕рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдлрд┐рд░ рд╕реЗ рдореЙрдбрд▓ рдХреЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖ рдЬрд╛рддреЗ рд╣реИрдВред┬а
рдЬреЛ рдирд┐рдпрдо рд╣рд░ рдЙрддреНрддрд░ рдкрд░ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ (рдлрд╝реЙрд░реНрдореИрдЯрд┐рдВрдЧ, рдирд╛рдордХрд░рдг), рдЙрдирдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдФрд░ рд╕реАрдзреЗ рд╡рд╛рдХреНрдп рд▓рдВрдмреЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдлрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдВрдмреА рдмрд╛рддрдЪреАрддреЛрдВ рдореЗрдВ рдмреЗрд╣рддрд░ рдЯрд┐рдХрддреЗ рд╣реИрдВред
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╡рд╛рд▓реЗ рдирд┐рдпрдо рднреА рдХреЗрд╡рд▓ рдкрд╛рда рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣рдХрдиреЗ рдХрд╛ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред "рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП early returns рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдЫреЛрдЯрд╛ рдкрд╣рд▓реЗ/рдмрд╛рдж рдХрд╛ рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдкреИрдЯрд░реНрди рджрд┐рдЦрд╛рдПред рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рд╕реЗ рдЧрджреНрдп рд╡рд░реНрдгрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдПрдВрдХрд░ рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕рдВрджрд░реНрдн рдмрдврд╝рддрд╛ рд╣реИред
рдирд┐рдпрдореЛрдВ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдФрд░ рдЫрдБрдЯрд╛рдИ
рдХрд┐рд╕реА рдмрдбрд╝реЗ рд░рд┐рдлрд╝реИрдХреНрдЯрд░, рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЕрдкрдЧреНрд░реЗрдб, рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдпрдореЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдЬреЛ рдирд┐рдпрдо рдЕрдкреНрд░рдЪрд▓рд┐рдд APIs рдпрд╛ рд╣рдЯрд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВ, рд╡реЗ AI рдХреЛ рдЧрд▓рдд рдирд┐рд░реНрджреЗрд╢ рджреЗрдВрдЧреЗред рдмрд╛рд╕реА рдЧреНрд▓реЛрдм рдФрд░ рднреА рдЪреБрдкрдЪрд╛рдк рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ: app/api/ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ app/routers/ рдХрд░ рджреЗрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдкрд╛рде рдкрд░ рд╕реНрдХреЛрдкреНрдб рдирд┐рдпрдо рдмрд┐рдирд╛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдЪрд▓рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред
рдЫрдБрдЯрд╛рдИ рдЙрд▓реНрдЯреА рджрд┐рд╢рд╛ рдореЗрдВ рднреА рдЬрд╛рддреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдореЙрдбрд▓ рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рдВрдкрд░рд╛рдПрдБ рдмрд┐рдирд╛ рдмрддрд╛рдП рд╣реА рдкрдХрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВред рдпрджрд┐ AI рдкрд╣рд▓реЗ рд╕реЗ рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдмрд┐рдирд╛ рдХрд╣реЗ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдирд┐рдпрдо рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЯреЛрдХрди рд╡рд╛рдкрд╕ рдкрд╛рдПрдБред рдПрдХ рд╕реНрд╡рд╕реНрде рдирд┐рдпрдо-рд╕реЗрдЯ рд╕рдордп рдХреЗ рд╕рд╛рде рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдмрдбрд╝рд╛ рдирд╣реАрдВред
рдЯреАрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рдирд┐рдпрдореЛрдВ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВред рдмрджрд▓рд╛рд╡ рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЗ рдЬрд░рд┐рдП рдЬрд╛рдПрдБ, рдФрд░ .cursor/rules/ рдореЗрдВ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЯреАрдо рдкреИрдЯрд░реНрди рдкрд░ рд╕рд╣рдордд рд╣реЛред
Business рдпрд╛ Enterprise рдкреНрд▓рд╛рди рдкрд░ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд▓рд┐рдП, Team Rules рдПрдбрдорд┐рдиреНрд╕ рдХреЛ Cursor рдбреИрд╢рдмреЛрд░реНрдб рд╕реЗ рд╕рднреА рд╕рджрд╕реНрдпреЛрдВ рдкрд░ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВред "Enable immediately" рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрддрд╛ рд╣реИред "Enforce this rule" рдСрдкреНрдЯ-рдЖрдЙрдЯ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реБрд░рдХреНрд╖рд╛ рдЕрднреНрдпрд╛рд╕ рдФрд░ рдЕрдиреБрдкрд╛рд▓рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдЬреИрд╕реА рдЧреИрд░-рдкрд░рдХреНрд░рд╛рдореНрдп рдкрд░рдВрдкрд░рд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЙрди рдПрдХ-рджреЛ рдирд┐рдпрдореЛрдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ рдЬрд┐рди рдкреИрдЯрд░реНрдиреЛрдВ рдХреЛ рдЖрдк рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╣рд░ рд╕рддреНрд░ рдореЗрдВ AI рдХреЗ рдПрдХ рд╣реА рддрд░рд╣ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдбрд┐рдЯ рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ (рдЧрд▓рдд рддреНрд░реБрдЯрд┐ рдлрд╝реЙрд░реНрдореИрдЯ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди), рддреЛ рд╡рд╣ рдПрдХ рдРрд╕рд╛ рдирд┐рдпрдо рд╣реИ рдЬрд┐рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрд╡рд░реНрддреА рдЧрд▓рддрд┐рдпрд╛рдБ рджрд┐рдЦреЗрдВ, рдФрд░ рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдЬреЛ рднрд╛рд░ рдирд╣реАрдВ рдЦреАрдВрдЪ рд░рд╣реЗ, рдЙрдиреНрд╣реЗрдВ рдЯреНрд░рд┐рдо рдХрд░реЗрдВред
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА .mdc рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдХ FastAPI рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред рдЖрдкрдХрд╛ рд╕реЗрдЯ Next.js рдлрд╝реНрд░рдВрдЯрдПрдВрдб рдпрд╛ Rust CLI рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рджрд┐рдЦреЗрдЧрд╛тАФрдФрд░ рдпрд╣реА рдмрд╛рдд рд╣реИ: рдпреЗ рдЖрдкрдХреА рдЯреАрдо рдХреА рдкрд░рдВрдкрд░рд╛рдПрдБ рдХреВрдЯрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБред┬а
рдпрджрд┐ рдЖрдк Cursor рдХреЗ рд╕рд╛рде рдФрд░ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ Cursor 2.0 рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВред рдЕрдиреНрдп AI рдХреЛрдбрд┐рдВрдЧ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯреНрд╕ рд╕реЗ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпреЗ рддреБрд▓рдирд╛рддреНрдордХ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ:
рдЖрдк Cursor рдореЗрдВ рдПрдХ рдирдпрд╛ рдЪреИрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣реА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдмреНрд▓реЙрдХ рдкреЗрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рд╕реМ рдмрд╛рд░ рдкреЗрд╕реНрдЯ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рд╕реНрдЯреИрдХ, рдЖрдкрдХреА рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛рдПрдБ, рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛тАФрдЬрд┐рдиреНрд╣реЗрдВ AI рдмрд╛рд░-рдмрд╛рд░ рдЧрд▓рдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рд╡рд╣ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП 40-рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЪрд╛рд╣рд┐рдП рдерд╛ред
рдЕрдм рдЗрд╕ рдмреБрд░реЗ рд╕рдкрдиреЗ рд╕реЗ рдЬрд╛рдЧрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред Cursor рдирд┐рдпрдо рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдкреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмрдирд╛ рджреЗрддреА рд╣реИрдВред рдЕрдкрдиреА рдкрд░рдВрдкрд░рд╛рдПрдБ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦреЗрдВ, рдФрд░ AI рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЙрдирд╕реЗ рд▓рдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ FastAPI рдФрд░ pytest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ Python рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП
.mdcрдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрджрд░реНрдн, рдХреЛрдб рдХреА рд╕рд╛рджрдЧреА, рдФрд░ API рддреНрд░реБрдЯрд┐ рд╕реНрд╡рд░реВрдкрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрджрд┐ рдЖрдк Cursor рдХреЗ рд▓рд┐рдП рдирдП рд╣реИрдВ, рддреЛ рдореИрдВ рдкрд╣рд▓реЗ рд╣рдорд╛рд░рд╛ Software Development with Cursor рдХреЛрд░реНрд╕ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдБрдЧрд╛, рдлрд┐рд░ рдХреЛрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рд╛рде-рд╕рд╛рде рдЪрд▓реЗрдВредCursor рдирд┐рдпрдо рдХреНрдпрд╛ рд╣реИрдВ?
Cursor рдирд┐рдпрдо MDC-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлреНрд░рдВрдЯрдореИрдЯрд░ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
.cursor/rules/рдкрд░ рд░рд╣рддреА рд╣реИрдВред рдЖрдкрдХреЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рдореЙрдбрд▓ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, Cursor рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреМрди-рд╕реЗ рдирд┐рдпрдо рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ context window рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреА рдирд┐рд░реНрджреЗрд╢рд╛рдПрдБ рд╣рд░ рдмрд╛рд░ рд╕рдмрд╕реЗ рдЖрдЧреЗ рдкрд╣реБрдБрдЪрддреА рд╣реИрдВредрд╣рд░
.mdcрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдХреНрд░рд┐рдпрдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддреАрди рдлреНрд░рдВрдЯрдореИрдЯрд░ рдлрд╝реАрд▓реНрдб рд╣реЛрддреЗ рд╣реИрдВ:description,globs, рдФрд░alwaysApplyред рдХреЛрдИ рдирд┐рдпрдо рд╣рд░ рдмрд╛рддрдЪреАрдд рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХреЗрд╡рд▓ рддрдм рдЬрдм рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреБрд▓реА рд╣реЛрдВред рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк, Apply Intelligently, рдПрдЬреЗрдВрдЯ рдХреЛ рд╡рд┐рд╡рд░рдг рдкрдврд╝рдХрд░ рд╕реНрд╡рдпрдВ рддрдп рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдо рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдЧрд▓рд╛ рдЦрдВрдб рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд╛рдереЛрдВ-рд╣рд╛рде рд╕рдордЭрд╛рддрд╛ рд╣реИредCursor рдЪрд╛рд░ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
рдкреНрд░рдХрд╛рд░
рд╕реНрдерд╛рди
рдХреНрд╖реЗрддреНрд░
рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдорд╛рдзреНрдпрдо
рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд
Project Rules
.cursor/rules/*.mdcрд╡рд░реНрддрдорд╛рди рд░реЗрдкреЛ
Git
рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕реНрддрд░ рдкрд░ рдЯреАрдо-рд╡реНрдпрд╛рдкреА AI рд╡реНрдпрд╡рд╣рд╛рд░
User Rules
Cursor Settings > Rules
рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рд╕рд╛рдЭрд╛ рдирд╣реАрдВ
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ
Team Rules
Cursor рдбреИрд╢рдмреЛрд░реНрдб
рд╕рднреА рдЯреАрдо рд╕рджрд╕реНрдп
рдбреИрд╢рдмреЛрд░реНрдб (рдкреЗрдб рдкреНрд▓рд╛рди)
рд╕рдВрдЧрдарди-рд╡реНрдпрд╛рдкреА рдкреНрд░рд╡рд░реНрддрди
AGENTS.mdрдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдпрд╛ рд╕рдмрдбрд╛рдпрд░реЗрдХреНрдЯрд░реА
рд╡рд░реНрддрдорд╛рди рд░реЗрдкреЛ
Git
рд╕рд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдХреНрд░реЙрд╕-рдЯреВрд▓ рдЕрдиреБрдХреВрд▓рддрд╛
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рдпрдореЛрдВ рдиреЗ рдкреБрд░рд╛рдиреЗ
.cursorrulesрдлрд╝рд╛рдЗрд▓тАФрдЬреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдХреЛрдкрд┐рдВрдЧ рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдПрдХрд▓ рд░реВрдЯ-рд╕реНрддрд░реАрдп рдлрд╝рд╛рдЗрд▓ рдереАтАФрдХреА рдЬрдЧрд╣ рд▓реЗ рд▓реА рд╣реИ, рдирд┐рдпрдореЛрдВ рдХреЛ рдлреНрд░рдВрдЯрдореИрдЯрд░ рд╡рд╛рд▓реА рдХрдИ.mdcрдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдБрдЯрдХрд░редAGENTS.mdрдЙрди рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЧреНрд▓реЛрдм рд╕реНрдХреЛрдкрд┐рдВрдЧ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред рдпрд╣ рд╕рд╛рдзрд╛рд░рдг рдорд╛рд░реНрдХрдбрд╛рдЙрди рд╣реИ рдЬрд┐рд╕реЗ Cursor рд╕реЗ рдЖрдЧреЗ рдЕрдиреНрдп AI рдХреЛрдбрд┐рдВрдЧ рдЯреВрд▓ рднреА рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рд╕рдмрдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреИрд░реЗрдВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреА рд╣реИрдВредрдЖрдк рдпрд╣ рднреА рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдЬреЗрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ AI Agent Fundamentals рд╕реНрдХрд┐рд▓ рдЯреНрд░реИрдХ рдореЗрдВред
Cursor рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рдпрдо рдмрдирд╛рдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рдХреА рднрд╛рдЧ рдореЗрдВ pytest рдХреЗ рд╕рд╛рде рдПрдХ FastAPI рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдиреЗрдВрдЧреАред рдпреЗ рдкреИрдЯрд░реНрди рдХрд┐рд╕реА рднреА рд╕реНрдЯреИрдХ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рдирд┐рдпрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛
рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ
.cursor/rules/рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдБред рдпрд╣рд╛рдБ рд░рдЦреА рд╣рд░.mdcрдлрд╝рд╛рдЗрд▓ рдПрдХ рдирд┐рдпрдо рдмрди рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ Cursor рддреБрд░рдВрдд рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реИтАФрд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВредрдкрд╣рд▓реА рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓
project-context.mdc, AI рдХреЛ рдЖрдкрдХреЗ рд╕реНрдЯреИрдХ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рд▓реЗрдЖрдЙрдЯ рдХреА рд╕реНрдерд╛рдпреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреА рд╣реИ:Agent рдЪреИрдЯ рдореЗрдВ
/create-ruleрдЯрд╛рдЗрдк рдХрд░рдирд╛ рдПрдХ рдФрд░ рд░рд╛рд╕реНрддрд╛ рд╣реИ: Cursor рдЖрдкрдХреЗ рд▓рд┐рдП рдЪреИрдЯ рдкреИрдирд▓ рдХреЗ рдЬрд░рд┐рдП рдПрдХ рдбреНрд░рд╛рдлреНрдЯ рдмрдирд╛ рджреЗрддрд╛ рд╣реИредрдпрд╣рд╛рдБ
alwaysApply: trueрдлреНрд░рдВрдЯрдореИрдЯрд░ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рдпрдо рд╣рд░ рдмрд╛рддрдЪреАрдд рдореЗрдВ рд▓реЛрдб рд╣реЛрдЧрд╛ред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдЪрд┐рдВрддрд╛-рдЖрдзрд╛рд░рд┐рдд рдХреЗрдмреИрдм-рдХреЗрд╕ рдореЗрдВ рд░рдЦреЗрдВ (project-context.mdc,simplicity.mdc,error-responses.mdc) рдФрд░ рд╣рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ 500 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рднреАрддрд░ рд░рдЦреЗрдВред рдлреВрд▓реА рд╣реБрдИ рдирд┐рдпрдо рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рдЕрд╕рд▓реА рдХреЛрдб рдФрд░ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА context window рд╕реНрдкреЗрд╕ рдЦрд╛ рдЬрд╛рддреА рд╣реИред.cursor/rules/рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ git рдореЗрдВ рдХрдорд┐рдЯ рдХрд░реЗрдВредрд╕рдЯреАрдХ рдореИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдКрдкрд░ рд╡рд╛рд▓рд╛
project-context.mdcрдирд┐рдпрдоalwaysApply: trueрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИтАФрд╕рдмрд╕реЗ рд╕рд░рд▓ рдореЛрдб: рдЖрдк рдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдмрд┐рдирд╛ рдорддрд▓рдм рд╣рд░ рдмрд╛рддрдЪреАрдд рдЗрд╕реЗ рд▓реЛрдб рдХрд░рддреА рд╣реИред рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╡реНрдпрд╛рдкреА рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИредрдХреБрдЫ рдирд┐рдпрдо рдХреЗрд╡рд▓ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
alwaysApply: falseрд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреЛрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдорд╛-рд╕реЗрдкрд░реЗрдЯреЗрдб рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд▓реЛрдм рдкреИрдЯрд░реНрди рдЬреЛрдбрд╝реЗрдВредglobs: app/routers/**/*.pyрд╡рд╛рд▓рд╛ рдирд┐рдпрдо рдХреЗрд╡рд▓ рддрдм рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рдлрд╝рд╛рдЗрд▓реЗрдВ (рдпрд╣рд╛рдБ:app/routers/рдпрд╛ рдЙрд╕рдХреА рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ Python рдлрд╝рд╛рдЗрд▓реЗрдВ) рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрдВтАФрдЗрд╕рд╕реЗ API рдкрд░рдВрдкрд░рд╛рдПрдБ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдЪреИрдЯ рдореЗрдВ рдирд╣реАрдВ рдШреБрд╕рддреАрдВредApply Intelligently рдлрд╝рд╛рдЗрд▓ рдкреИрдЯрд░реНрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЖрдк
globsрдЦрд╛рд▓реА рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╡рд┐рд╕реНрддреГрддdescriptionрд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдПрдЬреЗрдВрдЯ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдо рдореМрдЬреВрджрд╛ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡рд┐рд╡рд░рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ:"Error handling rules"рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди"Conventions for FastAPI error responses including HTTP status codes, error body structure, and exception handler patterns"рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрдд рд╣реИрдВредрдЬрд┐рди рдирд┐рдпрдореЛрдВ рдореЗрдВ рди рдЧреНрд▓реЛрдм рд╣реЛрдВ, рди рд╕рд╛рд░реНрдердХ рд╡рд┐рд╡рд░рдг, рдФрд░
alwaysApply: falseрд╣реЛтАФрд╡реЗ рдХреЗрд╡рд▓ рдореИрдиреБрдЕрд▓ рдмрди рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЪреИрдЯ рдореЗрдВ@rule-nameрдЯрд╛рдЗрдк рдХрд░рдиреЗ рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдСрди-рдбрд┐рдорд╛рдВрдб рд╕рдВрджрд░реНрдн рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИредрдирд┐рдпрдо рд╕рд╛рдордЧреНрд░реА рдФрд░ рдмрд╛рдзрд╛рдПрдБ рд▓рд┐рдЦрдирд╛
рдирд░рдо рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдирд┐рдпрдо ("рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдЫреЛрдЯреЗ рд╣реЛрдВ," "async endpoints рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ") AI рдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрд╝рдд рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрджреЗрд╢ рд▓рд┐рдЦреЗрдВ: "рдлрд╝рдВрдХреНрд╢рди 30 рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рдХрдо рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╕рднреА endpoints async рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред"
рдЗрдВрдЯреНрд░реЛ рдореЗрдВ AI рджреНрд╡рд╛рд░рд╛ рддреАрди рд▓реЗрдпрд░ рдХреА рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╡рд╛рд▓реА 40-рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдЬрд┐рдХреНрд░ рдерд╛ред рдЬреЛ рдирд┐рдпрдо рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ
simplicity.mdc:рдлрд░реНрдХ рддреБрд░рдВрдд рдирдЬрд╝рд░ рдЖрддрд╛ рд╣реИред рдЬрдм рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ AI abstract base classes рдХреА рдУрд░ рд╣рд╛рде рдмрдврд╝рд╛рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреЛ рдХреЗрд╕ рд╣реЛрдиреЗ рдкрд░ if-рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдирд┐рдпрдо,
error-responses.mdc, рдЧреНрд▓реЛрдм-рд╕реНрдХреЛрдкреНрдб рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдХреЗрд╡рд▓ API рд░реВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЪрд▓реЗ:рдЬрд╣рд╛рдБ рд╕рдВрднрд╡ рд╣реЛ, рдирд┐рдпрдореЛрдВ рдореЗрдВ рдХреЛрдб рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдХреА рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗрдВред рдЬреИрд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐тАФ"рджреЗрдЦреЗрдВ
app/routers/users.pycanonical endpoint рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП"тАФрдХреЛрдб рдХреЗ рдмрджрд▓рддреЗ рд╣реА рд╕рдЯреАрдХ рдмрдиреА рд░рд╣рддреА рд╣реИ, рдЬрдмрдХрд┐ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдирд┐рдкреЗрдЯ рдЬреИрд╕реЗ рд╣реА рдХреЛрдИ рдореВрд▓ рдХреЛ рд░рд┐рдлрд╝реИрдХреНрдЯрд░ рдХрд░рддрд╛ рд╣реИ, рдмрд╛рд╕реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИредрдирд┐рдпрдо рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди
Cursor рдореЗрдВ рдХреЛрдИ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рдП рдХрд┐ рдХрд┐рд╕реА рдмрд╛рддрдЪреАрдд рдореЗрдВ рдХреМрди-рд╕реЗ рдирд┐рдпрдо рд╕рдХреНрд░рд┐рдп рд╣реИрдВред рдЖрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдирдпрд╛ Agent рдЪреИрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдРрд╕рд╛ рдкреНрд░реЙрдореНрдкреНрдЯ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЖрдкрдХреЗ рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
error-responses.mdcрдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдЬрд╝рдорд╛рдПрдБ: " ID рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдПapp/routers/users.pyрдореЗрдВ рдПрдХ DELETE endpoint рдЬреЛрдбрд╝реЗрдВред" рдпрджрд┐ рдЬреЗрдирд░реЗрдЯреЗрдб рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЖрдкрдХреЗ рдирд┐рдпрдо рдХреА JSON рд╕рдВрд░рдЪрдирд╛ рдЬреИрд╕реА рдирд╣реАрдВ рджрд┐рдЦрддреА рдпрд╛HTTPExceptionрдХреЗ рд╕рд╛рде detail рдбрд┐рдХреНрдЯ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ, рддреЛ рдорд┐рд▓рд╛рди рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИредрдЧреНрд▓реЛрдм-рд╕реНрдХреЛрдкреНрдб рдирд┐рдпрдореЛрдВ рдХреЛ рдЖрдкрдХреЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдпрд╛ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдЦреБрд▓реА рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рдлрд╝рд╛рдЗрд▓ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк
app/routers/рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЬрд╝рд┐рдХреНрд░ рдХрд┐рдП рдмрд┐рдирд╛error-responses.mdcрдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдпрдо рдХрднреА рд╕рдХреНрд░рд┐рдп рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред┬а"Apply Intelligently" рдирд┐рдпрдо рд╡рд┐рд╖рдп-рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ: рдирд┐рдпрдо рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдкреНрд░реЙрдореНрдкреНрдЯ рдЖрдЬрд╝рдорд╛рдПрдБ, рдлрд┐рд░ рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░реЙрдореНрдкреНрдЯ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдПрдЬреЗрдВрдЯ рдХреЛ рдкрд╣рд▓реЗ рдкрд░ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рджреВрд╕рд░реЗ рдкрд░ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдкрдиреЗ Cursor рдирд┐рдпрдо рдкреНрд░рднрд╛рд╡реА рд░рдЦрдирд╛
рдЬреЛ рдирд┐рдпрдо рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗ, рд╡реЗ рдХрд┐рд╕реА рд░рд┐рдлрд╝реИрдХреНрдЯрд░ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж AI рдХреЛ рднрдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдЪрд┐рдВрдЧ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ
рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЗ рди рдЪрд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реЛрддрд╛ рд╣реИ: рдирд┐рдпрдореЛрдВ рдореЗрдВ
.mdcрд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░.cursor/rules/рдореЗрдВ рд╕рд╛рджреА.mdрдлрд╝рд╛рдЗрд▓реЗрдВ рдЪреБрдкрдЪрд╛рдк рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИрдВредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛:
**/*.pyрдЬреИрд╕реЗ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рдЧреНрд▓реЛрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╣рд░ Python рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдпрдо рдЬреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВредapp/routers/**/*.pyрдпрд╛tests/**/*.pyрддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдирд┐рдпрдо рдХреЗрд╡рд▓ рд╡рд╣реАрдВ рдЪрд▓реЗ рдЬрд╣рд╛рдБ рдЙрд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПредрдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ "Apply Intelligently" рдирд┐рдпрдо рдмрд╛рддрдЪреАрддреЗрдВ рдорд┐рд╕ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдЬрдм рд╡рд┐рд╡рд░рдг рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрддрд╛ рд╣реИред рдКрдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдЕрдЪреНрдЫреЗ/рдЦрд░рд╛рдм рд╡рд┐рд╡рд░рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рдирд┐рдпрдо рдкрдХрдбрд╝рдирд╛ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред рдЬрдм рджреЛ рдирд┐рдпрдо рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдирд┐рд░реНрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рддреЛ AI рдПрдХ рдЪреБрди рд▓реЗрддрд╛ рд╣реИ (рдЖрдорддреМрд░ рдкрд░ рдЬреЛ рдмрд╛рдж рдореЗрдВ рд▓реЛрдб рд╣реБрдЖ рд╣реЛ)ред рдЧреНрд▓реЛрдм рд╕реНрдХреЛрдк рд╕рдВрдХреАрд░реНрдг рдХрд░рдХреЗ рдУрд╡рд░рд▓реИрдк рд░реЛрдХреЗрдВ, рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдореЗрдХрд┐рдд рдХрд░реЗрдВред
рдПрдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЦрд╛рд╕рд┐рдпрдд: рдХрднреА-рдХрднреА
.mdcрдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдмрд┐рдирд╛ рд╕реЗрд╡ рд╣реБрдП рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдПрдбрд┐рдЯреНрд╕ рдЯрд┐рдХ рдирд╣реАрдВ рд░рд╣реЗ, рддреЛ Cursor рдкреВрд░реА рддрд░рд╣ рдмрдВрдж рдХрд░реЗрдВ, unsaved changes рдкреЙрдк-рдЕрдк рдкрд░ "Override" рдЪреБрдиреЗрдВ, рдФрд░ рджреЛрдмрд╛рд░рд╛ рдЦреЛрд▓реЗрдВредрдмрд╛рддрдЪреАрдд рдХреЗ рдмреАрдЪ рдирд┐рдпрдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рдП рд░рдЦрдирд╛
рдХрд┐рд╕реА рдмрд╛рддрдЪреАрдд рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЛрдИ рдирд┐рдпрдо рдареАрдХ рд╕реЗ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд╛рдБрдЪ рд╕рдВрджреЗрд╢ рдмрд╛рдж рдЕрдирджреЗрдЦрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░рдг рд╣реИ context window рдХреА рд╣рд╛рд▓рд┐рдпрд╛-рдкрдХреНрд╖рдкрд╛рдд рдкреНрд░рд╡реГрддреНрддрд┐: рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдмрд╛рддрдЪреАрдд рдмрдврд╝рддреА рд╣реИ, рдореЙрдбрд▓ рдКрдкрд░ рдбрд╛рд▓реА рдЧрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ Cursor рд╕рдореБрджрд╛рдп рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рд╢рд┐рдХрд╛рдпрдд рд╣реИ, рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред
рдЙрдкрд╛рдп рд╣реИ рдкреБрдирд░реНрдмрд▓рдиред рдЬрдм рдЖрдЙрдЯрдкреБрдЯ рдЖрдкрдХреЗ рдирд┐рдпрдореЛрдВ рд╕реЗ рднрдЯрдХрдиреЗ рд▓рдЧреЗ, рддреЛ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдРрд╕реА рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ: "рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ"ред рдЗрд╕рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдлрд┐рд░ рд╕реЗ рдореЙрдбрд▓ рдХреЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖ рдЬрд╛рддреЗ рд╣реИрдВред┬а
рдЬреЛ рдирд┐рдпрдо рд╣рд░ рдЙрддреНрддрд░ рдкрд░ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ (рдлрд╝реЙрд░реНрдореИрдЯрд┐рдВрдЧ, рдирд╛рдордХрд░рдг), рдЙрдирдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдФрд░ рд╕реАрдзреЗ рд╡рд╛рдХреНрдп рд▓рдВрдмреЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдлрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдВрдмреА рдмрд╛рддрдЪреАрддреЛрдВ рдореЗрдВ рдмреЗрд╣рддрд░ рдЯрд┐рдХрддреЗ рд╣реИрдВред
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╡рд╛рд▓реЗ рдирд┐рдпрдо рднреА рдХреЗрд╡рд▓ рдкрд╛рда рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣рдХрдиреЗ рдХрд╛ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред "рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП early returns рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдЫреЛрдЯрд╛ рдкрд╣рд▓реЗ/рдмрд╛рдж рдХрд╛ рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдкреИрдЯрд░реНрди рджрд┐рдЦрд╛рдПред рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рд╕реЗ рдЧрджреНрдп рд╡рд░реНрдгрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдПрдВрдХрд░ рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕рдВрджрд░реНрдн рдмрдврд╝рддрд╛ рд╣реИред
рдирд┐рдпрдореЛрдВ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдФрд░ рдЫрдБрдЯрд╛рдИ
рдХрд┐рд╕реА рдмрдбрд╝реЗ рд░рд┐рдлрд╝реИрдХреНрдЯрд░, рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЕрдкрдЧреНрд░реЗрдб, рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдпрдореЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдЬреЛ рдирд┐рдпрдо рдЕрдкреНрд░рдЪрд▓рд┐рдд APIs рдпрд╛ рд╣рдЯрд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВ, рд╡реЗ AI рдХреЛ рдЧрд▓рдд рдирд┐рд░реНрджреЗрд╢ рджреЗрдВрдЧреЗред рдмрд╛рд╕реА рдЧреНрд▓реЛрдм рдФрд░ рднреА рдЪреБрдкрдЪрд╛рдк рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ:
app/api/рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░app/routers/рдХрд░ рджреЗрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдкрд╛рде рдкрд░ рд╕реНрдХреЛрдкреНрдб рдирд┐рдпрдо рдмрд┐рдирд╛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдЪрд▓рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛редрдЫрдБрдЯрд╛рдИ рдЙрд▓реНрдЯреА рджрд┐рд╢рд╛ рдореЗрдВ рднреА рдЬрд╛рддреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдореЙрдбрд▓ рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рдВрдкрд░рд╛рдПрдБ рдмрд┐рдирд╛ рдмрддрд╛рдП рд╣реА рдкрдХрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВред рдпрджрд┐ AI рдкрд╣рд▓реЗ рд╕реЗ рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдмрд┐рдирд╛ рдХрд╣реЗ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдирд┐рдпрдо рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЯреЛрдХрди рд╡рд╛рдкрд╕ рдкрд╛рдПрдБред рдПрдХ рд╕реНрд╡рд╕реНрде рдирд┐рдпрдо-рд╕реЗрдЯ рд╕рдордп рдХреЗ рд╕рд╛рде рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдмрдбрд╝рд╛ рдирд╣реАрдВред
рдЯреАрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рдирд┐рдпрдореЛрдВ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВред рдмрджрд▓рд╛рд╡ рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЗ рдЬрд░рд┐рдП рдЬрд╛рдПрдБ, рдФрд░
.cursor/rules/рдореЗрдВ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЯреАрдо рдкреИрдЯрд░реНрди рдкрд░ рд╕рд╣рдордд рд╣реЛредBusiness рдпрд╛ Enterprise рдкреНрд▓рд╛рди рдкрд░ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд▓рд┐рдП, Team Rules рдПрдбрдорд┐рдиреНрд╕ рдХреЛ Cursor рдбреИрд╢рдмреЛрд░реНрдб рд╕реЗ рд╕рднреА рд╕рджрд╕реНрдпреЛрдВ рдкрд░ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВред "Enable immediately" рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрддрд╛ рд╣реИред "Enforce this rule" рдСрдкреНрдЯ-рдЖрдЙрдЯ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реБрд░рдХреНрд╖рд╛ рдЕрднреНрдпрд╛рд╕ рдФрд░ рдЕрдиреБрдкрд╛рд▓рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдЬреИрд╕реА рдЧреИрд░-рдкрд░рдХреНрд░рд╛рдореНрдп рдкрд░рдВрдкрд░рд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЙрди рдПрдХ-рджреЛ рдирд┐рдпрдореЛрдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ рдЬрд┐рди рдкреИрдЯрд░реНрдиреЛрдВ рдХреЛ рдЖрдк рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╣рд░ рд╕рддреНрд░ рдореЗрдВ AI рдХреЗ рдПрдХ рд╣реА рддрд░рд╣ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдбрд┐рдЯ рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ (рдЧрд▓рдд рддреНрд░реБрдЯрд┐ рдлрд╝реЙрд░реНрдореИрдЯ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди), рддреЛ рд╡рд╣ рдПрдХ рдРрд╕рд╛ рдирд┐рдпрдо рд╣реИ рдЬрд┐рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрд╡рд░реНрддреА рдЧрд▓рддрд┐рдпрд╛рдБ рджрд┐рдЦреЗрдВ, рдФрд░ рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдЬреЛ рднрд╛рд░ рдирд╣реАрдВ рдЦреАрдВрдЪ рд░рд╣реЗ, рдЙрдиреНрд╣реЗрдВ рдЯреНрд░рд┐рдо рдХрд░реЗрдВред
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА
.mdcрдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдХ FastAPI рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред рдЖрдкрдХрд╛ рд╕реЗрдЯ Next.js рдлрд╝реНрд░рдВрдЯрдПрдВрдб рдпрд╛ Rust CLI рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рджрд┐рдЦреЗрдЧрд╛тАФрдФрд░ рдпрд╣реА рдмрд╛рдд рд╣реИ: рдпреЗ рдЖрдкрдХреА рдЯреАрдо рдХреА рдкрд░рдВрдкрд░рд╛рдПрдБ рдХреВрдЯрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБред┬ардпрджрд┐ рдЖрдк Cursor рдХреЗ рд╕рд╛рде рдФрд░ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ Cursor 2.0 рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВред рдЕрдиреНрдп AI рдХреЛрдбрд┐рдВрдЧ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯреНрд╕ рд╕реЗ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпреЗ рддреБрд▓рдирд╛рддреНрдордХ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ: