GitHub Get started

CLI for AEM Edge Delivery Services

Design frame in. EDS block out.

Paste a design link - a Figma URL, or a Framer / Stitch page. Figma is read via MCP/REST; Framer and Stitch are scraped with headless Chromium. Your AI agent writes the block - JS, CSS and a Universal Editor model - straight into your repo.

Design frame, model, JS and CSS layers stacked above the rendered page
0 bytesshipped to your site bundle
~73 kBpublished package
17Universal Editor field types mapped
3 agentsClaude Code · Cursor · Codex

What it does

One CLI around the whole block workflow.

Fetch the design once, generate the block with its Universal Editor model, then check it before review.

Figma frame with selection handles

Blocks from a design link

Paste a Figma URL, or a Framer/Stitch page. Your agent writes the JS, CSS and model.

How it works →
Universal Editor model JSON

Universal Editor models

Text, image and variant layers mapped to UE fields - 17 field types, multifields included.

Field reference →
Loading audit results in a terminal

Checks before review

Doctor, loading and security audits - locally or in CI. Security exits non-zero on critical and high findings.

Audits →

With @adobe/aem-cli

Keep your dev server. Add the workflow.

aem up still serves your site. eds adds what's around it: scaffolding, blocks from design, Universal Editor models, audits and preview.

  • Runs from anywhere inside an EDS project
  • Zero bytes shipped to your site bundle
  • Works with Claude Code, Cursor and Codex
eds block from-design running in a terminal

Migration

Moving from AEM Sites?

Map components to EDS blocks and content models step by step with the migration guide.

Read the migration guide

Content sources

Author it the way your team works.

Universal Editor

eds writes _hero.json next to the block, so authors edit the headline, description and image in place.

$ eds block from-design <url>
✔ content     ue
✔ ue model    yes

FAQ

Questions, answered.

No. It's a dev tool only - zero bytes in your bundle, zero LCP impact.

Everything you name and structure in Figma directly influences the generated code.

AI-First Design Rulesaem-eds-kit docs

Stop rebuilding Figma by hand.

Install the CLI and generate your first block in three commands.