Skip to content

A curated collection of .cursorrules for Cursor AI. See also: cursor-doctor (npx cursor-doctor scan)

License

Notifications You must be signed in to change notification settings

nedcodes-ok/cursorrules-collection

Repository files navigation

cursorrules-collection

Stars License: MIT

110+ tested rules for AI coding tools β€” Cursor, Claude Code, Copilot, Windsurf, Gemini CLI, and Codex. Every rule contains something you can't get from a generic LLM prompt. Copy to your project and start getting better output.

⚠️ Using Cursor agent mode? Use the .mdc files in rules-mdc/. Both .cursorrules and .mdc are loaded, but .mdc takes precedence on conflicts and gives you frontmatter (alwaysApply, globs). More details.

πŸ”§ Check your setup first

Before adding new rules, see if your current setup has issues:

npx cursor-doctor scan

Catches broken frontmatter, conflicting rules, token budget problems, and missing coverage. Takes about 2 seconds.

β†’ cursor-doctor on GitHub Β· β†’ cursor-doctor on npm


Quick Start (manual)

For agent mode (recommended):

# Copy the .mdc file into your project's .cursor/rules/ directory
mkdir -p .cursor/rules
curl -o .cursor/rules/typescript.mdc https://raw.githubusercontent.com/nedcodes-ok/cursorrules-collection/main/rules-mdc/languages/typescript.mdc

For regular Cursor sessions (composer, chat):

curl -o .cursorrules https://raw.githubusercontent.com/nedcodes-ok/cursorrules-collection/main/rules/languages/typescript.cursorrules

Each .mdc file includes:

  • alwaysApply: true (required for agent mode)
  • globs for file-type scoping where applicable (e.g. Python rules only apply to *.py)
  • description for Cursor's context

πŸ”§ Make It Yours

These rules are starting points, not finished configs. The more specific they are to YOUR project, the better they work.

Step 1: Grab the rule for your stack (e.g. react.mdc)

Step 2: Open it and delete anything that doesn't match your patterns. Using Redux instead of Context? Zustand instead of TanStack Query? Edit the rule.

Step 3: Add your project-specific conventions:

## Our Conventions
- All API calls go through src/lib/api.ts
- Use date-fns, not moment
- Component files are PascalCase, utilities are camelCase
- Tests live next to the file they test (Button.test.tsx)

Step 4: Validate with npx cursor-doctor lint to make sure the frontmatter is correct.

The generic version gets you 70% there. The last 30% is what makes the rule actually useful for your codebase.

πŸ“ Articles & Guides

Before / After

Same prompts, different output. Left side is vanilla Cursor, right side is with rules applied.

React component: React before/after

Python API endpoint: Python before/after

TypeScript function: TypeScript before/after

Rules

Languages

Deep coverage: Python, JavaScript, TypeScript, Go, Rust, Java β€” version-specific gotchas, tested patterns, real traps. Starter templates: C#, Ruby, PHP, Swift, Kotlin, Elixir, Scala, C++ β€” solid foundations, customize for your project.

Rule .mdc (agent mode) .cursorrules (legacy)
Python python.mdc python.cursorrules
JavaScript javascript.mdc javascript.cursorrules
TypeScript typescript.mdc typescript.cursorrules
Go go.mdc go.cursorrules
Rust rust.mdc rust.cursorrules
Java java.mdc java.cursorrules
C# csharp.mdc csharp.cursorrules
Ruby ruby.mdc ruby.cursorrules
PHP php.mdc php.cursorrules
Swift swift.mdc swift.cursorrules
Kotlin kotlin.mdc kotlin.cursorrules
Elixir elixir.mdc elixir.cursorrules
Scala scala.mdc scala.cursorrules
C++ cpp.mdc cpp.cursorrules

Frameworks

