diff --git a/prepareLocally.sh b/prepareLocally.sh
new file mode 100755
index 0000000000000000000000000000000000000000..183effe18225dbde109d76c1d863cacb14f915a8
--- /dev/null
+++ b/prepareLocally.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+COMPOSER=composer.spoons.json
+export COMPOSER
+
+composer require --dev lakedrops/drupal-spoons:dev-master composer/installers:^1
+composer drupalspoons:prepare
+composer drupalspoons:configure
+composer update --dev
diff --git a/src/Handler.php b/src/Handler.php
index 2fe7d75b86cc46c04ade1dec2ec1869bd95adba0..4cb2557d5bab4c1d85d72c95a3501e4aa2ce6f54 100644
--- a/src/Handler.php
+++ b/src/Handler.php
@@ -48,20 +48,26 @@ class Handler {
     $fs = new Filesystem();
     $projectRoot = getcwd();
 
+    $composerJson = getenv('COMPOSER');
+    if (empty($composerJson)) {
+      $this->io->writeError('The environment variable COMPOSER is not set, aborting!');
+      return;
+    }
+    $composerLock = str_replace('.json', '.lock', $composerJson);
+
     // Append DrupalSpoon related components to composer.json.
     $content = $this->defaultSettings();
-    foreach (['composer.disabled.json', 'composer.json'] as $file) {
+    foreach ([$composerJson, 'composer.json'] as $file) {
       $jsonFile = new JsonFile($projectRoot . '/' . $file);
       if ($jsonFile->exists()) {
         $content = NestedArray::mergeDeep($content, $jsonFile->read());
-        $fs->remove($projectRoot . '/' . $file);
       }
     }
-    $jsonFile = new JsonFile($projectRoot . '/composer.json');
+    $jsonFile = new JsonFile($projectRoot . '/' . $composerJson);
     $jsonFile->write($content);
 
     // Add some patterns to .gitignore.
-    foreach (['/vendor/', '/web/', '.env'] as $item) {
+    foreach ([$composerJson, $composerLock, '/vendor/', '/web/', '.env'] as $item) {
       exec('git ignore ' . $item);
     }
   }