Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>AEM Shift — AEM Migration Co-PilotNew to Visual Studio Code? Get it now.
AEM Shift — AEM Migration Co-Pilot

AEM Shift — AEM Migration Co-Pilot

AEM Shift

|
1 install
| (0) | Free
Scan, diagnose, and auto-fix AEM codebases for any migration path. Powered by pattern matching + Claude AI.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AEM Shift — AEM Migration Co-Pilot

Scan, diagnose, and auto-fix AEM codebases for any migration path.

AEM Shift automatically detects AEM projects in your workspace, scans every Java, XML, pom.xml, JSP, and config file against a battle-tested set of migration rules, and shows you exactly what will break — with fix guidance for every issue.


Features

Automatic AEM Detection

Open any AEM project and AEM Shift instantly detects it. No configuration needed — it reads your pom.xml and knows exactly what it's looking at.

Deep Migration Scanning (Free)

  • Scans all .java, pom.xml, .xml, .html, .jsp, .cfg, .config files
  • 40+ rules covering every known AEM 6.5 → LTS breaking change
  • Results in VS Code Problems panel (red squiggles in your code)
  • Full report dashboard with filtering, search, and export to CSV

SP1 & SP2 Aware

Rules are tagged to the exact service pack they apply to. Target SP2 and only see SP2-relevant issues. Target SP1 and see SP1 issues. No noise.

Java Version Aware

Detects your current Java version from pom.xml or the system. Shows extra rules for Java 8 → 17 (JAXB removed, Nashorn removed, JAX-WS removed) vs Java 11 → 17 (SecurityManager, strong encapsulation).

Sidebar Chat Co-Pilot (Free)

Ask anything about AEM migration directly in the sidebar — no AI subscription needed for AEM knowledge questions:

  • "What changed in AEM 6.5 LTS?"
  • "How do I fix the Guava error?"
  • "What is the PowerMock issue with Java 17?"

AI Auto-Fix (Pro)

One-click fix for every issue, powered by Claude AI. The AI understands AEM deeply — it doesn't just replace imports, it refactors the logic correctly.


Migration Rules Covered

Critical — Breaks Build or Runtime

Rule What breaks
Guava Removed com.google.common.* throws ClassNotFoundException
UberJar Classifier Must use apis classifier with version 6.6.0
Social Bundles Removed com.adobe.cq.social.cq-social* gone
RequestResponseFactory Removed Use Sling Request/Response Builders
PropertiesUtil Deprecated Use OSGi DS annotations instead
Commons Collections 3.x Migrate to Collections4
Commons Lang 2.x Migrate to Lang3
/systemalive Removed Replace with /system/health
Handlebars Removed Migrate to HTL/Sightly
We-Retail References Remove all /content/we-retail paths

Test Framework

Rule What breaks
PowerMock + Java 17 Tests fail with InaccessibleObjectException
Mockito Version Conflicts Mixed 4.x / 5.x causes failures
Surefire Plugin Too Old Upgrade to 3.0.0+
JMockit Conflicts Upgrade to 1.41+

Java 8 → 17 Specific

Rule What breaks
JAXB Removed ClassNotFoundException for javax.xml.bind.*
JAX-WS Removed SOAP client code breaks
Nashorn Removed JavaScript engine gone since Java 15
javax.activation Removed DataHandler, MimeType break
sun.misc.* Removed Internal JDK API access blocked

SP1 / SP2 Specific

Rule SP
S3 Datastore JDK 21 crash SP1 fix
JSP scripting bundle bug SP1 fix
Content Fragment REST API deprecated SP2
New CF OpenAPI endpoints SP2

How to Use

  1. Open your AEM project folder in VS Code
  2. AEM Shift detects it automatically and shows a popup
  3. Click Scan now
  4. Answer two quick questions (Java version + target SP)
  5. View results in the report panel and Problems panel

Right-click scanning

Right-click any folder in the Explorer → AEM Shift: Scan for LTS Upgrade

Command Palette

Ctrl+Shift+P → search "AEM Shift"


Settings

Setting Default Description
aemshift.showStartupNotification true Show popup when AEM project detected
aemshift.migrationPath aem65-to-lts Active migration path
aemshift.targetServicePack SP2 Target LTS service pack (SP1 or SP2)
aemshift.javaSourceVersion unknown Current Java version
aemshift.javaTargetVersion 21 Target Java version after migration
aemshift.scanOnSave false Auto-scan on file save
aemshift.excludePatterns target/**, node_modules/** Folders to skip

Pro License

Free tier includes full scanning, report panel, fix guidance text, and CSV export.

Pro unlocks AI-powered auto-fix for every issue.

Enter your key: Ctrl+Shift+P → AEM Shift: Enter License Key


Supported Migration Paths

Path Status
AEM 6.5 → AEM 6.5 LTS ✅ Full rules
AEM 6.4 → AEM 6.5 Coming soon
AEM 6.5 → AEM Cloud Coming soon
WordPress → AEM Coming soon

Feedback & Issues

Found a false positive? Missing a rule? Open an issue on GitHub.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft