Pros:
\Robo\State\Data, enabling downstream tasks to leverage results (e.g., branch names, file statuses) without manual parsing.Cons:
taskGitListChangedFiles, taskGitRemoteList) are marked as @todo, indicating incomplete functionality.artisan task system if wrapped in a custom command.robo.php or custom RoboFile.taskGitListFiles return complex objects (ListFilesItem) without clear documentation on all available properties.php-git, league/git) that offer more features?@todo) critical to the project’s needs?shell_exec or league/git)?robo git:branches --all).shell_exec/exec: More flexible but requires manual output parsing.league/git: Pure PHP, no CLI dependency, but heavier and less idiomatic for CLI tasks.taskGitBranchList, taskGitConfigGet) in a non-critical workflow (e.g., local dev scripts).git branch -a parser with taskGitBranchList.robo deploy:check-branch).vendor/bin/robo).shell_exec until the package matures or is forked.strict_types=1.Artisan::call() to invoke Robo tasks from Laravel code.use Symfony\Component\Process\Process;
Process::fromShellCommandline('vendor/bin/robo git:current-branch')->run();
branchList, configGet, currentBranch) into existing workflows.league/git or custom shell wrappers).taskGitListFiles may slow down if processing thousands of files; add --limit flags or batch processing.spatie/fork).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Package deprecation | Broken workflows | Fork the package or rewrite tasks. |
| Git CLI version mismatch | Task output parsing fails | Test with target Git versions; add fallbacks. |
| Corrupted Git repo state | Tasks return unexpected data | Validate outputs (e.g., check gitCurrentBranch is not NULL). |
| Robo task execution errors | CI/CD pipeline failures | Add retries and clear error messages. |
| Undocumented task behavior | Silent failures or incorrect data | Implement minimal versions until docs improve. |
taskGitBranchList options).git:branches in CI").vendor/bin/robo.How can I help you explore Laravel packages today?