Deep coverage: React, Next.js, Vue, Angular, Django, FastAPI, Express, Tailwind CSS, shadcn/ui β€” version-specific, gotcha-heavy, opinionated. Solid coverage: Everything else β€” good patterns and conventions, ready to customize.

Rule .mdc (agent mode) .cursorrules (legacy)
React react.mdc react.cursorrules
Next.js nextjs.mdc nextjs.cursorrules
Vue vue.mdc vue.cursorrules
Svelte svelte.mdc svelte.cursorrules
Django django.mdc django.cursorrules
FastAPI fastapi.mdc fastapi.cursorrules
Express express.mdc express.cursorrules
Rails rails.mdc rails.cursorrules
Laravel laravel.mdc laravel.cursorrules
Flutter flutter.mdc flutter.cursorrules
Angular angular.mdc angular.cursorrules
Astro astro.mdc astro.cursorrules
Remix remix.mdc remix.cursorrules
Nuxt nuxt.mdc nuxt.cursorrules
Tailwind CSS tailwind-css.mdc tailwind-css.cursorrules
Gatsby gatsby.mdc gatsby.cursorrules
SolidJS solid-js.mdc solid-js.cursorrules
shadcn/ui shadcn-ui.mdc shadcn-ui.cursorrules
Zod zod.mdc zod.cursorrules
TanStack Query tanstack-query.mdc tanstack-query.cursorrules
Zustand zustand.mdc zustand.cursorrules
Hono hono.mdc hono.cursorrules
T3 Stack t3-stack.mdc t3-stack.cursorrules
SWR swr.mdc swr.cursorrules
NestJS nestjs.mdc nestjs.cursorrules
Flask flask.mdc flask.cursorrules
Spring Boot spring-boot.mdc spring-boot.cursorrules
htmx htmx.mdc htmx.cursorrules
SvelteKit sveltekit.mdc sveltekit.cursorrules
React Native react-native.mdc react-native.cursorrules
Expo / React Native expo.mdc expo.cursorrules
Electron electron.mdc electron.cursorrules
Tauri tauri.mdc tauri.cursorrules

Practices

Rule .mdc (agent mode) .cursorrules (legacy)
Clean Code clean-code.mdc clean-code.cursorrules
Testing testing.mdc testing.cursorrules
Documentation documentation.mdc documentation.cursorrules
Git Workflow git-workflow.mdc git-workflow.cursorrules
Code Review code-review.mdc code-review.cursorrules
Security security.mdc security.cursorrules
Performance performance.mdc performance.cursorrules
Accessibility accessibility.mdc accessibility.cursorrules
API Design api-design.mdc api-design.cursorrules
Error Handling error-handling.mdc error-handling.cursorrules
Logging logging.mdc logging.cursorrules
Monitoring monitoring.mdc monitoring.cursorrules
Migration Safety migration-safety.mdc migration-safety.cursorrules
Refactoring refactoring.mdc refactoring.cursorrules
AI-Assisted Development ai-assisted-development.mdc ai-assisted-development.cursorrules
Monorepo monorepo.mdc monorepo.cursorrules
Database Migrations database-migrations.mdc database-migrations.cursorrules

Tools

