diff --git a/.cursor/rules/medusa-development.mdc b/.cursor/rules/medusa-development.mdc index 1273a8c5f..9f721eefd 100644 --- a/.cursor/rules/medusa-development.mdc +++ b/.cursor/rules/medusa-development.mdc @@ -38,23 +38,46 @@ You are an expert in Medusa v2, TypeScript, Node.js, PostgreSQL, and modern e-co // Module definition pattern import { Module } from "@medusajs/framework/utils" -export const myModule = Module("my-module", { +export const MY_MODULE = "my-module" + +export default Module(MY_MODULE, { service: MyService, - model: [MyModel], }) +``` -// Service pattern with dependency injection +### Service Pattern with Dependency Injection +```typescript import { MedusaService } from "@medusajs/framework/utils" +import MyModel from "./models/my-model" class MyService extends MedusaService({ MyModel, }) { - async create(data: CreateMyEntityInput): Promise { - return await this.myModelRepository_.create(data) + // CRUD methods are automatically generated by MedusaService + // You can add custom methods here + async customMethod(data: CustomInput): Promise { + return await this.myModelRepository_.customQuery(data) } } ``` +### Module Registration +```typescript +// medusa-config.ts +import { defineConfig } from "@medusajs/framework/utils" + +export default defineConfig({ + projectConfig: { + // ... other config + }, + modules: [ + { + resolve: "./src/modules/my-module", + }, + ], +}) +``` + ### API Route Patterns ```typescript // Admin API route