@tedweixx/mcp-coding-best-practices
Version:
A Model Context Protocol server for coding best practices across multiple editors (Cursor, VS Code, Claude Code, Windsurf). Supports .mdc and .cursorrules formats with 141+ rules from awesome-cursorrules.
719 lines (718 loc) • 23.6 kB
JavaScript
// Auto-generated cursor rules interface
// Generated on: 2025-06-17T09:56:56.582Z
export const AVAILABLE_CURSOR_RULES = [
{
key: "android_jetpack_compose",
name: "android jetpack compose prompt file",
mdcFile: "android_jetpack_compose.mdc"
},
{
key: "angular_novo_elements",
name: "angular novo elements prompt file",
mdcFile: "angular_novo_elements.mdc"
},
{
key: "angular_typescript",
name: "angular typescript prompt file",
mdcFile: "angular_typescript.mdc"
},
{
key: "ascii_simulation_game",
name: "ascii simulation game prompt file",
mdcFile: "ascii_simulation_game.mdc"
},
{
key: "aspnet_abp",
name: "aspnet abp prompt file",
mdcFile: "aspnet_abp.mdc"
},
{
key: "astro_typescript",
name: "astro typescript prompt file",
mdcFile: "astro_typescript.mdc"
},
{
key: "chrome_extension_dev_js_typescript_cursorrules_pro",
name: "chrome extension dev js typescript pro",
mdcFile: "chrome_extension_dev_js_typescript_cursorrules_pro.mdc"
},
{
key: "code_guidelines",
name: "code guidelines prompt file",
mdcFile: "code_guidelines.mdc"
},
{
key: "convex",
name: "convex prompt file",
mdcFile: "convex.mdc"
},
{
key: "cpp_programming_guidelines",
name: "cpp programming guidelines prompt file",
mdcFile: "cpp_programming_guidelines.mdc"
},
{
key: "cursor_ai_react_typescript_shadcn_ui_cursorrules_p",
name: "cursor ai react typescript shadcn ui p",
mdcFile: "cursor_ai_react_typescript_shadcn_ui_cursorrules_p.mdc"
},
{
key: "nextjs_14_tailwind_seo_setup",
name: "cursor ai nextjs 14 tailwind seo setup",
mdcFile: "nextjs_14_tailwind_seo_setup.mdc"
},
{
key: "wordpress_draft_macos_prompt",
name: "cursor ai wordpress draft macos prompt",
mdcFile: "wordpress_draft_macos_prompt.mdc"
},
{
key: "python_fastapi_api",
name: "file cursor ai python fastapi api",
mdcFile: "python_fastapi_api.mdc"
},
{
key: "deno_integration_techniques_cursorrules_prompt_fil",
name: "deno integration techniques prompt fil",
mdcFile: "deno_integration_techniques_cursorrules_prompt_fil.mdc"
},
{
key: "dragonruby_best_practices",
name: "dragonruby best practices prompt file",
mdcFile: "dragonruby_best_practices.mdc"
},
{
key: "drupal_11",
name: "drupal 11 prompt file",
mdcFile: "drupal_11.mdc"
},
{
key: "elixir_engineer_guidelines",
name: "elixir engineer guidelines prompt file",
mdcFile: "elixir_engineer_guidelines.mdc"
},
{
key: "elixir_phoenix_docker_setup_cursorrules_prompt_fil",
name: "elixir phoenix docker setup prompt fil",
mdcFile: "elixir_phoenix_docker_setup_cursorrules_prompt_fil.mdc"
},
{
key: "es_module_nodejs_guidelines_cursorrules_prompt_fil",
name: "es module nodejs guidelines prompt fil",
mdcFile: "es_module_nodejs_guidelines_cursorrules_prompt_fil.mdc"
},
{
key: "flutter_app_expert",
name: "flutter app expert prompt file",
mdcFile: "flutter_app_expert.mdc"
},
{
key: "flutter_riverpod",
name: "flutter riverpod prompt file",
mdcFile: "flutter_riverpod.mdc"
},
{
key: "git_conventional_commit_messages",
name: "git conventional commit messages",
mdcFile: "git_conventional_commit_messages.mdc"
},
{
key: "github_code_quality",
name: "github code quality prompt file",
mdcFile: "github_code_quality.mdc"
},
{
key: "github_cursorrules_prompt_file_instructions",
name: "github prompt file instructions",
mdcFile: "github_cursorrules_prompt_file_instructions.mdc"
},
{
key: "go_backend_scalability",
name: "go backend scalability prompt file",
mdcFile: "go_backend_scalability.mdc"
},
{
key: "go_servemux_rest_api",
name: "go servemux rest api prompt file",
mdcFile: "go_servemux_rest_api.mdc"
},
{
key: "graphical_apps_development",
name: "graphical apps development prompt file",
mdcFile: "graphical_apps_development.mdc"
},
{
key: "html_tailwind_css_javascript_cursorrules_prompt_fi",
name: "html tailwind css javascript prompt fi",
mdcFile: "html_tailwind_css_javascript_cursorrules_prompt_fi.mdc"
},
{
key: "htmx_basic",
name: "htmx basic prompt file",
mdcFile: "htmx_basic.mdc"
},
{
key: "htmx_django",
name: "htmx django prompt file",
mdcFile: "htmx_django.mdc"
},
{
key: "htmx_flask",
name: "htmx flask prompt file",
mdcFile: "htmx_flask.mdc"
},
{
key: "htmx_go_basic",
name: "htmx go basic prompt file",
mdcFile: "htmx_go_basic.mdc"
},
{
key: "htmx_go_fiber",
name: "htmx go fiber prompt file",
mdcFile: "htmx_go_fiber.mdc"
},
{
key: "java_general_purpose",
name: "java general purpose prompt file",
mdcFile: "java_general_purpose.mdc"
},
{
key: "java_springboot_jpa",
name: "java springboot jpa prompt file",
mdcFile: "java_springboot_jpa.mdc"
},
{
key: "javascript_astro_tailwind_css_cursorrules_prompt_f",
name: "javascript astro tailwind css prompt f",
mdcFile: "javascript_astro_tailwind_css_cursorrules_prompt_f.mdc"
},
{
key: "javascript_chrome_apis",
name: "javascript chrome apis prompt file",
mdcFile: "javascript_chrome_apis.mdc"
},
{
key: "javascript_typescript_code_quality_cursorrules_pro",
name: "javascript typescript code quality pro",
mdcFile: "javascript_typescript_code_quality_cursorrules_pro.mdc"
},
{
key: "knative_istio_typesense_gpu_cursorrules_prompt_fil",
name: "knative istio typesense gpu prompt fil",
mdcFile: "knative_istio_typesense_gpu_cursorrules_prompt_fil.mdc"
},
{
key: "kubernetes_mkdocs_documentation_cursorrules_prompt",
name: "kubernetes mkdocs documentation prompt",
mdcFile: "kubernetes_mkdocs_documentation_cursorrules_prompt.mdc"
},
{
key: "laravel_php_83",
name: "laravel php 83 prompt file",
mdcFile: "laravel_php_83.mdc"
},
{
key: "laravel_tall_stack_best_practices_cursorrules_prom",
name: "laravel tall stack best practices prom",
mdcFile: "laravel_tall_stack_best_practices_cursorrules_prom.mdc"
},
{
key: "linux_nvidia_cuda_python",
name: "linux nvidia cuda python prompt file",
mdcFile: "linux_nvidia_cuda_python.mdc"
},
{
key: "netlify_official",
name: "netlify official prompt file",
mdcFile: "netlify_official.mdc"
},
{
key: "next_type_llm",
name: "next type llm",
mdcFile: "next_type_llm.mdc"
},
{
key: "nextjs_app_router",
name: "nextjs app router prompt file",
mdcFile: "nextjs_app_router.mdc"
},
{
key: "nextjs_material_ui_tailwind_css_cursorrules_prompt",
name: "nextjs material ui tailwind css prompt",
mdcFile: "nextjs_material_ui_tailwind_css_cursorrules_prompt.mdc"
},
{
key: "nextjs_react_tailwind",
name: "nextjs react tailwind prompt file",
mdcFile: "nextjs_react_tailwind.mdc"
},
{
key: "nextjs_react_typescript",
name: "nextjs react typescript prompt file",
mdcFile: "nextjs_react_typescript.mdc"
},
{
key: "nextjs_seo_dev",
name: "nextjs seo dev prompt file",
mdcFile: "nextjs_seo_dev.mdc"
},
{
key: "nextjs_supabase_shadcn_pwa",
name: "nextjs supabase shadcn pwa prompt file",
mdcFile: "nextjs_supabase_shadcn_pwa.mdc"
},
{
key: "nextjs_supabase_todo_app",
name: "nextjs supabase todo app prompt file",
mdcFile: "nextjs_supabase_todo_app.mdc"
},
{
key: "nextjs_tailwind_typescript_apps_cursorrules_prompt",
name: "nextjs tailwind typescript apps prompt",
mdcFile: "nextjs_tailwind_typescript_apps_cursorrules_prompt.mdc"
},
{
key: "nextjs_typescript_app",
name: "nextjs typescript app prompt file",
mdcFile: "nextjs_typescript_app.mdc"
},
{
key: "nextjs_typescript",
name: "nextjs typescript prompt file",
mdcFile: "nextjs_typescript.mdc"
},
{
key: "nextjs_typescript_tailwind",
name: "nextjs typescript tailwind prompt file",
mdcFile: "nextjs_typescript_tailwind.mdc"
},
{
key: "nextjs_vercel_supabase",
name: "nextjs vercel supabase prompt file",
mdcFile: "nextjs_vercel_supabase.mdc"
},
{
key: "nextjs_vercel_typescript",
name: "nextjs vercel typescript prompt file",
mdcFile: "nextjs_vercel_typescript.mdc"
},
{
key: "nextjs15_react19_vercelai_tailwind",
name: "nextjs15 react19 vercelai tailwind prompt file",
mdcFile: "nextjs15_react19_vercelai_tailwind.mdc"
},
{
key: "nodejs_mongodb_cursorrules_prompt_file_tutorial",
name: "nodejs mongodb prompt file tutorial",
mdcFile: "nodejs_mongodb_cursorrules_prompt_file_tutorial.mdc"
},
{
key: "nodejs_mongodb_jwt_express_react_cursorrules_promp",
name: "nodejs mongodb jwt express react promp",
mdcFile: "nodejs_mongodb_jwt_express_react_cursorrules_promp.mdc"
},
{
key: "optimize_dry_solid_principles_cursorrules_prompt_f",
name: "optimize dry solid principles prompt f",
mdcFile: "optimize_dry_solid_principles_cursorrules_prompt_f.mdc"
},
{
key: "optimize_rell_blockchain_code_cursorrules_prompt_f",
name: "optimize rell blockchain code prompt f",
mdcFile: "optimize_rell_blockchain_code_cursorrules_prompt_f.mdc"
},
{
key: "pandas_scikit_learn_guide",
name: "pandas scikit learn guide prompt file",
mdcFile: "pandas_scikit_learn_guide.mdc"
},
{
key: "plasticode_telegram_api",
name: "plasticode telegram api prompt file",
mdcFile: "plasticode_telegram_api.mdc"
},
{
key: "py_fast_api",
name: "py fast api",
mdcFile: "py_fast_api.mdc"
},
{
key: "pyqt6_eeg_processing",
name: "pyqt6 eeg processing prompt file",
mdcFile: "pyqt6_eeg_processing.mdc"
},
{
key: "python__typescript_guide",
name: "python typescript guide prompt file",
mdcFile: "python__typescript_guide.mdc"
},
{
key: "python_312_fastapi_best_practices_cursorrules_prom",
name: "python 312 fastapi best practices prom",
mdcFile: "python_312_fastapi_best_practices_cursorrules_prom.mdc"
},
{
key: "python_containerization",
name: "python containerization prompt file",
mdcFile: "python_containerization.mdc"
},
{
key: "python_cursorrules_prompt_file_best_practices",
name: "python prompt file best practices",
mdcFile: "python_cursorrules_prompt_file_best_practices.mdc"
},
{
key: "python_developer",
name: "python developer prompt file",
mdcFile: "python_developer.mdc"
},
{
key: "python_django_best_practices_cursorrules_prompt_fi",
name: "python django best practices prompt fi",
mdcFile: "python_django_best_practices_cursorrules_prompt_fi.mdc"
},
{
key: "python_fastapi_best_practices_cursorrules_prompt_f",
name: "python fastapi best practices prompt f",
mdcFile: "python_fastapi_best_practices_cursorrules_prompt_f.mdc"
},
{
key: "python_fastapi",
name: "python fastapi prompt file",
mdcFile: "python_fastapi.mdc"
},
{
key: "python_fastapi_scalable_api_cursorrules_prompt_fil",
name: "python fastapi scalable api prompt fil",
mdcFile: "python_fastapi_scalable_api_cursorrules_prompt_fil.mdc"
},
{
key: "python_flask_json_guide",
name: "python flask json guide prompt file",
mdcFile: "python_flask_json_guide.mdc"
},
{
key: "python_github_setup",
name: "python github setup prompt file",
mdcFile: "python_github_setup.mdc"
},
{
key: "python_llm_ml_workflow",
name: "python llm ml workflow prompt file",
mdcFile: "python_llm_ml_workflow.mdc"
},
{
key: "python_projects_guide",
name: "python projects guide prompt file",
mdcFile: "python_projects_guide.mdc"
},
{
key: "pytorch_scikit_learn",
name: "pytorch scikit learn prompt file",
mdcFile: "pytorch_scikit_learn.mdc"
},
{
key: "qwik_basic",
name: "qwik basic prompt file",
mdcFile: "qwik_basic.mdc"
},
{
key: "qwik_tailwind",
name: "qwik tailwind prompt file",
mdcFile: "qwik_tailwind.mdc"
},
{
key: "react_chakra_ui",
name: "react chakra ui prompt file",
mdcFile: "react_chakra_ui.mdc"
},
{
key: "react_components_creation",
name: "react components creation prompt file",
mdcFile: "react_components_creation.mdc"
},
{
key: "react_graphql_apollo_client",
name: "react graphql apollo client prompt file",
mdcFile: "react_graphql_apollo_client.mdc"
},
{
key: "react_mobx",
name: "react mobx prompt file",
mdcFile: "react_mobx.mdc"
},
{
key: "react_native_expo",
name: "react native expo prompt file",
mdcFile: "react_native_expo.mdc"
},
{
key: "react_native_expo_router_typescript_windows",
name: "react native expo router typescript windows prompt file",
mdcFile: "react_native_expo_router_typescript_windows.mdc"
},
{
key: "react_nextjs_ui_development_cursorrules_prompt_fil",
name: "react nextjs ui development prompt fil",
mdcFile: "react_nextjs_ui_development_cursorrules_prompt_fil.mdc"
},
{
key: "react_query",
name: "react query prompt file",
mdcFile: "react_query.mdc"
},
{
key: "react_redux_typescript",
name: "react redux typescript prompt file",
mdcFile: "react_redux_typescript.mdc"
},
{
key: "react_styled_components",
name: "react styled components prompt file",
mdcFile: "react_styled_components.mdc"
},
{
key: "react_typescript_nextjs_nodejs_cursorrules_prompt_",
name: "react typescript nextjs nodejs prompt",
mdcFile: "react_typescript_nextjs_nodejs_cursorrules_prompt_.mdc"
},
{
key: "react_typescript_symfony",
name: "react typescript symfony prompt file",
mdcFile: "react_typescript_symfony.mdc"
},
{
key: "solidity_foundry",
name: "solidity foundry prompt file",
mdcFile: "solidity_foundry.mdc"
},
{
key: "solidity_hardhat",
name: "solidity hardhat prompt file",
mdcFile: "solidity_hardhat.mdc"
},
{
key: "solidity_react_blockchain_apps_cursorrules_prompt_",
name: "solidity react blockchain apps prompt",
mdcFile: "solidity_react_blockchain_apps_cursorrules_prompt_.mdc"
},
{
key: "solidjs_basic",
name: "solidjs basic prompt file",
mdcFile: "solidjs_basic.mdc"
},
{
key: "solidjs_tailwind",
name: "solidjs tailwind prompt file",
mdcFile: "solidjs_tailwind.mdc"
},
{
key: "solidjs_typescript",
name: "solidjs typescript prompt file",
mdcFile: "solidjs_typescript.mdc"
},
{
key: "svelte_5_vs_svelte_4",
name: "svelte 5 vs svelte 4 prompt file",
mdcFile: "svelte_5_vs_svelte_4.mdc"
},
{
key: "sveltekit_restful_api_tailwind_css_cursorrules_pro",
name: "sveltekit restful api tailwind css pro",
mdcFile: "sveltekit_restful_api_tailwind_css_cursorrules_pro.mdc"
},
{
key: "sveltekit_tailwindcss_typescript_cursorrules_promp",
name: "sveltekit tailwindcss typescript promp",
mdcFile: "sveltekit_tailwindcss_typescript_cursorrules_promp.mdc"
},
{
key: "sveltekit_typescript_guide",
name: "sveltekit typescript guide prompt file",
mdcFile: "sveltekit_typescript_guide.mdc"
},
{
key: "swiftui_guidelines",
name: "swiftui guidelines prompt file",
mdcFile: "swiftui_guidelines.mdc"
},
{
key: "tailwind_css_nextjs_guide",
name: "tailwind css nextjs guide prompt file",
mdcFile: "tailwind_css_nextjs_guide.mdc"
},
{
key: "tailwind_react_firebase",
name: "tailwind react firebase prompt file",
mdcFile: "tailwind_react_firebase.mdc"
},
{
key: "tailwind_shadcn_ui_integration_cursorrules_prompt_",
name: "tailwind shadcn ui integration prompt",
mdcFile: "tailwind_shadcn_ui_integration_cursorrules_prompt_.mdc"
},
{
key: "tauri_svelte_typescript_guide_cursorrules_prompt_f",
name: "tauri svelte typescript guide prompt f",
mdcFile: "tauri_svelte_typescript_guide_cursorrules_prompt_f.mdc"
},
{
key: "temporal_python_cursorrules",
name: "temporal python",
mdcFile: "temporal_python_cursorrules.mdc"
},
{
key: "typescript_axios",
name: "typescript axios prompt file",
mdcFile: "typescript_axios.mdc"
},
{
key: "typescript_clasp",
name: "typescript clasp prompt file",
mdcFile: "typescript_clasp.mdc"
},
{
key: "typescript_code_convention",
name: "typescript code convention prompt file",
mdcFile: "typescript_code_convention.mdc"
},
{
key: "typescript_expo_jest_detox",
name: "typescript expo jest detox prompt file",
mdcFile: "typescript_expo_jest_detox.mdc"
},
{
key: "typescript_llm_tech_stack",
name: "typescript llm tech stack prompt file",
mdcFile: "typescript_llm_tech_stack.mdc"
},
{
key: "typescript_nestjs_best_practices_cursorrules_promp",
name: "typescript nestjs best practices promp",
mdcFile: "typescript_nestjs_best_practices_cursorrules_promp.mdc"
},
{
key: "typescript_nextjs",
name: "typescript nextjs prompt file",
mdcFile: "typescript_nextjs.mdc"
},
{
key: "typescript_nextjs_react",
name: "typescript nextjs react prompt file",
mdcFile: "typescript_nextjs_react.mdc"
},
{
key: "typescript_nextjs_react_tailwind_supabase_cursorru",
name: "typescript nextjs react tailwind supabase cursorru",
mdcFile: "typescript_nextjs_react_tailwind_supabase_cursorru.mdc"
},
{
key: "typescript_nextjs_supabase",
name: "typescript nextjs supabase prompt file",
mdcFile: "typescript_nextjs_supabase.mdc"
},
{
key: "typescript_nodejs_nextjs_ai_cursorrules_prompt_fil",
name: "typescript nodejs nextjs ai prompt fil",
mdcFile: "typescript_nodejs_nextjs_ai_cursorrules_prompt_fil.mdc"
},
{
key: "typescript_nodejs_nextjs_app_cursorrules_prompt_fi",
name: "typescript nodejs nextjs app prompt fi",
mdcFile: "typescript_nodejs_nextjs_app_cursorrules_prompt_fi.mdc"
},
{
key: "typescript_nodejs_nextjs_react_ui_css_cursorrules_",
name: "typescript nodejs nextjs react ui css",
mdcFile: "typescript_nodejs_nextjs_react_ui_css_cursorrules_.mdc"
},
{
key: "typescript_nodejs_react_vite_cursorrules_prompt_fi",
name: "typescript nodejs react vite prompt fi",
mdcFile: "typescript_nodejs_react_vite_cursorrules_prompt_fi.mdc"
},
{
key: "typescript_react",
name: "typescript react prompt file",
mdcFile: "typescript_react.mdc"
},
{
key: "typescript_react_nextjs_cloudflare_cursorrules_pro",
name: "typescript react nextjs cloudflare pro",
mdcFile: "typescript_react_nextjs_cloudflare_cursorrules_pro.mdc"
},
{
key: "typescript_react_nextui_supabase_cursorrules_promp",
name: "typescript react nextui supabase promp",
mdcFile: "typescript_react_nextui_supabase_cursorrules_promp.mdc"
},
{
key: "typescript_shadcn_ui_nextjs_cursorrules_prompt_fil",
name: "typescript shadcn ui nextjs prompt fil",
mdcFile: "typescript_shadcn_ui_nextjs_cursorrules_prompt_fil.mdc"
},
{
key: "typescript_vite_tailwind",
name: "typescript vite tailwind prompt file",
mdcFile: "typescript_vite_tailwind.mdc"
},
{
key: "typescript_vuejs",
name: "typescript vuejs prompt file",
mdcFile: "typescript_vuejs.mdc"
},
{
key: "typescript_zod_tailwind_nextjs_cursorrules_prompt_",
name: "typescript zod tailwind nextjs prompt",
mdcFile: "typescript_zod_tailwind_nextjs_cursorrules_prompt_.mdc"
},
{
key: "uikit_guidelines",
name: "uikit guidelines prompt file",
mdcFile: "uikit_guidelines.mdc"
},
{
key: "unity_cursor_ai_c",
name: "unity cursor ai c prompt file",
mdcFile: "unity_cursor_ai_c.mdc"
},
{
key: "vue_3_nuxt_3_development",
name: "vue 3 nuxt 3 development prompt file",
mdcFile: "vue_3_nuxt_3_development.mdc"
},
{
key: "vue_3_nuxt_3_typescript",
name: "vue 3 nuxt 3 typescript prompt file",
mdcFile: "vue_3_nuxt_3_typescript.mdc"
},
{
key: "vue3_composition_api",
name: "vue3 composition api prompt file",
mdcFile: "vue3_composition_api.mdc"
},
{
key: "web_app_optimization",
name: "web app optimization prompt file",
mdcFile: "web_app_optimization.mdc"
},
{
key: "webassembly_z80_cellular_automata_cursorrules_prom",
name: "webassembly z80 cellular automata prom",
mdcFile: "webassembly_z80_cellular_automata_cursorrules_prom.mdc"
},
{
key: "wordpress_php_guzzle_gutenberg_cursorrules_prompt_",
name: "wordpress php guzzle gutenberg prompt",
mdcFile: "wordpress_php_guzzle_gutenberg_cursorrules_prompt_.mdc"
}
];
export function getCursorRuleByKey(key) {
return AVAILABLE_CURSOR_RULES.find(rule => rule.key === key);
}
export function searchCursorRules(searchTerm) {
const term = searchTerm.toLowerCase();
return AVAILABLE_CURSOR_RULES.filter(rule => rule.key.toLowerCase().includes(term) ||
rule.name.toLowerCase().includes(term));
}
export const CURSOR_RULE_KEYS = AVAILABLE_CURSOR_RULES.map(rule => rule.key);