eighteen73 / nebula-tools
A library of tools for Nebula WordPress websites.
Requires
- php: ^8.1
- ext-json: *
- ext-mbstring: *
- laravel/prompts: ^0.3.26
Requires (Dev)
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This package provides tools for WordPress websites running Nebula and is only suitable for inclusion within that framework.
At the moment it provides an installation script that is run after project creation to assist with website initial configuration, but it is likely that other useful tools will be added later.
Requirements
- PHP 8.1 or later, including PHP 8.3
- JSON and Mbstring extensions
- Composer 2.2 or later
Installation wizard
The post-create wizard uses Laravel Prompts for hostname selection, HTTPS confirmation and masked database password entry. Unsupported interactive terminals use Composer's console questions instead. Non-interactive invocation requires complete supplied hostname and database settings; missing settings are rejected before changing files or accessing the database.
When invoked through wp eighteen73 create-site, dependency installation runs in a separate scrolling task. WP-CLI then runs composer run-script post-create-project-cmd with its terminal attached so questions remain visible and usable. Direct composer create-project installations continue to invoke the wizard automatically.
create-site can provide --hostname, --db-name, --db-user and --db-password through a child-only NEBULA_SETUP_OPTIONS JSON environment variable. Keys use the same names without --; optional https is a boolean. Each supplied value skips its question. A supplied hostname defaults to HTTPS unless https is false. Explicitly empty passwords are accepted. Supplied settings are validated, and an existing .env is never overwritten by this mode.
With supplied settings, missing databases are created automatically. Any database containing tables stops installation without deleting data, for interactive and unattended installs alike. Failed supplied credentials stop rather than prompting for replacements. Database checks use the values written to .env, not unrelated inherited environment variables. Do not run the real wizard for verification; stub database connections and security-key requests.