Files
myeasycms-v2/packages/email-templates/AGENTS.md
Giancarlo Buomprisco 7ebff31475 Next.js Supabase V3 (#463)
Version 3 of the kit:
- Radix UI replaced with Base UI (using the Shadcn UI patterns)
- next-intl replaces react-i18next
- enhanceAction deprecated; usage moved to next-safe-action
- main layout now wrapped with [locale] path segment
- Teams only mode
- Layout updates
- Zod v4
- Next.js 16.2
- Typescript 6
- All other dependencies updated
- Removed deprecated Edge CSRF
- Dynamic Github Action runner
2026-03-24 13:40:38 +08:00

1.0 KiB

Email Templates Instructions

This package owns transactional email templates and renderers using React Email.

Non-negotiables

  1. New email must be added to src/registry.ts (EMAIL_TEMPLATE_RENDERERS) or dynamic inclusion/discovery will miss it.
  2. New email renderer must be exported from src/index.ts.
  3. Renderer contract: async function returning { html, subject }.
  4. i18n namespace must match locale filename in src/locales/<lang>/<namespace>.json.
  5. Reuse shared primitives in src/components/* for layout/style consistency.
  6. Include one clear CTA and a plain URL fallback in body copy.
  7. Keep subject/body concise, action-first, non-spammy.

When adding a new email

  1. Add template in src/emails/*.email.tsx.
  2. Add locale file in src/locales/en/*-email.json if template uses i18n.
  3. Export template renderer from src/index.ts.
  4. Add renderer to src/registry.ts (EMAIL_TEMPLATE_RENDERERS).

src/registry.ts is required for dynamic inclusion/discovery. If not added there, dynamic template listing/rendering will miss it.