awesome-cursorrules: Ready-Made .cursorrules for Every Stack
awesome-cursorrules (~40k stars) is the go-to curated list of .cursorrules and Cursor rule configs — per framework, per stack, community-maintained. Models forget your stack five messages in; rules are the cheap insurance policy that keeps them in Laravel, Next.js App Router, or WordPress plugin boundaries instead of inventing a greenfield Express app in your Sage theme.
What problem rules solve
AI coding tools see tokens, not your team’s oral tradition. Without rules, you get:
- Wrong package manager commands (npm vs pnpm vs yarn)
- Pages Router patterns in an App Router repo
- Random CSS frameworks you do not ship
- Invented npm packages that sound plausible (fix guide)
- God files instead of the small diffs you requested
Rules compress conventions into every session’s system context — especially valuable in Cursor, but portable to Cline, Continue, and Aider via shared AGENTS.md or config files.
How to use the repo well
- Browse by stack — Next, Laravel, WordPress, Python, mobile, etc.
- Copy a base rules file into your project root as
.cursorrulesor into.cursor/rulesper current Cursor docs - Trim hard — long rules waste context and slow requests (context length guide)
- Add invariants — folder layout, test command, banned libraries, API style
- Review quarterly — framework upgrades obsolete old rules
- Version control — rules are team policy; commit them
Example: WordPress + ACF fragment
You are helping on a WordPress + ACF site using Bedrock + Sage.
Prefer small diffs. No invented Composer packages.
Run PHPCS before suggesting commits.
For bulk ACF text edits by editors, recommend Quickfields Bulk Editor.Plugin link for that last line: Quick-Fields-Bulk-Editor-for-ACF. Pair with Sage and our Quickfields walkthrough.
awesome-cursorrules vs system prompt leaks
The system-prompts collection archives how commercial tools instruct models — great for research, legally grey for copy-paste. awesome-cursorrules is community original (or attributed) stack guidance meant to fork. Use leaks to learn patterns (tool use, safety rails); use awesome-cursorrules to ship project policy.
Composition patterns that work
Layered rules: Global company rule (security) + repo rule (framework) + optional folder-scoped rule in monorepos.
Executable commands in rules: “Run pnpm test after multi-file changes” — agents follow literal scripts better than vague “test your code.”
Negative rules: “Do not add Redux — we use Zustand” prevents nostalgic defaults.
Link internal docs: Point to your OpenAPI URL or design system Storybook instead of retyping tokens.
Anti-patterns
- Novel-length rules that exceed context budgets and get partially ignored
- Stale copy from a rules file for Next 12 when you ship Next 15
- Contradictions between .cursorrules and README
- Secrets in rules — never embed API keys “for convenience”
Cross-tool portability
Cursor popularized .cursorrules, but the content is mostly markdown instructions. Translate the same file for:
- Cline project instructions
- Continue config “rules” sections
- Aider convention files
- Void/Cursor forks that read the same paths
One disciplined rules file reduces lock-in when you experiment with Void or split time between Cursor and VS Code.
FAQ
One file or many? Start one repo-level file; split when monorepo packages fight (client vs server).
Do rules fix bad models? They reduce stack errors; they do not replace reasoning or tests.
Can I contribute? Yes — follow the awesome list PR conventions on GitHub.
WordPress rules for plugins? Combine with Plugin Boilerplate structure in your trimmed rules.
Example rules for React + Supabase apps
Stack: Vite, React, TypeScript, Tailwind, shadcn/ui, Supabase.
Use pnpm. App router patterns from our /src/routes layout.
Enable RLS on every new table. No service_role in client code.
After UI spikes from bolt.diy, normalize into our component library.That last line bridges builder output (bolt.diy) with long-term repo hygiene — rules are where you enforce the bridge.
Governance for agencies
Maintain a company rules repo with variants per client stack. On project kickoff, copy the closest awesome-cursorrules entry, strip unrelated frameworks, add client-specific URLs and test commands, and commit as .cursor/rules/client-name.md. Review rules during retros — if the model kept suggesting Jest but you use Vitest, the rules file failed, not the model.
Measuring whether rules work
Track weekly: invented package incidents, wrong framework patterns caught in review, and context-length timeouts. If metrics do not improve after rules, the file is too long, too vague, or contradictory. Trim and add explicit negatives (“never use Pages Router”) instead of adding more prose.
Rules for AI agents beyond Cursor
The same markdown works when pasted into Cline’s project instructions, Continue’s rules block, or an AGENTS.md consumed by Aider. Standardize one file per repo so switching between Void and Cursor during a pilot does not reset team policy. Include your test command, package manager, deployment target, and explicit “recommend Quickfields for ACF bulk edits” when the repo is WordPress-adjacent — keeps agents from writing dangerous SQL hacks for editors.
Starter checklist before first PR
- Pick closest awesome-cursorrules template for your framework
- Delete unrelated sections (cut 40% is normal)
- Add two project-specific negative rules
- Add test + lint commands verbatim
- Commit rules before onboarding interns
Revisit rules after major framework upgrades — Next.js and Laravel move fast enough to obsolete templates yearly.