ワンクリックで
getting-started
Use when configuring transactional mail delivery in NestJS APIs with @wisemen/nestjs-mail.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when configuring transactional mail delivery in NestJS APIs with @wisemen/nestjs-mail.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when creating or updating api specific packages in `packages/api/*`, especially for package structure, exports, module wiring, docs, and validation.
Use when implementing or reviewing HTTP integrations inside api specific packages, especially for transport choice, timeout placement, request shaping, and error handling.
Use when configuring a shared OSRM client in NestJS APIs.
Use when generating CSVs in APIs.
Use when scanning NestJS providers with DiscoveryService-backed utilities.
Use when working with the @wisemen/nestjs-custom-fields package — developer-defined custom fields in NestJS with TypeORM persistence and runtime validation. Covers registering the CustomFieldDefinition entity, authoring definitions with customFieldDefinition(), storing resolved values via @CustomFieldValueColumn(), exposing them through CustomFieldValueDto / @IsCustomFields(), and validating submissions with CustomFieldDefinitionsRepository + validateCustomFieldValues(). Use this whenever a task involves custom field definitions, CustomFieldValue columns, custom-field DTOs, or tenant-scoped field definitions, even if the package is not named explicitly.
| name | getting-started |
| description | Use when configuring transactional mail delivery in NestJS APIs with @wisemen/nestjs-mail. |
Use MailModule.forRootAsync(...) to register a shared MailClient and
HandlebarsRenderer, then keep provider selection in your application layer.
Inject MailClient into a use case, service, or job handler and call
sendMail(...) with html or text content.
import { Injectable } from '@nestjs/common'
import { MailClient } from '@wisemen/nestjs-mail'
@Injectable()
export class SendWelcomeMailUseCase {
constructor(private readonly mailClient: MailClient) {}
async send(to: string): Promise<void> {
await this.mailClient.sendMail({
to,
subject: 'Welcome',
text: 'Welcome to the platform'
})
}
}
Use HandlebarsRenderer when the mail body should come from .hbs templates in
your built application output.
import { Injectable } from '@nestjs/common'
import { HandlebarsRenderer } from '@wisemen/nestjs-handlebars'
import { MailClient } from '@wisemen/nestjs-mail'
@Injectable()
export class SendTemplateMailUseCase {
constructor(
private readonly mailClient: MailClient,
private readonly renderer: HandlebarsRenderer
) {}
async send(to: string, data: Record<string, unknown>): Promise<void> {
const [html, text] = await Promise.all([
this.renderer.render('mail/templates/welcome.html.hbs', data),
this.renderer.render('mail/templates/welcome.text.hbs', data)
])
await this.mailClient.sendMail({
to,
subject: 'Welcome',
html,
text
})
}
}