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 inapps/shank/(verified at last review). apps/shank/react-templates/package.jsondoes not referenceprocess.env.*in any script.- The
email dev,email build, andemail exportcommands provided by thereact-emailtoolchain run a local Next.js-style preview server on port3000(default) and read TSX fromemails/. 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:
| Variable | Purpose | Service |
|---|---|---|
| sender / from address | passed to NewClient(sender, ...) | sirloin |
| SMTP user / password | passed to NewClient(..., user, password, ...) | sirloin |
| SMTP host / port | passed to NewClient(..., host, port) | sirloin |
| Clerk API key | used by clerk.GetUserEmail to resolve recipient | sirloin |
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.