HomeAEM Fundamentals › Repository structure & where things belong

Repository structure & where things belong

Purpose: Decide the correct home for code, config and content, and understand ownership of each top-level path.

Who this page is for

AudienceWhy it matters to you
All engineersPrevents the most common review comments

The map

PathContainsOwnerMutable in prod?
/appsYour components, models (as bundles), templates' code side, overlaysDev (git)No — deploy-only
/libsAdobe product codeAdobeNever touch
/contentPages, site contentAuthorsYes (that's the product)
/content/damAssetsAuthors/DAM teamYes
/confEditable templates, policies, CF models, workflow modelsGoverned (authors+devs)Controlled
/etcLegacy config, some tooling remainsMixedAvoid growing
/varRuntime state: workflows, audit, statisticsSystemSystem-managed
/homeUsers & groupsPlatformVia user admin
/oak:indexIndex definitionsDev (git)Deploy-only

Overlays: customising product UI

To change product behaviour (e.g. hide a Sites console action), copy the relevant /libs path into /apps at the same relative path — the search path checks /apps first. Overlay minimally: copy the single node you change, not whole trees, or upgrades become painful.

"Where does X go?" quick answers

ThingHome
New component/apps/phi-academy/components/… (via ui.apps in git)
OSGi config/apps/phi-academy/osgiconfig/config.<runmode>/
Editable template/conf/phi-academy/settings/wcm/templates (authored, promoted via packages)
Content Fragment model/conf/phi-academy/settings/dam/cfm/models
Custom index/oak:index/… (via repo init or package, code-reviewed)
Site content/content/phi/… (authored, never in git)

Quick navigation