ambrion / evocms-evo-package-manager
Evo Package Manager module for EvolutionCMS CE 3
Package info
github.com/Ambrion/evocms-evo-package-manager
Type:evolutioncms-package
pkg:composer/ambrion/evocms-evo-package-manager
Requires
- php: ^8.3
Requires (Dev)
- phpunit/phpunit: ^12.0
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 (
readonlyclasses, typed properties, match expressions). PHP 8.1β8.2 versions are not supported.
βοΈ Quick Start
- Open Manager β Modules β Evo Package Manager in the EvolutionCMS admin panel
- 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 viavendor:publishmigrateβ Run migrations with--forceoptionseedβ Execute seeders (planned)commandsβ Custom Artisan commands (planned)
π¬ Support
- π Bugs: GitHub Issues
- βοΈ Email: ping@ambrion.dev
- π¬ Telegram: @ambrion_dev
- Author's Website
π License
MIT Β© Ambrion
π‘ Note: For Russian documentation, see README.ru.md.