Set up the Email Framework
After purchase you have two install paths — the private npm registry (lifetime updates via pnpm up) or a self-contained zip. Both deliver the same engine, CLI, skills, and templates. Path A starts from the public scaffolder; Path B is a self-contained zip — no scaffolder, and no private registry or GitHub Packages token (the bundled starter still runs pnpm install to pull public deps like React).
Start: scaffold a project
The public scaffolder bootstraps email.config.ts, a welcome starter, the .claude/ skills, and the scripts. Path A only — the Path B zip already bundles a ready-to-run starter-project, so skip this step if you’re installing from the zip.
npx create-adsights-email@latest my-emails
cd my-emailsPath A — private npm registry (≈5 min)
Lifetime updates via the registry. Needs a free GitHub token.
- 1
Add your GitHub token
Create a token withread:packagesscope, then:
We grant your GitHub handle access to thecp .npmrc.example .npmrc # paste your token where it says YOUR_TOKEN_HEREemail-framework-buyersteam at checkout (using the handle you provide). Set it later from your account if you skipped it. - 2
Install
pnpm install
Path B — self-contained zip (≈3 min)
No scaffolder, no private registry, no token — the private packages are bundled (public deps still install from npm).
- 1
Download + unzip
Grab the latest zip from your account and unzip it anywhere. It bundles the pre-packed packages, the.claude/skills, and a ready-to-runstarter-project/— you do not need the scaffolder step above for this path. - 2
Install from the bundled starter-project
The bundledcd adsights-email-framework-v*/starter-project pnpm install # private pkgs from ../packages/*.tgz — no .npmrc, no GitHub Packagesstarter-project/package.jsonalready points its dependencies at the local tarballs, so install never touches GitHub Packages.
Configure + render
- 1
Set your brand + sender (required before sending)
Openemail.config.tsand set a realsender.postalAddressandsender.unsubscribeUrl— both are legally required (CAN-SPAM / GDPR) — plus your hosted logo URLs. Or run/email-initin Claude Code to do it interactively. - 2
Render your first email
Open thepnpm email:render welcome # → out/welcome__apple-mail.html (+ .txt) pnpm email:render-all welcome # → every enabled client profile + a manifestout/*.htmlin a browser to preview, then upload the HTML + plaintext to your ESP (Klaviyo, Mailchimp, Customer.io, Postmark, …). - 3
Or let Claude drive it
In Claude Code:/email-quickstart "<your product>"renders a brand-applied email in under five minutes;/email-reviewruns an adversarial deliverability pass before you send.