The modules
The metapackage nebula/admin requires 26 modules (including the separately maintained UI Bridge) and one theme. All carry the same version.
The engine
| Package |
Module |
Purpose |
nebula/module-component |
Nebula_Component |
Definition loader, merger, snippet resolver, resolver and cache, registries, renderer pool, access control, lifecycle events, JSON schemas, nebula:compile, nebula:lint, nebula:lint:options, nebula:doctor, the generate commands |
nebula/module-grid |
Nebula_Grid |
Grid block and templates, collection provider, request applier, column renderers, filters, export, saved views, quick edit, selection pickers, nebula:catalog:fix-category-tree |
nebula/module-form |
Nebula_Form |
Form and EAV form blocks, field renderers, route mounting, validator, save pipeline |
nebula/module-core |
Nebula_Core |
The shell: forced admin theme, layout scoping, menu, command palette, configuration screens, dashboard, branding, the Nebula configuration section |
nebula/theme-adminhtml-backend |
theme Nebula/backend |
Tokens, the Tailwind stylesheet, compiled TypeScript bundles, page templates |
The screens
| Package |
Module |
Purpose |
nebula/module-theme |
Nebula_Theme |
The content pack: data providers, grid and form definitions, layout handles, snippets and view models for catalog, customers, sales, marketing, content and system screens |
nebula/module-menu |
Nebula_Menu |
Admin menu data and icons |
nebula/module-reports |
Nebula_Reports |
Report grids |
nebula/module-store |
Nebula_Store |
Store, website and store view screens |
nebula/module-system |
Nebula_System |
System screens: cache, index, backups, import and export, notifications |
nebula/module-user |
Nebula_User |
Admin users, roles and locked users |
nebula/module-currency |
Nebula_Currency |
Currency rates and symbols |
nebula/module-merchandiser |
Nebula_Merchandiser |
Category merchandising by drag and drop on its own route, writing a position diff instead of re-saving the category |
Content editing
| Package |
Module |
Purpose |
nebula/module-quill |
Nebula_Quill |
The rich-text field on Quill; sets itself as the default editor on install |
nebula/module-directive |
Nebula_Directive |
Directive, widget and variable pickers for the editor |
nebula/module-media |
Nebula_Media |
The media browser and media index |
nebula/module-email-template-editor |
Nebula_EmailTemplateEditor |
The shared email header and footer editor with a split-pane HTML view, under Marketing › Email Header & Footer, and the panel that assigns a template to the configuration slots that send it |
nebula/module-landing-page |
Nebula_LandingPage |
Campaign landing pages with their own URL, store scope, content, SEO metadata and sitemap entry |
Access and identity
| Package |
Module |
Purpose |
nebula/module-roles |
Nebula_Roles |
Ten role templates, a role picker that previews the diff before saving, field-level product ACL |
nebula/module-passkey |
Nebula_Passkey |
Passkeys and TOTP two-step for administrators and customers, recovery codes, the nebula_passkey two-factor provider |
| Package |
Module |
Purpose |
nebula/module-ui-bridge |
Nebula_UiBridge |
Runtime conversion of supported third-party UI Component grids and forms; disabled by default, see UI Bridge |
nebula/module-ui-removal |
Nebula_UiRemoval |
Skips a core UI Component only where a Nebula definition with the same name exists |
nebula/module-ui-transformer |
Nebula_UiTransformer |
nebula:ui:transform: converts UI Component XML into draft definitions |
nebula/module-crud-generator |
Nebula_CrudGenerator |
nebula:crud:generate: scaffolds a CRUD module from a database table |
nebula/module-skin |
Nebula_Skin |
Skin discovery and the inline token stylesheet; 19 shipped skins |
nebula/module-pro-marketing |
Nebula_ProMarketing |
Detects Nebula Pro packages and shows the in-admin upsell; can be turned off |
nebula/module-theme-switcher |
Nebula_ThemeSwitcher |
Switch between Nebula and another admin theme without uninstalling |
Nebula_CrudFixture exists in the source repository as generator output for the generator's tests. It is not in the metapackage and must not be installed on a store.
Dependencies between modules
Every module declares its dependencies in module.xml <sequence> and in its composer.json. The graph has no cycles. A module of yours that ships definitions should sequence after Nebula_Component, Nebula_Grid, Nebula_Form and, if it overlays a shipped definition, after the module that ships it.