Load Axolotl-PM plugins from folders, share development virions, and build standalone PHARs through server commands, the CLI, or GitHub Actions.
- Download the DevTools PHAR from the latest release. GitHub's "Source code" archives are for developing DevTools.
- Stop your Axolotl-PM server and copy the PHAR to
plugins/DevTools.phar. - Put your development plugin folder, containing
plugin.ymlandsrc/, directly insideplugins/. - Start the server. Confirm that DevTools reports folder loading, shared virions, and PHAR building as ready, then run
/devtools statusas an operator. - Run
/devtools doctor YourPluginand/devtools build YourPlugin. Testbuild/YourPlugin.pharon a clean server before deployment.
Install DevTools itself as a PHAR so its folder loader can start. Restart the server after adding or editing source plugins.
Copy the short build workflow to .github/workflows/build.yml, pin its builder revision as documented, and push. Download the PHAR from the run's Artifacts section. A plugin without dependencies needs only plugin.yml and src/; no server checkout, project-local Composer installation, devtools.yml, or virions/ is required.
- Loads folder plugins through the server's plugin manager, which handles API compatibility, dependencies, duplicates, load order, and enable failures.
- Loads one compatible copy of each local development virion from
virions/on the shared thread-safe class loader. - Selects the highest semantic virion version satisfying every declared constraint and reports dependency conflicts.
- Builds a SHA-256 PHAR with declared virions rewritten into private namespaces using a PHP syntax tree.
- Offers optional PHPStan analysis in GitHub Actions against an explicitly selected server source.
- Validates PHAR entries before extraction and stages replacement with a backup of existing output.
Server startup and ordinary builds use local dependencies. DevTools does not replace Composer or provide hot reload.
- PHP
8.4or newer, 64-bit, with the extensions required by the server - Axolotl-PM with the API declared by
plugin.yml phar.readonly=0only when building PHARs
See runtime validation for the tested server and PHP versions. DevTools is an independent community project.
All paths below are relative to the server directory.
| Path | Contents |
|---|---|
plugins/DevTools.phar |
Installed DevTools plugin |
plugins/MyPlugin/plugin.yml |
Plugin manifest |
plugins/MyPlugin/src/ |
Plugin source |
plugins/MyPlugin/resources/ |
Optional plugin resources |
plugins/MyPlugin/devtools.yml |
Optional build and virion declarations |
virions/ExampleVirion/ |
Local library with virion.yml and src/ |
build/ |
Generated PHARs |
If your plugin uses a shared library, put the package in virions/ExampleVirion/ and declare it for both development loading and the standalone build.
# plugins/MyPlugin/devtools.yml
virions:
- name: ExampleVirion
version: ^1.0.0See shared virions for package requirements and version selection. The HelloShared and SharedGreeting example demonstrates the complete workflow.
The reusable workflow supports push and pull-request builds. Use the step-level action for extra setup or checkouts. PHPStan is off unless you select a level and server source. A complete example lives in examples/.github/workflows/build.yml.
Use the coding agent guide for CLI automation or GitHub workflow setup. An AGENTS.md template is included in the examples ZIP.
All commands require devtools.command, which operators receive by default.
/devtools status
/devtools doctor [plugin]
/devtools virions
/devtools build <plugin> [--overwrite]
/devtools extract <phar> [--overwrite]
Migration aliases /makeplugin and /extractplugin are also available.
- Installation, update, rollback, and uninstall
- Folder plugin behavior
- Building and validating PHARs
- Troubleshooting
- CLI commands and versioned JSON contract
- Local and locked Composer dependency preparation
- Clean Axolotl-PM runtime verification
- Configuration reference
- Shared virions and version resolution
- Building a PHAR on every commit with GitHub Actions
- Building a PHAR with a coding agent
- FAQ
- Migration guide
Use folder plugins and shared virions for development. Deploy tested PHARs to production; editing source in place can leave partially changed code after a restart.
DevTools is MIT licensed. The bundled nikic/php-parser uses BSD-3-Clause. See third-party notices for its license and provenance.