@aem-kit/create-project
v2.1.0
Published
Interactive wizard that scaffolds a new AEM project (Monolith / Multi-repo, Traditional / React / Angular, optional Spring Boot & AEMaaCS).
Downloads
794
Readme
@aem-kit/create-project
Interactive wizard that scaffolds a new enterprise AEM project — a ready-to-build multi-module Maven repo. Supports Monolith and Multi-repo architectures, Traditional (HTL + JS Use-API, UnoCSS) or React / Angular SPA Editor frontends, an optional decoupled Spring Boot service, and optional AEMaaCS setup.
Part of the AEM Enterprise Engineering Kit.
Usage
npm create aem-enterprise
# or
npx @aem-kit/create-projectThe wizard asks:
- Architecture — Monolith (standard) or Multi-repo (enterprise scale).
- Frontend (Monolith) — Traditional HTL + JS Use-API, React, or Angular.
- Backend — Native AEM, or Native + a decoupled Spring Boot service.
- AEMaaCS — add
ui.config(runmode OSGi) +dispatcher.cloud. - Project name, app id, groupId, artifactId, ports, and git init.
It then rewrites the template's identifiers (package names, /apps and
/content folders, clientlib category, Java package directory) to your choices.
Output
Depends on the answers. A Monolith looks like:
my-project/
core/ Java bundle (Sling Models, servlets, services)
ui.apps/ components (JS Use-API), editable template, clientlib
ui.content/ sample content page
ui.frontend/ UnoCSS (Traditional) or React / Angular SPA build
all/ container package (single deployable)
ui.config/ runmode OSGi config (when AEMaaCS is selected)
dispatcher/ dispatcher.cloud config (when AEMaaCS is selected)
services/<artifact>-service/ Spring Boot 3 (when backend = spring-boot)
.githooks/ pre-commit format gate (auto-enabled)
.github/ CI workflowA Multi-repo project scaffolds a workspace of repos (general/, backend/);
add brand/category child repos afterwards with aem multirepo create <category>
(created under childs/).
Then (Monolith):
cd my-project
cd ui.frontend && npm install && npm run build
cd .. && mvn clean install -PautoInstallPackageRelated packages
| Package | Purpose |
|---------|---------|
| @aem-kit/create-project | Scaffold a new AEM project (this package) |
| aem-kit | The aem CLI — generators, doctor, deploy |
| @aem-kit/generators | Component / model / servlet / service generators |
| @aem-kit/templates | AEM project templates (used by this wizard) |
| @aem-kit/shared | Shared utilities |
License
MIT
