main
Colby Knox Publish 0.1.1 703d143 11d ago

Resend Studio

A local editor for Resend email templates, for people who would rather not live in Resend's dashboard. Paste your Resend API key, and edit, preview, lint, test, and publish your templates from a fast local UI. It can also move your templates over from SendGrid.

Runs on your machine. Your API key is stored locally and only ever sent to Resend.

Editing a template with live preview, variables, and checks

What it does

  • Lists your Resend templates next to your local drafts, with published, unpublished, and local-only state at a glance.
  • Edits everything Resend stores: name, alias, subject, sender, reply-to, HTML, and the variable schema (key, type, fallback), with a live preview substituted exactly the way Resend does it, at desktop and phone widths.
  • Lints as you type against Resend's rules: leftover Handlebars blocks ({{#if}}) and double-brace variables that would go out as literal text, undeclared or reserved variables, missing fallbacks, the 50-variable limit.
  • Never changes live email by accident. Save keeps a local draft. Upload sends it to Resend's draft. Publish is separate and asks you to type the alias.
  • Test sends: send the unpublished draft (rendered locally with your sample values) or the published version through Resend's own template engine.
  • Imports from SendGrid (read-only): converts {{var}} to {{{var}}}, and for each {{#if}} block lets you split it into two templates, always show it (with a fallback), or drop it, since Resend has no conditionals.

Checks catching a leftover {{#if}} block and an undeclared variable

Install

Linux (x86_64): download the binary. It is a single static file with no dependencies; it runs on any x86_64 Linux distribution.

curl -fL -o adom-resend-studio "https://wiki.adom.inc/download/adom/adom-resend-studio/latest?platform=linux"
chmod +x adom-resend-studio
./adom-resend-studio serve          # then open http://127.0.0.1:8894

With the Adom Wiki CLI (also installs the AI skill):

adom-wiki pkg install adom/adom-resend-studio

On x86_64 Linux this uses the same prebuilt binary. Elsewhere it builds from source, which needs a Rust toolchain (cargo).

Use

adom-resend-studio serve            # then open http://127.0.0.1:8894
adom-resend-studio serve --open-tab # inside Adom Hydrogen: opens it in a tab

On first run the studio opens Settings. Paste a Resend API key from resend.com/api-keys:

  • Full access lets the studio list, upload, and publish templates.
  • Sending access only allows test sends. The studio tells you which one you pasted.

Also set a default From address on a domain you verified in Resend.

Settings: your key stays on this machine

Two things worth knowing about Resend templates

  1. Variables are not HTML-escaped. Resend inserts {{{var}}} values as raw HTML. If a value comes from a user (a name, a comment), escape it in your sending code, or someone can put links or markup into your email.
  2. The same value goes into the subject. Escape a value for the body and the subject shows &. Build the subject from the raw values in your sender and pass it as subject, which overrides the template's.

Where things live

What Where
Settings (keys, sender defaults) ~/.local/share/adom-resend-studio/settings.json, owner-only
Local drafts ~/.local/share/adom-resend-studio/resend-studio.db (SQLite)
Override the folder RESEND_STUDIO_HOME

Environment variables win over Settings when set: RESEND_API_KEY, SENDGRID_API_KEY, RESEND_STUDIO_FROM, RESEND_STUDIO_REPLY_TO, RESEND_STUDIO_TEST_TO.

The server listens on 127.0.0.1 only and accepts requests from its own page only. To reach it through another hostname (a reverse proxy), list it in RESEND_STUDIO_ALLOWED_HOSTS.

See SKILL.md for the HTTP API an AI agent can drive.