Marketplace

Discover, install, and manage themes, apps, sections, and starter templates from the ZephyrPHP Marketplace -- a centralized ecosystem for extending your ZephyrPHP application.

What is the ZephyrPHP Marketplace

The ZephyrPHP Marketplace is the official distribution platform for community and first-party packages built on top of the ZephyrPHP framework. It provides a curated catalog of installable extensions that add functionality, design, and structure to your projects without requiring you to build everything from scratch.

The marketplace serves as both a public directory you can browse on the web and an integrated panel within the ZephyrPHP CMS, allowing you to discover and install packages directly from your admin dashboard or via the command line.

How It Works

The marketplace organizes packages into four primary categories. Each category serves a distinct purpose in the ZephyrPHP ecosystem:

Category Description Examples
Themes Complete visual designs that control the look and feel of your site. Themes include layouts, templates, sections, and asset files. Corporate theme, blog theme, e-commerce storefront
Apps Self-contained feature modules that add new functionality. Apps can include routes, controllers, views, migrations, and configuration. Contact form, analytics dashboard, SEO toolkit
Sections Reusable content blocks that can be placed on any page. Sections are theme-agnostic and define their own schema for customization. Hero banner, testimonials slider, pricing table
Starters Pre-configured project templates that bundle a theme, selected apps, and default content to give you a head start on a specific type of project. SaaS landing page starter, blog starter, portfolio starter

Every marketplace package includes a manifest file (app.json for apps, theme.json for themes) that describes its metadata, version, dependencies, and configuration. The marketplace reads these manifests to display package information and handle installation.

Browsing and Installing Packages

There are several ways to discover and install marketplace packages depending on your workflow and preference.

Browsing the Marketplace Online

Visit the ZephyrPHP Marketplace on the web to browse available packages. Each listing includes a description, screenshots, version history, installation instructions, and user ratings. You can filter by category, sort by popularity or release date, and search by keyword.

Installing via the Command Line

The fastest way to install a marketplace package is through the Craftsman CLI. ZephyrPHP provides dedicated install commands for each package type.

Installing a Theme

php craftsman theme:install starter-starter

This command downloads the theme package, extracts it into your project's themes/ directory, and registers it in your theme configuration. You can then activate the theme from the CMS panel or by updating your configuration.

Installing an App

composer require zephyrphp/contact-form

Apps distributed through Packagist are installed via Composer. After installation, the app registers itself through its service provider and becomes available in your application. Some apps may require running migrations or publishing configuration files.

Installing via the Craftsman Add Command

php craftsman add marketplace-package-name

For packages that are registered as ZephyrPHP modules, you can use the add command, which handles both the Composer installation and the module registration in config/modules.php.

Install Commands Summary
Package Type Install Command
Theme php craftsman theme:install <name>
App (Packagist) composer require zephyrphp/<name>
Module php craftsman add <name>

Using the CMS Marketplace Panel

If you are running ZephyrPHP with the CMS module enabled, you have access to a built-in marketplace panel directly within your admin dashboard. The CMS marketplace panel provides a graphical interface for managing packages without touching the command line.

Panel Features

  • Browse: View all available themes, apps, and sections with preview images and descriptions.
  • Search and filter: Narrow results by category, author, compatibility, and keyword.
  • One-click install: Install packages directly from the panel. The system handles downloading, extraction, dependency resolution, and registration automatically.
  • Update management: See which installed packages have updates available and apply them with a single action.
  • Uninstall: Remove packages cleanly, including running any teardown logic defined by the package (such as dropping database tables or removing configuration entries).
  • Version history: View the changelog for each package and roll back to a previous version if needed.

Accessing the Panel

Navigate to the marketplace section in your CMS admin sidebar. The panel is available to users with administrator-level permissions. From there, you can switch between the Themes, Apps, and Sections tabs to manage each category independently.

The Marketplace API Endpoint

The ZephyrPHP Marketplace exposes a public API that the CLI tools and CMS panel use internally. You can also interact with this API directly for custom integrations, automated deployments, or building your own marketplace client.

Base URL

https://marketplace.zephyrphp.com/api/v1

Available Endpoints

Method Endpoint Description
GET /packages List all packages with optional filters (type, search, sort)
GET /packages/{slug} Get full details for a specific package
GET /packages/{slug}/versions List all published versions of a package
GET /packages/{slug}/download Download the latest version as a ZIP archive
GET /categories List available package categories

Example: Fetching Package Details

curl https://marketplace.zephyrphp.com/api/v1/packages/starter-theme

Response:

{
    "name": "Starter Theme",
    "slug": "starter-theme",
    "type": "theme",
    "version": "1.2.0",
    "description": "A clean, minimal starter theme for ZephyrPHP.",
    "author": "ZephyrPHP Team",
    "downloads": 4520,
    "compatibility": ">=0.1",
    "created_at": "2025-08-15T10:00:00Z",
    "updated_at": "2026-01-20T14:30:00Z"
}
API Authentication

Public endpoints (browsing and downloading free packages) do not require authentication. Premium or private packages may require an API token passed via the Authorization header.

Marketplace Configuration

You can configure marketplace behavior in your project's .env file or in config/marketplace.php if published:

# .env
MARKETPLACE_URL=https://marketplace.zephyrphp.com/api/v1
MARKETPLACE_CACHE_TTL=3600

The MARKETPLACE_CACHE_TTL setting controls how long package listings are cached locally (in seconds) to reduce API calls during browsing.

Next Steps