Shift Workbench

An automation tool to help developers maintain and modernize their Laravel projects on an daily basis.

What is the Shift Workbench, exactly?

Shift's primary focus is upgrading Laravel. But you may only run Shift every six months. That leaves a big window of time for your project to fall behind.

You may run Shifts like the Laravel Fixer, but maybe don't need all of its automation. Sometimes you may want to simply cherry pick a few of the changes and apply them to an existing Laravel project you've inherited.

You may also manage a few Laravel projects. Sometimes you want to normalize their Laravel conventions or code style. Or manage their Composer dependencies.

Well, that's exactly what the Shift Workbench is for. Using the Shift Workbench you can create custom builds from a growing set of tasks and quickly run them on multiple projects to help maintain and modernize your Laravel applications.

Screenshot of Shift Workbench

Available Tasks

Here are the tasks currently available with the Shift Workbench:

  • Code Format

    Apply the Laravel code style or custom rules to your codebase.

  • Short array syntax

    Convert your code to use PHP's short array syntax.

  • Use ::class constant

    Convert class references from strings to static class constants.

  • Global Facades

    Replace Facade references using the global namespace with their FQCN.

  • Common Helpers

    Convert common Facade chains to helper functions.

  • Model Table Name

    Remove unnecessary table name properties from models.

  • Model Date Casts

    Remove unnecessary columns from the dates property in models.

  • Form Request array syntax

    Convert string based validation rules into arrays.

  • Bump Laravel Package Dependencies

    Update the constraints to be compatible with a specific version of Laravel for your package dependencies.

  • Separate Model Factory

    Separate a generic model factory into individual model factories.

  • Request Injection


    Leverage the injected request object in Controllers and Middleware.

  • Command Autoloading


    Remove unnecessary references by autoloading your application commands.

  • Fluent Responses


    Convert response and redirect calls to use Laravel's expressive method chains.

  • Fluent Routes


    Convert routes options using the old, array syntax.

  • Blade Directives


    Streamline outdated HTML and Blade directives.

  • array/string Helpers


    Convert old array and string helpers into their modern class-based methods.

  • Controller Validation


    Convert inline controller validation into Form Request objects.

  • env to config


    Convert calls to the env helper within your application to use the config helper with a new custom configuration file.

  • Class based routes


    Register routes using static class references instead of strings

  • actions to tuples


    Convert your route controller actions from strings to array "tuples".

  • Class based factories


    Convert model factories to namespaced, class based factories.

  • Composer: Add Dependency


    Add or update the package constraints to your Composer dependencies.

  • Composer: Remove Dependency


    Remove a package from your Composer dependencies.

  • Bump Laravel Dependencies


    Update the constraints to be compatible with a specific version of Laravel for your project dependencies.

Sign in with any of the following services to connect Shift with your Laravel project.

Don't use one of these services?

Temporarily push your project to a free, private repository on one of these cloud-based services or upgrade your project locally with Shift for Docker.