app
Resend Studio
Public Made by Adomby adom
A local editor for Resend email templates: paste your API key, then edit, preview, lint, test-send, and publish templates without Resend's dashboard. Also imports SendGrid dynamic templates and converts their Handlebars to Resend's variable syntax.
main
name: adom-resend-studio-build-and-test description: Build, test, and restart adom-resend-studio from source. Use when changing the studio's Rust server or its UI (ui/app.js, index.html, style.css), running its unit tests, or checking a UI change before shipping.
Build and test adom-resend-studio
The UI files are compiled into the binary with include_str!, so every UI edit
needs a rebuild and a server restart.
node --check ui/app.js # ALWAYS: a syntax error leaves the page stuck on "Loading..."
cargo test --release # converter + lint unit tests (src/convert.rs)
cargo build --release
curl -s -X POST localhost:8894/shutdown
set -a; . ~/.local/share/adom-resend-studio/env; set +a
adom-resend-studio serve --port 8894 &
Then load the page headlessly (puppeteer) and check pageerror is empty and
.template-item rows render, before telling anyone the change works.
---
name: adom-resend-studio-build-and-test
description: Build, test, and restart adom-resend-studio from source. Use when changing the studio's Rust server or its UI (ui/app.js, index.html, style.css), running its unit tests, or checking a UI change before shipping.
---
# Build and test adom-resend-studio
The UI files are compiled into the binary with `include_str!`, so every UI edit
needs a rebuild and a server restart.
```bash
node --check ui/app.js # ALWAYS: a syntax error leaves the page stuck on "Loading..."
cargo test --release # converter + lint unit tests (src/convert.rs)
cargo build --release
curl -s -X POST localhost:8894/shutdown
set -a; . ~/.local/share/adom-resend-studio/env; set +a
adom-resend-studio serve --port 8894 &
```
Then load the page headlessly (puppeteer) and check `pageerror` is empty and
`.template-item` rows render, before telling anyone the change works.