К основному содержанию
правило

medusa — правило для Cursor: сборка приложений на Medusa

Правило задаёт Cursor рамки для кода на Medusa: воркфлоу, модели данных, сервисы и админка пишутся по одному шаблону.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/medusa.mdc
Открыть на GitHub

Что делает medusa

Файл подключается к Cursor как правило и срабатывает на файлы **/*.tsx, **/*.ts, src/**/*.ts, src/**/*.tsx, src/**/*.js, src/**/*.jsx. Автоприменение выключено, так что подхватывается оно по совпадению с этими путями, а не всегда.

Внутри — набор требований по четырём областям. В общих: ошибки бросать через MedusaError, данные брать через Query, не тянуть псевдонимы типов при импорте. В воркфлоу: определять их через @medusajs/framework/workflows-sdk, каждому воркфлоу — свой шаг, трансформации через transform, условия через when, шаги вызывать без await, а саму функцию воркфлоу не делать асинхронной. Модели данных описываются утилитой model из @medusajs/framework/utils: имена в camelCase, поля в snake case, единственный id — первичный ключ через .primaryKey(), остальные идентификаторы как text. Сервисы с моделями наследуют MedusaService, методы асинхронные. В админке запросы идут через JS SDK, стили — на TailwindCSS.

Правило рассчитано на проект, где уже стоит Medusa и принят её Workflow SDK. Если воркфлоу в коде пишутся иначе, часть требований придётся переписать под себя — иначе Cursor будет спорить с существующим стилем.

Какие задачи решает

  • писать воркфлоу и шаги по правилам Medusa Workflow SDK
  • описывать модели данных через утилиту model
  • наследовать сервис от MedusaService
  • бросать ошибки через MedusaError вместо стандартных
  • делать запросы в админке через JS SDK

Примеры запросов агенту

  • Создай воркфлоу для оформления заказа с шагом проверки остатков
  • Опиши модель данных для склада с полями в snake case
  • Перепиши сервис модуля так, чтобы он наследовал MedusaService

Как установить medusa

Вручную: положить файлы

.cursor/rules/medusa.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о medusa

Как установить medusa в Cursor?

Создайте файл .cursor/rules/medusa.mdc и вставьте в него содержимое правила.

Что делает правило medusa?

Задаёт Cursor соглашения для кода на Medusa: воркфлоу, модели данных, сервисы и кастомизация админки.

На какие файлы распространяется правило?

На **/*.tsx, **/*.ts, src/**/*.ts, src/**/*.tsx, src/**/*.js, src/**/*.jsx. Автоприменение выключено.

Исходный текст

medusa.mdc · CC0-1.0
---
description: "Medusa rules and best practices. These rules should be used when building applications with Medusa."
globs: **/*.tsx, **/*.ts, src/**/*.ts, src/**/*.tsx, src/**/*.js, src/**/*.jsx
alwaysApply: false
---
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)

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Все правила IDE по теме «Бэкенд и API» →
typespec-m365-copilot официальный github Правило подсказывает, как описывать агентов и API-плагины Microsoft 365 Copilot на TypeSpec. Срабатывает при работе с файлами .tsp. ★ 40 451звёзд репо typescript-mcp-server официальный github Правило подсказывает Copilot, как писать MCP-серверы на TypeScript SDK: классы, схемы на zod, транспорты и типовые ошибки. ★ 40 451звёзд репо springboot официальный github Правило задаёт Copilot стиль кода для Spring Boot: внедрение зависимостей, конфигурация, логирование и проверка сборки. ★ 40 451звёзд репо springboot-4-migration официальный github Инструкция для GitHub Copilot по переводу проектов со Spring Boot 3.x на 4.0. Помогает обновить зависимости в Gradle Kotlin DSL, каталоги версий и имена стартеров. ★ 40 451звёзд репо ruby-on-rails официальный github Задаёт для GitHub Copilot стандарты архитектуры Rails: тонкие контроллеры, сервисные объекты и строгие миграции. Помогает писать предсказуемый бэкенд на Ruby. ★ 40 451звёзд репо quarkus официальный github Задаёт стандарты разработки на Quarkus для GitHub Copilot при работе с Java и сборщиками. Направляет генерацию сервисов, конфигураций и тестов. ★ 40 451звёзд репо

Из того же набора140

network-troubleshoot Правило ведёт агента через безопасную диагностику сетевых сбоев: от сбора ошибки до проверки результата. ★ 41 024звёзд репо netlify-official-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту официальные соглашения Netlify: типы функций, работа с окружением и запрет лишних CORS-заголовков. ★ 41 024звёзд репо nativescript Правило задаёт практики для NativeScript-приложений на TypeScript, Vue и других поддержанных стеках. Пригодится для мобильного UI и нативного кода. ★ 41 024звёзд репо nativescript-cursorrules-prompt-file Правило Cursor, которое задаёт агенту структуру проекта и стек для NativeScript: TypeScript, навигация, защищённое хранилище. ★ 41 024звёзд репо manifest-yaml-cursorrules-prompt-file Правило задаёт Cursor, как собирать лёгкий демо-бэкенд на Manifest: структура проекта, файл manifest/backend.yml и ограничения по сущностям. ★ 41 024звёзд репо laravel-tall-stack-best-practices-cursorrules-prom Правило задаёт практики для Laravel и TALL Stack в Cursor. Оно помогает писать PHP-код, Livewire-компоненты и интерфейсы на Alpine.js и Tailwind CSS. ★ 41 024звёзд репо laravel-php-83-cursorrules-prompt-file Правило для Cursor, которое ведёт агента по разработке пакетов Laravel: структура, стандарты кода, тесты и документация. ★ 41 024звёзд репо kubestellar-console Правило задаёт нормы для React/TypeScript-фронтенда и Go-бэкенда KubeStellar Console. Пригодится для карточек дашборда и мультикластерных запросов. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой