Awn Awn
Back to Awn
Documentation menu — Manifest reference
Build / Manifest reference
Version
1.0
Last verified
2026-08-09

Manifest reference

Theme required keys: slug, name, description, version, theme_api, capabilities, settings; optional thumbnail. Plugin required keys: slug, name, description, version, module, type, requires, slots, settings; optional slot_priorities.

{
  "requires": {
    "awn": "^1.0",
    "theme_api": "^1.0",
    "capabilities": [],
    "optional_capabilities": [],
    "themes": {}
  }
}

Plugin requires subkeys default to */empty when omitted. module helps identify package controller routes during validation. Unknown top-level keys are currently ignored.

Current ExtensionCapability values are exact and versioned:

slots.before_footer.v1
slots.home_after_hero.v1
slots.page_after_content.v1
site_navigation.v1
plugin_pages.v1

Capabilities describe public integration supplied by the active theme. Organization and Super Admin pages/widgets are declared through PHP contracts and must not be listed as theme capabilities.

Setting names match ^[a-z][a-z0-9_]*$. All definitions require type, label, default. Theme types: color, select, boolean, text, number. Plugin types: text, textarea, number, select, boolean. Select requires options; plugin numbers reject min > max.

Both manifests expose defaults(). Defaults are not security: themes normalize centrally, plugins in the driver. Validation requires every plugin setting key in normalized defaults.

php artisan awn:extensions:validate

This checks definitions, theme site views/thumbnails/declared slot rendering, plugin drivers/default normalization, and slot-required-capability mappings.