Composer – Focus Theme Installer

2026-02-26

The Composer – Focus Theme Installer repository provides a dedicated Composer installer plugin that automates theme management and installation within Focus CMS.

A key architectural distinction is that themes are not installed into the vendor/ directory, but directly into the project’s Themes/ directory.

Independent and Configurable Installation Model

Installation is not limited to the application’s composer.json file.
The system supports a partially independent, configuration-driven installation mechanism, implemented via a themes.json file.

This enables:

  • defining optional repositories,
  • using local development path repositories,
  • symlink-based development workflows,
  • dynamic theme registration via the Composer installer plugin.

The themes.json file declaratively defines which themes should be installed and from which source.

This ensures that:

  • themes remain first-class resources of the project,
  • they do not behave as traditional vendor dependencies,
  • they are version-controlled while remaining structurally integrated into the CMS,
  • in development environments, they can even be used via direct symlinking.

As a result, themes can be installed and updated in a reproducible manner, while the project directory structure remains clean and modular.

The Composer – Focus Theme Installer works alongside the Module Installer, allowing both Themes/ and Modules/ directories to participate in a Composer-based, domain-oriented workflow.

GitHub Repository
https://github.com/hi-personal/focus-cms-cti