Skip to content

Shank Environment

Summary

Shank requires no environment variables.

Shank is a build-time React Email project. It does not run as a service, does not connect to any external system, does not read secrets, and does not need configuration.

  • No .env* files are present in apps/shank/ (verified at last review).
  • apps/shank/react-templates/package.json does not reference process.env.* in any script.
  • The email dev, email build, and email export commands provided by the react-email toolchain run a local Next.js-style preview server on port 3000 (default) and read TSX from emails/. Nothing is fetched remotely.

What about SMTP / sender / Clerk credentials?

Those belong to sirloin, not shank. The actual email send path (apps/sirloin/internal/pkg/emails/client.go) reads:

VariablePurposeService
sender / from addresspassed to NewClient(sender, ...)sirloin
SMTP user / passwordpassed to NewClient(..., user, password, ...)sirloin
SMTP host / portpassed to NewClient(..., host, port)sirloin
Clerk API keyused by clerk.GetUserEmail to resolve recipientsirloin

For the canonical list of SMTP-related env vars and where they are loaded, see the sirloin docs and docs/src/content/docs/standards/deployment-env.md. The exact env-var names in sirloin’s loader (apps/sirloin/internal/pkg/env/variables.go) are: SIRLOIN_EMAIL_SENDER, SIRLOIN_EMAIL_USER, SIRLOIN_EMAIL_PASSWORD, SIRLOIN_EMAIL_HOST, SIRLOIN_EMAIL_PORT — read in apps/sirloin/internal/app/config/config.go and required (missing-error on empty).

Local preview port

pnpm dev (which runs email dev) listens on http://localhost:3000 by default. To change it, pass --port on the command line — there is no .env for it. See shank-local-dev.md.

Production deploys

Shank has no production deploy. Its only “production” output is the committed HTML in apps/sirloin/internal/pkg/emails/templates/, which ships as part of the sirloin binary via //go:embed.

Future runtime components

If shank ever gains a runtime component (e.g. a preview server deployed for designers), this page must be updated with the new env vars and a security review must classify any credentials added.