Shift with red gradient lettering

Shift Workbench

Even more automation to maintain and modernize the Laravel and PHP code you work on every day.

Run from your desktop or the cloud

Over 50 free and premium tasks

  • 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.

  • switch to match

    Convert switch statements to match expressions.

  • Property Promotion

    Convert simple constructors to use the property promotion.

  • Nullsafe Operator

    Convert null checks to use the nullsafe operator.

  • Fix Optional Parameters

    Correct the order of optional parameters for PHP 8.

  • Convert create_function

    Convert uses of create_function to anonymous functions.

  • String Functions

    Adopt the string functions available in PHP 8.

  • Readonly Properties

    Adopt `readonly` properties in PHP 8.1.

  • Array Functions

    Adopt the array functions available in PHP 7.3.

  • Arrow Functions

    Convert closures to arrow functions.

  • Null Coalesce

    Adopt null coalesce operators.

  • Convert each

    Convert the deprecated each function.

  • Array Destructuring

    Adopt common array destructuring.

  • Use Faker methods

    Use Faker methods instead of property access.

  • Fix PHPUnit methods

    Fix PHPUnit method visibility, casing, and return type.

  • Remove DocBlocks

    Remove all PHP DocBlocks from your code.

  • Remove Dead Code

    Premium

    Find and remove unnecessary, unused, or unreachable code.

  • Adopt Type Hints

    Premium

    Add PHP type hints to properties, parameters, and returns.

  • Remove redundant DocBlock tags

    Premium

    Remove DocBlock tags which are already defined in your PHP code.

  • Adopt early returns

    Premium

    Adopt using early returns over nested code.

  • Format test cases

    Premium

    Apply a common format to your test cases.

  • Array Unpacking

    Premium

    Convert calls to `array_merge` to use array unpacking.

  • New in Initializers

    Premium

    Collapse object initialization for class properties.

  • Native Enums

    Premium

    Convert `spatie/enum` to use native Enums in PHP 8.1.

  • 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.

  • Convert dates property

    Convert the deprecated dates property in models.

  • Streamline order methods

    Streamline query builder order methods

  • Form Request array syntax

    Convert string based validation rules into arrays.

  • array/string Helpers

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

  • optional to nullsafe

    Convert simple calls to Laravel's optional helper to use the nullsafe operator available PHP 8.

  • Separate Model Factory

    Separate a generic model factory into individual model factories.

  • Upgrade to Mix 6

    Upgrade your Laravel Mix dependencies and configuration to version 6.

  • Request Injection

    Premium

    Leverage the injected request object in Controllers and Middleware.

  • Command Autoloading

    Premium

    Remove unnecessary references by autoloading your application commands.

  • Fluent Responses

    Premium

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

  • Fluent Routes

    Premium

    Convert routes options using the old, array syntax.

  • Blade Directives

    Premium

    Modernize outdated HTML and Blade directives.

  • Controller Validation

    Premium

    Convert inline controller validation into Form Request objects.

  • env to config

    Premium

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

  • Class based routes

    Premium

    Register routes using static class references instead of strings

  • actions to tuples

    Premium

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

  • Class based factories

    Premium

    Convert model factories to namespaced, class based factories.

  • Remove Laravel DocBlocks

    Premium

    Remove the default Laravel DocBlocks from your classes.

  • Remove down migration

    Premium

    Remove the down method from your database migrations.

  • Adopt anonymous migrations

    Premium

    Convert your migrations to anonymous classes.

  • Adopt unguarded models

    Premium

    Convert your models from "fillable" to "unguarded".

  • Adopt LazilyRefreshDatabase

    Premium

    Adopt the new `LazilyRefreshDatabase` trait in your tests.

  • 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

    Premium

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

  • Bump Laravel Package Dependencies

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

The Workbench is the perfect tool to make tedious, common tasks easy. Refactor and streamline your code with a single button.
Bobby Bouwmann

Bobby Bouwmann, Author - Laravel Secrets

What is the Workbench, exactly?

Shift's primary focus is upgrading Laravel. But you may only run Shift once a year. That leaves a big window of time for your project to fall behind on the latest conventions.

You may run Shifts like the Laravel Fixer, but sometimes you may simply want to cherry pick some of the automation for an existing Laravel project you've inherited.

You may also manage a few Laravel projects and want to normalize the Laravel conventions or code style they use. Or manage their Composer dependencies.

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

Run the Workbench locally with the desktop app or from the cloud. Get started now, or continue reading…

Screenshot of Shift Workbench
Just saved 2-3 hours using the Workbench. This is 100% worth the money.
Steve McDougall

Steve McDougall, Technical Lead - sqft.capital

See it in action...

Over 50 tasks.
Two ways to run.

We're putting the power of Shift in your hands. Run free tasks immediately. Upgrade to access to premium tasks.

Desktop App

  • Runs directly on your computer
  • Quickly run individual tasks
  • No PR required

Cloud Based

  • Run custom builds with CI
  • Bulk-run against multiple repos
  • Send PRs to your repo

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.