feat: turbostarter boilerplate

Production-ready Next.js boilerplate with:
- Runtime env validation (fail-fast on missing vars)
- Feature-gated config (S3, Stripe, email, OAuth)
- Docker + Coolify deployment pipeline
- PostgreSQL + pgvector, MinIO S3, Better Auth
- TypeScript strict mode (no ignoreBuildErrors)
- i18n (en/es), AI modules, billing, monitoring

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-02-02 17:29:12 +00:00
commit 3527e732d4
1618 changed files with 338230 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
import { logger } from "@turbostarter/shared/logger";
import { send } from "./providers";
import { getTemplate } from "./templates";
import type { EmailTemplate, EmailVariables } from "./types";
const sendEmail = async <T extends EmailTemplate>({
to,
template,
locale,
variables,
}: {
to: string;
template: T;
variables: EmailVariables[T];
locale?: string;
}) => {
logger.info(`Sending email ${template} to ${to}`);
try {
const { html, text, subject } = await getTemplate({
id: template,
variables,
locale,
});
const result = await send({ to, subject, html, text });
logger.info(`Email sent successfully to ${to}`);
return result;
} catch (error) {
logger.error(error, `Failed to send email ${template} to ${to}`);
throw error;
}
};
export { sendEmail };