aem-cli

Install, configure, and troubleshoot the Adobe AEM CLI for local Edge Delivery development.

1|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/aemgdc/aemdev --skill aem-cli-aemgdc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: aem-cli
Source: https://github.com/aemgdc/aemdev/tree/main/.agents/skills/aem-cli
Command: npx skills add https://github.com/aemgdc/aemdev --skill aem-cli-aemgdc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @adobe/aem-cli, and includes references (resource) components.

What problem does it solve? Setting up and running the Adobe AEM CLI (@adobe/aem-cli) involves installation conflicts with the legacy helix-cli package, port collisions, TLS certificate errors behind corporate proxies, and silent failures when pushing content to da.live. This Skill provides verified commands, configuration references, and troubleshooting steps for these exact failure modes. ## Core Features & Use Cases - Local Dev Server: Start aem up with the right flags for headless agent workflows, local HTML serving via --html-folder, TLS via mkcert, and .env-based AEM_* configuration. - Import Server & Content Sync: Run aem import for the helix-importer-ui and use git-style aem content subcommands to clone, diff, and push content to da.live. - Troubleshooting: Resolve EADDRINUSE port conflicts, corporate proxy certificate errors, pipeline 404s, and the known binary-file and HTML-normalization limitations of aem content push by falling back to the DA Source API. - Use Case: An agent needs to preview locally generated import HTML. It runs aem up --html-folder drafts --no-open --forward-browser-logs, verifies the server responds on port 3000, and serves the drafts at /drafts/<name>. ## Quick Start Install the CLI globally with npm and start the local dev server using aem up with the no-open and forward-browser-logs flags, then verify it responds on localhost port 3000.

Frequently Asked Questions about aem-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install the Adobe AEM CLI?▼

Install the AEM CLI globally with npm install -g @adobe/aem-cli, or run it without installing via npx -y @adobe/aem-cli up. Node.js 12.11 or newer is required, with Node 22 LTS recommended. Verify the install with aem --version.

How do I migrate from the old helix-cli package to aem-cli?▼

Uninstall the legacy package first with npm uninstall -g @adobe/helix-cli, then run npm install -g @adobe/aem-cli. The old package owns the hlx binary and causes a File exists error otherwise. After installation, both aem and hlx commands work.

Why does aem up fail with unable to get local issuer certificate?▼

This error occurs behind corporate proxies that intercept HTTPS, so Node.js cannot verify the replaced certificate. Export your corporate CA certificate and set NODE_EXTRA_CA_CERTS to its path before running aem up. This variable must be set in the shell, not in .env.

Why does aem content push not upload my images or PDFs?▼

The aem content push command silently no-ops on binary files such as images, PDFs, and fonts. Upload binaries directly through the DA Source API with a POST to admin.da.live using the token cached in .hlx/.da-token.json.

How do I serve local HTML files with the AEM dev server?▼

Pass --html-folder <dir> to aem up, or set AEM_HTML_FOLDER in .env. Files in that folder are served without extensions at /<dir>/<name>. Without this flag, all requests proxy to the remote pipeline and local-only paths return 404.

How do I fix EADDRINUSE port 3000 already in use with aem up?▼

Port 3000 is the default dev server port and is already occupied. Either pass --port with a different number, or stop the process using port 3000. The CLI also has --stop-other enabled by default to stop a conflicting AEM CLI instance.