ambrion/evocms-evo-package-manager

Evo Package Manager module for EvolutionCMS CE 3

Maintainers

Package info

github.com/Ambrion/evocms-evo-package-manager

Documentation

Type:evolutioncms-package

pkg:composer/ambrion/evocms-evo-package-manager

Statistics

Installs: 18

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0-alpha 2026-05-24 12:33 UTC

This package is auto-updated.

Last update: 2026-05-24 12:35:38 UTC


README

πŸ‡·πŸ‡Ί Русский | πŸ‡¬πŸ‡§ English

Evo Package Manager for EvolutionCMS CE 3

Unified package management solution for EvolutionCMS CE 3 β€” via CLI or convenient web UI.

This module adds console commands and a user interface for streamlined package lifecycle management within EvolutionCMS CE 3.

Automatic post-installation migrations and publication of resources are available; the hope is that sometime the package developer will be able to configure this in composer.json.

A unified database registry of installed packages provides centralized package information viewing.

πŸ“¦ Installation

cd /core
php artisan package:installrequire ambrion/evocms-evo-package-manager "v0.1.0-alpha"
php artisan vendor:publish --provider="EvolutionCMS\EvoPackageManager\EvoPackageManagerServiceProvider"
php artisan migrate

βš™οΈ Requirements

Requirement Version Notes
PHP ^8.3 Required for typed properties and readonly classes
EvolutionCMS CE β‰₯3.1.30 Tested on v3.1.30; may work on earlier 3.x versions
Composer ^2.0 For package installation and dependency management

πŸ’‘ Note: This module leverages modern PHP 8.3 features (readonly classes, typed properties, match expressions). PHP 8.1–8.2 versions are not supported.

βš™οΈ Quick Start

  1. Open Manager β†’ Modules β†’ Evo Package Manager in the EvolutionCMS admin panel
  2. Install or sync packages via UI or CLI

🎯 Who is this module for?

Role Benefit
Developer Quick dependency installation without SSH access
Administrator Visual package control, change auditing
DevOps CLI commands for CI/CD, idempotent operations
Team Unified package management standard, in-interface docs

Key Features

Package Management

  • Install: Add to composer.json + composer update + post-installation
  • List: View installed packages with metadata (version, author, dependencies)
  • Remove: Safe cleanup from composer.json, vendor/, DB registry, and providers
  • Sync: Align database registry with installed.json

Console Commands

# Install a package
php artisan evo:package:install vendor/package "*"

# Skip post-installation steps
php artisan evo:package:install ambrion/evocms-feature-flags "*" --skip-post-install

# List all packages
php artisan evo:package:list

# Filter: active libraries from Packagist only
php artisan evo:package:list --status=active --type=library --source=packagist

# JSON output for scripts
php artisan evo:package:list --format=json --limit=100

# Count only
php artisan evo:package:list --count

# Pagination
php artisan evo:package:list --limit=20 --offset=40

# Remove a package
php artisan evo:package:remove vendor/package

# Sync registry with installed.json
php artisan evo:package:sync

# Sync a specific package only
php artisan evo:package:sync vendor/new-pkg

Automatic Post-Installation

Packages can specify post-installation steps in composer.json:

{
  "extra": {
    "evo": {
      "post-install": {
        "publish": {
          "provider": "Vendor\\Package\\ServiceProvider"
        },
        "migrate": {
          "run": true,
          "force": false
        },
        "commands": [
          "cache:clear",
          "config:clear"
        ]
      }
    }
  }
}

Supported steps:

  • publish β€” Publish files via vendor:publish
  • migrate β€” Run migrations with --force option
  • seed β€” Execute seeders (planned)
  • commands β€” Custom Artisan commands (planned)

πŸ“¬ Support

πŸ“œ License

MIT Β© Ambrion

πŸ’‘ Note: For Russian documentation, see README.ru.md.