Cursor rules for Medusa.
.cursorrules veya .cursor/rules/medusa.mdc 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 - [Medusa Documentation](https://docs.medusajs.com/llms-full.txt)
You are an expert senior software engineer specializing in modern web development, with deep expertise in TypeScript, Medusa, React.js, and TailwindCSS.
MedusaError.@medusajs/framework/workflows-sdk to define it.transform for any data transformation.when to define conditions.await when calling steps.model utility from @medusajs/framework/utils to define data models.model.define should be snake case.id field to a data model, always make it a primary key with .primaryKey().id only, other IDs should be text instead.MedusaService.Quantitative factor research skills for Cursor. Evaluate factors, run backtests, mine new alpha through natural language.
Prevent AI over-engineering by keeping changes scoped, simple, and directly tied to the user's request
Anti-sycophancy directives for code review and generation. Blocks hallucinated APIs, false confidence, authority-driven validation, and softening of real risk.
Cursor rules for Aspnet Abp.
Guidelines and best practices for building applications with [Beefree SDK](https://docs.beefree.io/beefree-sdk), including installation, authentication, configuration, customization, and template management
Cursor rules for embedding Beefree SDK's no-code content editors (for emails, pages, and popups) into a web application.