codestyle tests coverage core coverage

Effortlessly keep linters, fixers, static analysis, CI workflows, editor integrations and more in sync across all your teams & projects.

Quickstart

composer require gedachtegoed/workspace --dev

Then run the install command to set up Workspace’s configs in your project:

php artisan workspace:install

This command will install all configured Integrations in workspace-integrations.php. These are all configurable by publishing the config file. You may remove or override any implementation with your own on a per-project basis. Read more about overriding Integrations here.

Workspace ships with a handfull carefully crafted Integrations.

If you’d like to roll out your own Portable Workspace to share between projects and teams refer to this section of the documentation

Updating

Whenever Integrations change upstream you can easily sync it with your project.

php artisan workspace:update

This command will update Workspace itself (by a minor version only) and update the Integration’s composer and npm dependencies before rebuilding all your integration configs.

Please note that while Workspace’s internal Integrations are carefully selected, they are higly opinionated. We do encourage you to write your own Portable Workspace.

Integrate your IDE

Workspace uses Duster under the hood to facilitate linting and fixing of your code. But to use it you need to manually trigger the command before you commit your code or let CI handle it for you. To bridge the gap you can integrate you IDE so all Workspace Integrations are seamlessly applied when you type.

php artisan workspace:integrate

You’ll be prompted for your editor of choice (vscode or phpstorm). If your team uses both editors simply select them both.

This will install some configuration to your .vscode or .idea directory respectively.

In case of vscode after running the workspace:integrate command you’ll need to install vscode’s recommended extentions. If the prompt doesn’t appear; Open the command pallette [CMD + Shift + P] and select ‘Show Recommended Extensions’ and install them.