Thank you for considering contributing to VoxelSwarm. Every hosting environment is different — your testing, bug reports, and adapter contributions make VoxelSwarm better for everyone.
If you are testing VoxelSwarm on a real environment, read docs/testing-feedback.md first. It explains the early-access model, the logging strategy, and what to include when reporting failures.
- Search existing issues first — your problem may already be reported
- Open a new issue with:
- Your hosting environment (OS, control panel, PHP version)
- Steps to reproduce the issue
- Expected vs actual behavior
- Relevant log entries from
storage/logs/
- Label it appropriately:
bug,adapter:cpanel,adapter:plesk, etc.
The most impactful contribution you can make. See docs/adapters/writing-an-adapter.md for the full guide.
Quick overview:
- Create
src/Adapters/YourPanelAdapter.phpimplementing theControlPanelAdapterinterface - Register it in
AdapterFactory.php - Add config fields to the deployment view
- Write documentation in
docs/adapters/yourpanel.md - Submit a PR
- Fork the repository
- Create a feature branch:
git checkout -b adapter/directadmin - Make your changes
- Test on your hosting environment
- Submit a PR with:
- Description of what the change does
- Hosting environment tested on
- Screenshots if relevant (especially for UI changes)
- PHP 8.2+ features are welcome (match expressions, named arguments, readonly properties, enums)
- No frameworks — keep it plain PHP
- Follow the existing code patterns in
src/ - Use
declare(strict_types=1)in all PHP files - PSR-4 autoloading under the
Swarmnamespace
- Framework dependencies (Laravel, Symfony framework, etc.)
- npm runtime dependencies on the server (Vite/Tailwind are dev-only)
- External service dependencies beyond control panel APIs
- Billing or payment integration (out of scope for the open-source project)
- Changes that break the "upload, configure, run" deployment model
git clone https://github.com/NowSquare/VoxelSwarm.git
cd VoxelSwarm
# Dependencies are already included — no composer install needed
php scripts/migrate.php
php scripts/install.phpIf modifying CSS or JavaScript (contributing to the UI):
npm install # Only needed for UI development
npm run dev # Vite watch mode for Tailwind + Alpine.jsNote:
npm installandnpm run devare not required for running VoxelSwarm. Thebuild/directory already contains pre-compiled CSS and JS. Only use this if you're modifying the UI.
Use Laravel Herd or Laravel Valet for macOS local development with the local adapter. Both can serve plain PHP projects; Laravel is not required.
Open an issue for questions or issues.