Robo is a task runner you always have been looking for. It allows you to write fully customizable tasks in common OOP PHP style. Robo has comprehensive list of built-in common tasks for development, testing, and deployment.
Robo is a modern and simple task runner for PHP designed to automate common development and deployment workflows.
The principal functionalities of this tool include:
Workflow Scripting: It allows for the creation of cross-platform scripts to handle repetitive tasks.
Asset Processing: Robo can automate the processing of web assets, including Less/Sass compilation and file minification.
Filesystem Watching: The tool includes a "watch" task that monitors filesystem changes to automatically trigger actions like rebuilding assets or running tests.
Deployment & Remote Tasks: It supports deployment via SFTP, SSH, and Docker, and can manage the execution of daemons and workers.
RoboFile.php: Users define their tasks as public methods inside a specific file named RoboFile.php, which is generated by running robo init.
Command Line Interface: Every public method in the RoboFile automatically becomes an available command in the CLI (e.g., a method named testAcceptance becomes the command robo test:acceptance).
Flexible Installation: It can be installed globally as a standalone Phar archive for general use or integrated into specific projects using Composer.
Testing Integration: It features specialized tasks for running tests, including support for acceptance testing with local or Selenium servers.
System Maintenance: Robo provides tools for cleaning logs and cache directories while intelligently ignoring essential files like .gitignore.
Archive Creation: The tool can be used to package applications into Phar archives.
Framework Architecture: Beyond being a standalone tool, Robo serves as a framework that can be extended with custom logic.
Community Ecosystem: Developers can create their own task packages and share them on Packagist using the robo-tasks type, allowing for a modular and growing ecosystem.