writing-tsdocs

Adds and updates TypeDoc (TSDoc) comments to TypeScript source files in the Medusa codebase. Covers HTTP types, API routes, UI components, data models, service…

npx skills add https://github.com/medusajs/medusa --skill writing-tsdocs

Writing Medusa TSDocs

Adds TypeDoc (TSDoc) comments to Medusa TypeScript source files. Follows TypeDoc conventions and uses custom tags defined in www/utils/packages/typedoc-config/tsdoc.json.

Constraints

CRITICAL: Violating these produces incorrect or broken documentation.

  • Never document unexported items — only exported interfaces, types, functions, classes
  • Never add TSDocs to test files — skip *.spec.ts, *.test.ts, __tests__/
  • Never fabricate @since version numbers — only use the version passed in the prompt
  • Never remove or modify existing TSDocs — only add where missing
  • Never modify logic — only add/edit comment blocks
  • For Medusa-specific custom tags, only use those defined in tsdoc.json: @expandable, @featureFlag, @since, @apiIgnore, @schema, @tags, @version, @keep, @customNamespace, @namespaceMember

Load Reference Files When Needed

Load the reference file for the file type you're documenting before writing any TSDocs.

Path patternLoad
packages/core/types/src/http/reference/http-types.md
packages/medusa/src/api/admin/ or /store/reference/api-routes.md
packages/design-system/ui/src/components/reference/ui-components.md
packages/modules/*/src/models/reference/data-models.md
packages/core/types/src/ (non-http)reference/service-interfaces.md
packages/core/js-sdk/src/reference/service-interfaces.md
packages/core/utils/src/ (abstract providers)reference/service-interfaces.md
packages/core/workflows-sdk/src/utils/composer/reference/service-interfaces.md
packages/core/core-flows/src/ (workflows)reference/workflows-steps.md
packages/core/core-flows/src/ (steps)reference/workflows-steps.md
packages/core/utils/src/core-flows/events.tsreference/events.md

Quick Reference

TSDoc block format

/**
 * Brief description.
 */
export interface Foo {
  /**
   * The foo's ID.
   */
  id: string
}

Per-type depth guide

File typeWhat to documentKey Medusa tags
HTTP typesEvery exported interface/type + all properties@expandable on nested objects
API routesExported handlers only (minimal)@featureFlag, @since
UI componentsComponent + all propsPlain descriptions
Data modelsModel + each property@since on new items
Service interfacesEvery method in full@param, @returns, @example
JS SDKEvery public method@param, @returns, @example, @tags
ProvidersClass + every abstract method@param, @returns, @example
Workflow SDKEvery exported function@param, @returns, @example
core-flows workflowsWorkflow export + hooks@summary, @featureFlag, @since
core-flows stepsStep export + input type@featureFlag, @since, @example
EventsEvery event constant@eventPayload, @featureFlag, @since

Medusa custom tags (from www/utils/packages/typedoc-config/tsdoc.json)

TagKindUse when
@featureFlag <name>blockExport requires a feature flag to be enabled
@expandablemodifierNested object expandable in API queries
@since <version>blockExport was added in this version (prompt-provided only)
@apiIgnoremodifierExclude from API docs output
@tags <name>blockSDK categorization
@schemablockCustom schema documentation
@keepmodifierPreserve during doc generation
@customNamespaceblockAssign to custom doc namespace

Standard TypeDoc/JSDoc tags (@param, @returns, @example, @deprecated, @remarks, etc.) are always allowed.

Common Mistakes

  • Documenting unexported or private items
  • Using @since without a version being provided in the prompt
  • Writing property descriptions longer than 2 sentences
  • Adding @param/@returns to non-method exports (interfaces, types)
  • Documenting an id field without specifying what resource it belongs to

Reference Files

reference/http-types.md          - HTTP type interfaces: properties, @expandable
reference/api-routes.md          - API routes: @featureFlag, @since, minimal docs
reference/ui-components.md       - UI components: component + inline prop pattern
reference/data-models.md         - DML models: @since, property descriptions
reference/service-interfaces.md  - Methods, SDK, providers, workflow SDK: full JSDoc
reference/workflows-steps.md     - core-flows workflows and steps: @summary, hooks, @example
reference/events.md              - Event constants: @eventPayload, @featureFlag, @since

Mais skills de medusajs

mcloud-variables
medusajs
Executar comandos de variáveis mcloud para listar e obter variáveis de ambiente para um ambiente Cloud. Use ao inspecionar, ler ou exportar variáveis de ambiente…
official
building-storefronts
medusajs
Integração frontend SDK-first para storefronts Medusa com padrões React Query e regras críticas de chamadas de API. Sempre use o Medusa JS SDK para todas as requisições de API — nunca use fetch() comum, pois ele não possui os cabeçalhos necessários (chave de API publicável para rotas de loja, autenticação para rotas de admin). Passe objetos JavaScript simples para os métodos do SDK; nunca use JSON.stringify() nos parâmetros do corpo, pois o SDK lida com a serialização automaticamente. Use useQuery para requisições GET e useMutation para requisições POST/DELETE,...
official
building-admin-dashboard-customizations
medusajs
Extensões de UI personalizadas para o painel administrativo do Medusa usando o Admin SDK e componentes de UI do Medusa. Carregue esta skill PRIMEIRO para qualquer trabalho de UI administrativa (planejamento, implementação, exploração); servidores MCP fornecem apenas referência de API, não padrões de design ou estratégias de carregamento de dados CRÍTICO: Sempre use o Medusa JS SDK para todas as requisições de API (nunca fetch comum); separe consultas de exibição de consultas modais e invalide dados de exibição após mutações Implemente widgets em páginas existentes ou crie rotas de UI personalizadas;...
official
learning-medusa
medusajs
Bootcamp interativo passo a passo de desenvolvimento Medusa, onde você constrói uma funcionalidade de marcas enquanto aprende padrões de arquitetura. Três lições progressivas (2–3 horas no total) abordando módulos, workflows, rotas de API, links de módulos, hooks de workflow e personalização da interface administrativa. Verificação de checkpoint após cada componente principal testa compreensão conceitual, qualidade de código e funcionalidade antes de prosseguir. Trata erros como oportunidades de ensino; depura em conjunto com perguntas diagnósticas e análise de causa raiz...
official
db-migrate
medusajs
Executa migrações pendentes do banco de dados Medusa e relata os resultados. Executa npx medusa db:migrate via Bash para aplicar todas as migrações pendentes ao seu banco de dados Medusa. Relata os resultados das migrações, incluindo a quantidade de migrações aplicadas, quaisquer erros encontrados e confirmação de sucesso. Projetado para projetos Medusa com configuração padrão npm/npx.
official
mcloud-environments
medusajs
Execute comandos de ambientes mcloud para listar, obter, criar, excluir, reimplantar ou acionar builds para ambientes Cloud. Use ao gerenciar o ciclo de vida de ambientes,…
official
db-generate
medusajs
Gera migrações de banco de dados para módulos Medusa com um único comando. Encapsula o comando CLI npx medusa db:generate para criar arquivos de migração para módulos Medusa especificados. Aceita o nome do módulo como argumento e informa a localização do arquivo de migração, erros e próximos passos. Sugere automaticamente executar npx medusa db:migrate após a geração para aplicar as migrações.
official
mcloud-deployments
medusajs
Execute mcloud deployments commands to list deployments, retrieve deployment details, and fetch build logs. Use when listing deployments, checking deployment…
official