Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/creogen/hardenly/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
Security scanner for your WordPress website.
Development
Requirements: PHP 7.4+, Composer, Node.js 22.22+, WP-CLI for translations and Docker for running Plugin Check locally.
make install # composer install && npm ci
make check # coding standards, PHPStan, PHP and JS tests, POT and version checks
make playground # WordPress in the browser with this plugin active
npm start # rebuild JavaScript and CSS on change
| Where | What |
|---|---|
hardenly.php |
Plugin header and bootstrap |
src/ |
PHP code, PSR-4 namespace Hardenly\ |
tests/unit/ |
PHPUnit tests; WordPress calls are mocked through WPAL |
assets/src/admin/ |
Admin JavaScript and CSS entry point, built to assets/build/ |
languages/ |
Translation template, make i18n |
uninstall.php |
Cleanup when the plugin is deleted |
readme.txt |
The WordPress.org plugin page |
.wordpress-org/ |
WordPress.org banners, icons, screenshots and Live Preview blueprint |
WordPress functions are called through WPAL services, so the code can be unit-tested without WordPress. AGENTS.md has the conventions and docs/SPEC.md the product specification.
Release
make dist # builds hardenly.zip
make smoke # loads the built plugin and runs its hooks
make plugin-check # WordPress.org's Plugin Check on the build
The first release goes through WordPress.org review: see
docs/FIRST-RELEASE.md. After approval, pushing a version tag publishes
the plugin: see .github/workflows/release.yml.