cursorrules-collection

February 28, 2026 · View on GitHub

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)
Pythonpython.mdcpython.cursorrules
JavaScriptjavascript.mdcjavascript.cursorrules
TypeScripttypescript.mdctypescript.cursorrules
Gogo.mdcgo.cursorrules
Rustrust.mdcrust.cursorrules
Javajava.mdcjava.cursorrules
C#csharp.mdccsharp.cursorrules
Rubyruby.mdcruby.cursorrules
PHPphp.mdcphp.cursorrules
Swiftswift.mdcswift.cursorrules
Kotlinkotlin.mdckotlin.cursorrules
Elixirelixir.mdcelixir.cursorrules
Scalascala.mdcscala.cursorrules
C++cpp.mdccpp.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)
Reactreact.mdcreact.cursorrules
Next.jsnextjs.mdcnextjs.cursorrules
Vuevue.mdcvue.cursorrules
Sveltesvelte.mdcsvelte.cursorrules
Djangodjango.mdcdjango.cursorrules
FastAPIfastapi.mdcfastapi.cursorrules
Expressexpress.mdcexpress.cursorrules
Railsrails.mdcrails.cursorrules
Laravellaravel.mdclaravel.cursorrules
Flutterflutter.mdcflutter.cursorrules
Angularangular.mdcangular.cursorrules
Astroastro.mdcastro.cursorrules
Remixremix.mdcremix.cursorrules
Nuxtnuxt.mdcnuxt.cursorrules
Tailwind CSStailwind-css.mdctailwind-css.cursorrules
Gatsbygatsby.mdcgatsby.cursorrules
SolidJSsolid-js.mdcsolid-js.cursorrules
shadcn/uishadcn-ui.mdcshadcn-ui.cursorrules
Zodzod.mdczod.cursorrules
TanStack Querytanstack-query.mdctanstack-query.cursorrules
Zustandzustand.mdczustand.cursorrules
Honohono.mdchono.cursorrules
T3 Stackt3-stack.mdct3-stack.cursorrules
SWRswr.mdcswr.cursorrules
NestJSnestjs.mdcnestjs.cursorrules
Flaskflask.mdcflask.cursorrules
Spring Bootspring-boot.mdcspring-boot.cursorrules
htmxhtmx.mdchtmx.cursorrules
SvelteKitsveltekit.mdcsveltekit.cursorrules
React Nativereact-native.mdcreact-native.cursorrules
Expo / React Nativeexpo.mdcexpo.cursorrules
Electronelectron.mdcelectron.cursorrules
Tauritauri.mdctauri.cursorrules

Practices

Rule.mdc (agent mode).cursorrules (legacy)
Clean Codeclean-code.mdcclean-code.cursorrules
Testingtesting.mdctesting.cursorrules
Documentationdocumentation.mdcdocumentation.cursorrules
Git Workflowgit-workflow.mdcgit-workflow.cursorrules
Code Reviewcode-review.mdccode-review.cursorrules
Securitysecurity.mdcsecurity.cursorrules
Performanceperformance.mdcperformance.cursorrules
Accessibilityaccessibility.mdcaccessibility.cursorrules
API Designapi-design.mdcapi-design.cursorrules
Error Handlingerror-handling.mdcerror-handling.cursorrules
Logginglogging.mdclogging.cursorrules
Monitoringmonitoring.mdcmonitoring.cursorrules
Migration Safetymigration-safety.mdcmigration-safety.cursorrules
Refactoringrefactoring.mdcrefactoring.cursorrules
AI-Assisted Developmentai-assisted-development.mdcai-assisted-development.cursorrules
Monorepomonorepo.mdcmonorepo.cursorrules
Database Migrationsdatabase-migrations.mdcdatabase-migrations.cursorrules

Tools

Rule.mdc (agent mode).cursorrules (legacy)
Dockerdocker.mdcdocker.cursorrules
Terraformterraform.mdcterraform.cursorrules
TensorFlowtensorflow.mdctensorflow.cursorrules
Kuberneteskubernetes.mdckubernetes.cursorrules
CI/CDci-cd.mdcci-cd.cursorrules
VS Code / Cursorvscode.mdcvscode.cursorrules
GraphQLgraphql.mdcgraphql.cursorrules
Prismaprisma.mdcprisma.cursorrules
Supabasesupabase.mdcsupabase.cursorrules
MongoDBmongodb.mdcmongodb.cursorrules
PostgreSQLpostgresql.mdcpostgresql.cursorrules
AWSaws.mdcaws.cursorrules
Ansibleansible.mdcansible.cursorrules
Redisredis.mdcredis.cursorrules
Nginxnginx.mdcnginx.cursorrules
Firebasefirebase.mdcfirebase.cursorrules
Stripestripe.mdcstripe.cursorrules
Drizzle ORMdrizzle.mdcdrizzle.cursorrules
tRPCtrpc.mdctrpc.cursorrules
NextAuth.jsnextauth.mdcnextauth.cursorrules
Playwrightplaywright.mdcplaywright.cursorrules
Vitestvitest.mdcvitest.cursorrules
Turborepoturborepo.mdcturborepo.cursorrules
SQLitesqlite.mdcsqlite.cursorrules
Clerkclerk.mdcclerk.cursorrules
Convexconvex.mdcconvex.cursorrules
Bunbun.mdcbun.cursorrules
Denodeno.mdcdeno.cursorrules
Jestjest.mdcjest.cursorrules
Cypresscypress.mdccypress.cursorrules
Storybookstorybook.mdcstorybook.cursorrules
Sequelizesequelize.mdcsequelize.cursorrules
Pydanticpydantic.mdcpydantic.cursorrules
SQLAlchemysqlalchemy.mdcsqlalchemy.cursorrules
pytestpytest.mdcpytest.cursorrules
PyTorchpytorch.mdcpytorch.cursorrules
LangChainlangchain.mdclangchain.cursorrules
Ruffruff.mdcruff.cursorrules
Vercel AI SDKvercel-ai-sdk.mdcvercel-ai-sdk.cursorrules
Cloudflare Workerscloudflare-workers.mdccloudflare-workers.cursorrules
Payload CMSpayload-cms.mdcpayload-cms.cursorrules
PNPMpnpm.mdcpnpm.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 Instructionscopilot-instructions.mdc
Windsurf Rules & Workflowswindsurf-rules.mdc
GEMINI.md (Gemini CLI)gemini-md.mdc
Cross-Tool Config Guidecross-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


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