Search

dd_emailforge: build HTML emails in your terminal

dd_emailforge is a small app that runs in your terminal and helps you build one email template at a time. You pick blocks (a header, a hero, text, buttons, columns, a footer), fill in their details, and dd_emailforge turns the result into HTML that works across email apps. Then you paste that HTML into your email service, such as Mailchimp, and send it from there.

It's made for marketers and CRM folks, designers, and developers. Everyone follows the same main path in these guides. Sections marked For developers cover the command line, the template.json file, MJML, and version control. Skip them if you only work in the app.

The dd_emailforge terminal app showing the Structure tree on the left and an outline of the email on the right
How it works, in five steps
  1. Install it. One command installs the app. You'll also want Node.js 20 or newer for previewing and exporting.
  2. Create a template. Start from a ready-made starter: welcome, newsletter, promo, or transactional.
  3. Build your email. Add blocks, fill in their details, and arrange them using the keyboard (or your mouse).
  4. Check it. Press F3 to check for problems and p to preview it in your browser at desktop and phone widths.
  5. Export and send. Press Shift+E to export the HTML, then paste it into your email service and send from there.
The finished ldnddev Monthly Newsletter shown at desktop width and phone width side by side
What it does and doesn't do
  • It builds one template at a time. Each template lives in its own folder.
  • It doesn't send email. There's no send or test-email button and no built-in connection to an email service. You copy the exported HTML into your email service and send (and test) from there.
  • The preview is in your browser, not inside the terminal.
  • It doesn't import existing HTML or MJML emails. You build templates in dd_emailforge from the start.
The guides
  • Install and set up: what you need, the install command, and creating your first template folder.
  • A tour of the app: the screens, panels, and every keyboard shortcut.
  • Build your first email: step by step, build the ldnddev Monthly Newsletter from top to bottom.
  • Preview and validate: find and fix problems, and check your email at desktop and phone widths.
  • Export and send: get your HTML and send it with Mailchimp or any email service that accepts custom HTML.
  • For developers: command-line use, the template.json format, starters, and the app's color theme.
  • FAQ and troubleshooting: fixes for common problems, like a missing Node.js or logos that don't show up in Gmail.
For developers: how a template becomes HTML

Every template is a folder with a typed template.json. dd_emailforge turns it into strict MJML (template.mjml), and the official MJML 5 compiler for Node (mjml ^5.4.0) turns that into template.html:

template.json  →  template.mjml  →  template.html

The app is a single Rust binary with a terminal interface. You can also run it from the command line without the interface (init, validate, export, preview, show). See For developers.