What Is the Feature Model?

The Sling Feature Model replaces the old Launchpad approach to assembling a runtime. A feature is a JSON file that declares which OSGi bundles, configurations, and content packages make up a runnable application.

Features can include other features, so a launcher aggregate typically merges a base platform feature with one feature per application.

Feature File Anatomy

{
  "bundles": [
    { "id": "org.apache.sling:org.apache.sling.api:2.27.0" }
  ],
  "configurations": {
    "org.apache.sling.jcr.repoinit.RepositoryInitializer": {
      "scripts": [
        "create service user matrix-service"
      ]
    }
  }
}

The feature-launcher tool resolves every declared bundle, starts the OSGi framework, and installs configurations and content — the same mechanism this project's own launcher module uses to boot the whole Sling Matrix site.