netis-cms / netis
Installer for creating a Netis CMS project.
Requires
- php: >=8.3 <9
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-19 05:45:31 UTC
README
Installer for creating a Netis CMS project on top of Drago Project.
Requirements
- PHP >= 8.3
- Composer
Installation
composer global require netis-cms/netis:dev-main
Usage
Create a new project:
create-netis cms
Without an argument, the default target directory is netis:
create-netis
You can also install into the current empty directory:
create-netis .
For local testing from this repository:
php bin/create-netis cms
What It Does
The command creates a base Drago project, installs the Netis preset packages, copies project resources, cleans vendor resource folders and generates the permission providers of the installed packages:
composer create-project drago-ex/project <target-dir> --no-scripts composer require --no-scripts <netis-packages> php vendor/bin/drago-install php vendor/bin/drago-clean php vendor/bin/create-permission --packages
It also adds create-permission --packages to the Composer scripts of the project, so packages installed later get
their permission providers on composer update. The migrations are run by the web installer.
Integration Test
The Integration workflow creates a project with create-netis, runs the
migrations, PHPStan and the asset build, then sets the project up as the web installer does and checks the front page,
the sign-in of an administrator and the administration. It runs on every push, daily and on demand, twice:
with the released packages and with the main branches of all drago-ex packages (the check before a release).
Locally, with a MySQL or MariaDB database:
MODE=main DB_PORT=3306 bash .github/integration/run.sh
Releasing Packages
For maintainers with the drago-ex packages cloned next to this repository:
node netis/tools/release.mjs # what needs a release, in which order and version node netis/tools/release.mjs --publish # release it
Choose a version with package=major|minor|patch|X.Y.Z. Release notes are drafted from the commits into
temp/release-notes/, where you can edit them before publishing. Publishing checks that each package is committed,
pushed and green in CI, and waits for Packagist between dependent packages.
After Create
Go to the created project directory:
cd cms
Install frontend dependencies:
npm install
Build frontend assets:
npm run vite:build
Build Docker images:
npm run docker:build
Start the development Docker environment:
npm run docker:dev
All available npm commands are listed in the created project's package.json.