diff --git a/.editorconfig b/.editorconfig
index 12bcb27e4ee7bbca7f74423a87d205926d2ad1d2..ccc6a281e51a2f99832b3c2d5b7b42b3ce84c36e 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,6 +12,3 @@ indent_size = 2
 charset = utf-8
 trim_trailing_whitespace = true
 insert_final_newline = true
-
-[{composer.json,composer.lock}]
-indent_size = 4
diff --git a/composer.json b/composer.json
index 1b7679a9a99308d1202a1752a173eb32b6089a9e..8ae7d184f7d2dbd6fd1cdc74dfcf7b5114a5fd31 100644
--- a/composer.json
+++ b/composer.json
@@ -1,74 +1,80 @@
 {
-    "name": "lakedrops/behat4drupal",
-    "description": "Composer Plugin to prepare Drupal project for Behat tests.",
-    "type": "composer-plugin",
-    "keywords": [
-        "Drupal",
-        "Development",
-        "Docker",
-        "Behat"
-    ],
-    "homepage": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal",
-    "license": "GPL-2.0-or-later",
-    "authors": [
-        {
-            "name": "Jürgen Haas",
-            "email": "juergen.haas@lakedrops.com",
-            "homepage": "https://www.lakedrops.com",
-            "role": "Drupal Expert"
-        },
-        {
-            "name": "Daniel Speicher",
-            "email": "daniel.speicher@lakedrops.com",
-            "homepage": "https://www.lakedrops.com",
-            "role": "Drupal Expert"
-        },
-        {
-            "name": "Richard Papp",
-            "email": "richard.papp@lakedrops.com",
-            "homepage": "https://www.lakedrops.com",
-            "role": "Drupal Expert"
-        }
-    ],
-    "support": {
-        "issues": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/issues",
-        "source": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/tree/main",
-        "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/b4d/"
+  "name": "lakedrops/behat4drupal",
+  "description": "Composer Plugin to prepare Drupal project for Behat tests.",
+  "type": "composer-plugin",
+  "keywords": [
+    "Drupal",
+    "Development",
+    "Docker",
+    "Behat"
+  ],
+  "homepage": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal",
+  "license": "GPL-2.0-or-later",
+  "authors": [
+    {
+      "name": "Jürgen Haas",
+      "email": "juergen.haas@lakedrops.com",
+      "homepage": "https://www.lakedrops.com",
+      "role": "Drupal Expert"
     },
-    "require": {
-        "php": ">=7.4",
-        "behat/behat": "^3.12",
-        "behat/mink": "^1.10",
-        "behat/mink-goutte-driver": "^1.3||^2.0",
-        "behat/mink-selenium2-driver": "^1.6",
-        "composer-plugin-api": "^1||^2",
-        "drupal/drupal-extension": "^3.4||^4.1||^5.0",
-        "drush-ops/behat-drush-endpoint": "^9.4",
-        "lakedrops/composer-json-utils": "^2.4||dev-develop",
-        "lakedrops/docker4drupal": "^3.8||dev-develop"
+    {
+      "name": "Daniel Speicher",
+      "email": "daniel.speicher@lakedrops.com",
+      "homepage": "https://www.lakedrops.com",
+      "role": "Drupal Expert"
     },
-    "require-dev": {
-        "composer/composer": "^1||^2",
-        "drupal/coder": "^8.3",
-        "phpunit/phpunit": "^9.5",
-        "roave/security-advisories": "dev-master",
-        "squizlabs/php_codesniffer": "^3.7"
-    },
-    "config": {
-        "allow-plugins": {
-            "lakedrops/docker4drupal": false,
-            "dealerdirect/phpcodesniffer-composer-installer": true,
-            "lakedrops/ahoy": false
-        }
-    },
-    "minimum-stability": "dev",
-    "prefer-stable": true,
-    "autoload": {
-        "psr-4": {
-            "LakeDrops\\Behat4Drupal\\": "src/"
-        }
-    },
-    "extra": {
-        "class": "LakeDrops\\Behat4Drupal\\Plugin"
+    {
+      "name": "Richard Papp",
+      "email": "richard.papp@lakedrops.com",
+      "homepage": "https://www.lakedrops.com",
+      "role": "Drupal Expert"
+    }
+  ],
+  "support": {
+    "issues": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/issues",
+    "source": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/tree/main",
+    "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/b4d/"
+  },
+  "repositories": [
+    {
+      "type": "composer",
+      "url": "https://packages.drupal.org/8"
+    }
+  ],
+  "require": {
+    "php": ">=8.1",
+    "behat/behat": "^3.12",
+    "behat/mink": "^1.10",
+    "behat/mink-browserkit-driver": "^2.2",
+    "behat/mink-selenium2-driver": "^1.6",
+    "composer-plugin-api": "^1||^2",
+    "drupal/drupal-extension": "^3.4||^4.1||^5.0",
+    "drush-ops/behat-drush-endpoint": "^9.4",
+    "lakedrops/composer-json-utils": "^2.4||dev-develop",
+    "lakedrops/docker4drupal": "^3.8||dev-develop"
+  },
+  "require-dev": {
+    "composer/composer": "^2",
+    "lakedrops/drupal-development-environment": "^3.2||dev-develop",
+    "roave/security-advisories": "dev-latest"
+  },
+  "config": {
+    "allow-plugins": {
+      "dealerdirect/phpcodesniffer-composer-installer": true,
+      "drupal/core-composer-scaffold": false,
+      "lakedrops/*": false,
+      "php-http/discovery": false,
+      "phpstan/extension-installer": true
+    }
+  },
+  "minimum-stability": "dev",
+  "prefer-stable": true,
+  "autoload": {
+    "psr-4": {
+      "LakeDrops\\Behat4Drupal\\": "src/"
     }
+  },
+  "extra": {
+    "class": "LakeDrops\\Behat4Drupal\\Plugin"
+  }
 }
diff --git a/src/CommandProvider.php b/src/CommandProvider.php
index d7a1c90a592ac481df0403f7c69db643107214a9..ab12de629f5662d7b2755e42b9b05749f5342920 100644
--- a/src/CommandProvider.php
+++ b/src/CommandProvider.php
@@ -3,14 +3,16 @@
 namespace LakeDrops\Behat4Drupal;
 
 use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
-use Composer\Command\BaseCommand;
 
+/**
+ * Composer Command Provider for Behat for Drupal.
+ *
+ * @package LakeDrops\Behat4Drupal
+ */
 class CommandProvider implements CommandProviderCapability {
 
   /**
-   * Retrieves an array of commands
-   *
-   * @return BaseCommand[]
+   * {@inheritdoc}
    */
   public function getCommands(): array {
     return [
diff --git a/src/Handler.php b/src/Handler.php
index bbf524ab4587b3910fd24a960f4d3745a5412409..0366806fc2ba77d5211aa8103907fdc24f101e15 100644
--- a/src/Handler.php
+++ b/src/Handler.php
@@ -8,7 +8,7 @@ use Symfony\Component\Filesystem\Filesystem;
 use Symfony\Component\Yaml\Yaml;
 
 /**
- * Class Handler.
+ * Handler class to setup Drupal projects for Behat tests.
  *
  * @package LakeDrops\Behat4Drupal
  */
@@ -31,9 +31,9 @@ class Handler extends BaseHandler {
     $webserver = $d4dConfig->readValue('webserver');
 
     $options = [
-        'projectname' => $projectname,
-        'urlprefix' => '',
-      ];
+      'projectname' => $projectname,
+      'urlprefix' => '',
+    ];
 
     $options['baseurl'] = empty($options['global']) ?
       $webserver['type'] :
@@ -48,7 +48,7 @@ class Handler extends BaseHandler {
    * @param bool $overwrite
    *   Whether to overwrite existing config files.
    */
-  public function configureProject($overwrite = FALSE): void {
+  public function configureProject(bool $overwrite = FALSE): void {
     // We only do the fancy stuff for developers and for CI.
     if (!$this->isDevMode() && !$this->isCiContext()) {
       return;
@@ -76,7 +76,7 @@ class Handler extends BaseHandler {
         $extraOptions = $this->config->readValue($filename);
         if (!empty($def['add2yaml']) && $extraOptions !== NULL) {
           $yaml = Yaml::parse($rendered);
-          /** @noinspection SlowArrayOperationsInLoopInspection */
+          /* @noinspection SlowArrayOperationsInLoopInspection */
           $yaml = array_merge_recursive($yaml, $extraOptions);
           $rendered = Yaml::dump($yaml, 9, 2);
         }
diff --git a/src/Plugin.php b/src/Plugin.php
index 1ca2c20ffc0fe86a0401eabef2a4215ab5b14d27..7e4c876f76e5778a9e2cceb7fc721a545e0cebde 100644
--- a/src/Plugin.php
+++ b/src/Plugin.php
@@ -2,6 +2,7 @@
 
 namespace LakeDrops\Behat4Drupal;
 
+use Composer\Plugin\Capability\CommandProvider as ComposerCommandProvider;
 use Composer\Script\Event;
 use Composer\Script\ScriptEvents;
 use LakeDrops\Component\Composer\BasePlugin;
@@ -23,7 +24,7 @@ class Plugin extends BasePlugin {
    */
   public function getCapabilities(): array {
     return [
-      \Composer\Plugin\Capability\CommandProvider::class => CommandProvider::class,
+      ComposerCommandProvider::class => CommandProvider::class,
     ];
   }
 
diff --git a/src/UpdateCommand.php b/src/UpdateCommand.php
index 4959da7bc23e826e893fb1970e2ca0db35aaa547..3fed7c9d4eaf6827837f573d94a0a005bcf4cdd1 100644
--- a/src/UpdateCommand.php
+++ b/src/UpdateCommand.php
@@ -6,6 +6,11 @@ use LakeDrops\Component\Composer\BaseCommand;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
 
+/**
+ * Composer Update Command for Behat for Drupal.
+ *
+ * @package LakeDrops\Behat4Drupal
+ */
 class UpdateCommand extends BaseCommand {
 
   /**
diff --git a/templates/behat.yml.twig b/templates/behat.yml.twig
index b5b8393cf133d1f135ecd57b7e2798fcad8968d5..35a31db76b3440d6e3b58ec94f88b9c1a9e77764 100644
--- a/templates/behat.yml.twig
+++ b/templates/behat.yml.twig
@@ -19,8 +19,6 @@ default:
         alias: default.behat
     Behat\MinkExtension:
       base_url: http://{{ baseurl }}{{ urlprefix }}
-      goutte: ~
-      default_session: goutte
       javascript_session: MyLocalChrome
       browser_name: chrome
       sessions: