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.
← Commit history
Publish 0.1.1
10 files changed
+43−12
.gitignore+2@@ -2,3 +2,5 @@ *.db *.db-journal .env+/dist+/bin
Cargo.lock+1−1@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "adom-resend-studio"-version = "0.1.0"+version = "0.1.1" dependencies = [ "anyhow", "base64",
Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "adom-resend-studio"-version = "0.1.0"+version = "0.1.1" edition = "2024" [[bin]]
README.md+13−1@@ -31,11 +31,23 @@ Runs on your machine. Your API key is stored locally and only ever sent to Resen ## Install +**Linux (x86_64): download the binary.** It is a single static file with no+dependencies; it runs on any x86_64 Linux distribution.++```bash+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):+ ```bash adom-wiki pkg install adom/adom-resend-studio ``` -The installer builds from source, so it needs a Rust toolchain (`cargo`).+On x86_64 Linux this uses the same prebuilt binary. Elsewhere it builds from+source, which needs a Rust toolchain (`cargo`). ## Use
VERSION+1−1@@ -1 +1 @@-0.1.0+0.1.1
install.sh+22−5@@ -3,15 +3,32 @@ set -e BIN_DIR="$HOME/.local/bin" SKILL_DIR="$HOME/.claude/skills/adom-resend-studio"+VERSION=$(sed -n 's/^ *"version": *"\([^"]*\)".*/\1/p' "$PWD/package.json" | head -n 1)+ASSET_URL="https://wiki.adom.inc/download/adom/adom-resend-studio/$VERSION/adom-resend-studio-linux-x64"+BIN="" -command -v cargo >/dev/null 2>&1 || { echo "ERROR: cargo is required to build adom-resend-studio." >&2; exit 1; }+# On x86_64 Linux, use the prebuilt static binary for this exact version, if it+# downloads and runs. Anything else builds from source.+if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "x86_64" ] && command -v curl >/dev/null 2>&1; then+ mkdir -p "$PWD/bin"+ if curl -fsSL -o "$PWD/bin/adom-resend-studio" "$ASSET_URL" 2>/dev/null; then+ chmod +x "$PWD/bin/adom-resend-studio"+ if "$PWD/bin/adom-resend-studio" --version >/dev/null 2>&1; then+ BIN="$PWD/bin/adom-resend-studio"+ echo "Using the prebuilt binary for v$VERSION."+ fi+ fi+fi -echo "Building adom-resend-studio (release)..."-cargo build --release --manifest-path "$PWD/Cargo.toml"+if [ -z "$BIN" ]; then+ command -v cargo >/dev/null 2>&1 || { echo "ERROR: no prebuilt binary for this machine, and cargo is required to build adom-resend-studio from source." >&2; exit 1; }+ echo "Building adom-resend-studio (release)..."+ cargo build --release --manifest-path "$PWD/Cargo.toml"+ BIN="$PWD/target/release/adom-resend-studio"+fi mkdir -p "$BIN_DIR"-# Symlinked so a later pull + rebuild in this checkout is picked up.-ln -sfn "$PWD/target/release/adom-resend-studio" "$BIN_DIR/adom-resend-studio"+ln -sfn "$BIN" "$BIN_DIR/adom-resend-studio" mkdir -p "$SKILL_DIR" cp "$PWD/SKILL.md" "$SKILL_DIR/SKILL.md"
package.json+1−1@@ -2,7 +2,7 @@ "slug": "adom-resend-studio", "title": "Resend Studio", "type": "app",- "version": "0.1.0",+ "version": "0.1.1", "description": "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.", "tags": [ "cli",
page.json+1−1@@ -2,7 +2,7 @@ "slug": "adom-resend-studio", "title": "Resend Studio", "type": "app",- "version": "0.1.0",+ "version": "0.1.1", "description": "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.", "tags": [ "cli",
ui/index.html+1−1@@ -33,7 +33,7 @@ <div class="hover-popover" id="app-info" role="dialog" aria-label="App information"> <div class="popover-title">adom-resend-studio</div> <div class="popover-row"><span class="k">about</span><span class="v">Edit, preview, test, and publish Resend email templates. Edits stay local until you upload; uploads only change Resend's draft; real email changes only when you publish.</span></div>- <div class="popover-row"><span class="k">version</span><span class="v" id="popVersion">v0.1.0</span></div>+ <div class="popover-row"><span class="k">version</span><span class="v" id="popVersion"></span></div> <div class="popover-row"><span class="k">shortcut</span><span class="v">Ctrl+S saves the local draft</span></div> </div> </header>
uninstall.sh