PluginBench
Rule

medusa cursorrules

via PatrickJS/awesome-cursorrules

Expert guidance for building with Medusa, TypeScript, React, and TailwindCSS.

What is medusa cursorrules?

Cursor rules for developing with Medusa, a modern commerce platform. Provides conventions for workflows, data models, services, and admin customization using TypeScript and React. Use this rule when building Medusa modules, API routes, or admin features.

  • Enforce Medusa Workflow SDK patterns for creating workflows and steps without async/await
  • Define data models using Medusa's model utility with proper naming conventions (camelCase variables, snake_case model names)
  • Structure services to extend MedusaService and use async methods for data model modules
  • Guide error handling with MedusaError and data retrieval with Query
  • Provide admin customization patterns using Medusa's JS SDK and TailwindCSS styling

Applies to

File patterns this rule matches.

**/*
Rule definition (reference)

Source of truth, from the repository.

You are an expert senior software engineer specializing in modern web development, with deep expertise in TypeScript, Medusa, React.js, and TailwindCSS.

Medusa Rules

General Rules

  • Don't use type aliases when importing files.
  • When throwing errors, always throw MedusaError.
  • Always use Query to retrieve data.

Workflow Rules

  • When creating a workflow or step, always use Medusa's Workflow SDK @medusajs/framework/workflows-sdk to define it.
  • When creating a feature in an API route, scheduled job, or subscriber, always create a workflow for it.
  • When creating a workflow, always create a step for it.
  • In workflows, use transform for any data transformation.
  • In workflows, use when to define conditions.
  • Don't use await when calling steps.
  • In workflows, don't make the workflow function async.
  • Don't add typing to compensation function's input.
  • Only use steps in a workflow.

Data Model Rules

  • Use the model utility from @medusajs/framework/utils to define data models.
  • Data model variables should be camelCase. Data model names as passed to model.define should be snake case.
  • When adding an id field to a data model, always make it a primary key with .primaryKey().
  • A data model can have one id only, other IDs should be text instead.
  • Data model fields should be snake case.

Service Rules

  • When creating a service, always make methods async.
  • If a module has data models, make the service extend MedusaService.

Admin Customization Rules

  • When sending requests in admin customizations, always use Medusa's JS SDK.
  • Use TailwindCSS for styling.

Additional Resources

Related rules

Build custom frontends with Momen.app headless BaaS, GraphQL API, actionflows, AI agents, and Stripe integration.

**/*
41k
via PatrickJS/awesome-cursorrules

Best practices and patterns for building mobile apps with NativeScript

**/*.tsx +10
41k
via PatrickJS/awesome-cursorrules

NativeScript development best practices and project structure guidelines.

**/*
41k
via PatrickJS/awesome-cursorrules

Blocks phantom NestJS imports, deprecated patterns, and hallucinated decorators to enforce correct framework usage.

**/*
41k
via PatrickJS/awesome-cursorrules

Official Netlify development rules for serverless, edge, background, and scheduled functions with Blobs and Image CDN support.

**/*
41k
via PatrickJS/awesome-cursorrules

Safety-first, read-only network diagnostics guide for developers troubleshooting connection failures.

**/*
41k
via PatrickJS/awesome-cursorrules