Rule .mdc (agent mode) .cursorrules (legacy)
Docker docker.mdc docker.cursorrules
Terraform terraform.mdc terraform.cursorrules
TensorFlow tensorflow.mdc tensorflow.cursorrules
Kubernetes kubernetes.mdc kubernetes.cursorrules
CI/CD ci-cd.mdc ci-cd.cursorrules
VS Code / Cursor vscode.mdc vscode.cursorrules
GraphQL graphql.mdc graphql.cursorrules
Prisma prisma.mdc prisma.cursorrules
Supabase supabase.mdc supabase.cursorrules
MongoDB mongodb.mdc mongodb.cursorrules
PostgreSQL postgresql.mdc postgresql.cursorrules
AWS aws.mdc aws.cursorrules
Ansible ansible.mdc ansible.cursorrules
Redis redis.mdc redis.cursorrules
Nginx nginx.mdc nginx.cursorrules
Firebase firebase.mdc firebase.cursorrules
Stripe stripe.mdc stripe.cursorrules
Drizzle ORM drizzle.mdc drizzle.cursorrules
tRPC trpc.mdc trpc.cursorrules
NextAuth.js nextauth.mdc nextauth.cursorrules
Playwright playwright.mdc playwright.cursorrules
Vitest vitest.mdc vitest.cursorrules
Turborepo turborepo.mdc turborepo.cursorrules
SQLite sqlite.mdc sqlite.cursorrules
Clerk clerk.mdc clerk.cursorrules
Convex convex.mdc convex.cursorrules
Bun bun.mdc bun.cursorrules
Deno deno.mdc deno.cursorrules
Jest jest.mdc jest.cursorrules
Cypress cypress.mdc cypress.cursorrules
Storybook storybook.mdc storybook.cursorrules
Sequelize sequelize.mdc sequelize.cursorrules
Pydantic pydantic.mdc pydantic.cursorrules
SQLAlchemy sqlalchemy.mdc sqlalchemy.cursorrules
pytest pytest.mdc pytest.cursorrules
PyTorch pytorch.mdc pytorch.cursorrules
LangChain langchain.mdc langchain.cursorrules
Ruff ruff.mdc ruff.cursorrules
Vercel AI SDK vercel-ai-sdk.mdc vercel-ai-sdk.cursorrules
Cloudflare Workers cloudflare-workers.mdc cloudflare-workers.cursorrules
Payload CMS payload-cms.mdc payload-cms.cursorrules
PNPM pnpm.mdc pnpm.cursorrules

AI Tools (NEW)

Not just Cursor β€” rules and patterns for configuring any AI coding tool.

Rule .mdc
CLAUDE.md (Claude Code) claude-md.mdc
AGENTS.md (OpenAI Codex) agents-md.mdc
GitHub Copilot Instructions copilot-instructions.mdc
Windsurf Rules & Workflows windsurf-rules.mdc
GEMINI.md (Gemini CLI) gemini-md.mdc
Cross-Tool Config Guide cross-tool-config.mdc

Using Multiple Rules

With .mdc (recommended): Just copy multiple files into .cursor/rules/. Each one works independently. Glob patterns keep them scoped to the right files.

mkdir -p .cursor/rules
cp rules-mdc/languages/typescript.mdc .cursor/rules/
cp rules-mdc/frameworks/nextjs.mdc .cursor/rules/
cp rules-mdc/practices/testing.mdc .cursor/rules/

With .cursorrules: Combine them into one file:

cat rules/languages/typescript.cursorrules rules/frameworks/nextjs.cursorrules > .cursorrules

Contributing

PRs welcome. See CONTRIBUTING.md. The bar: rules should be specific enough to actually change Cursor's output. "Write clean code" doesn't count.

Validate Your Rules

cursor-doctor catches broken frontmatter, conflicting rules, token budget waste, and other silent failures before they hurt your output.

npx cursor-doctor scan    # health score + issues
npx cursor-doctor lint    # detailed rule linting
npx cursor-doctor fix     # auto-repair (Pro)

Need a deeper audit?

cursor-doctor Pro ($9 one-time) β€” full diagnostic report with conflict detection, redundancy analysis, token budget breakdown, and auto-fix. Run npx cursor-doctor audit for the full report.

More

  • Articles on Dev.to β€” Tests, experiments, and guides on making Cursor actually listen

If these rules saved you time, ⭐ star the repo so others can find it.

License

MIT


Stay Updated

πŸ“‹ Free Cursor Safety Checklist β€” pre-flight checklist for AI-assisted coding sessions, based on tested experiments

Related

About

A curated collection of .cursorrules for Cursor AI. See also: cursor-doctor (npx cursor-doctor scan)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Languages