diff --git a/composer.json b/composer.json
index fbc7f6afd4bca6a2b3be7f79a119f347566db92c..35a107e354d10222ed93d5c419715074ea5803bc 100644
--- a/composer.json
+++ b/composer.json
@@ -1,33 +1,75 @@
 {
-  "name": "quiqqer/discount",
-  "type": "quiqqer-plugin",
-  "description": "Create discounts for user groups, specific users as well as time controlled.",
-  "license": [
-    "PCSG QEL-1.0"
-  ],
-  "authors": [
-    {
-      "name": "Henning Leutz",
-      "email": "leutz@pcsg.de",
-      "homepage": "https://www.pcsg.de",
-      "role": "Developer"
+    "name": "quiqqer/discount",
+    "type": "quiqqer-plugin",
+    "description": "Create discounts for user groups, specific users as well as time controlled.",
+    "license": [
+        "PCSG QEL-1.0"
+    ],
+    "authors": [
+        {
+            "name": "Henning Leutz",
+            "email": "leutz@pcsg.de",
+            "homepage": "https://www.pcsg.de",
+            "role": "Developer"
+        }
+    ],
+    "support": {
+        "email": "support@pcsg.de",
+        "url": "https://www.pcsg.de"
+    },
+    "require": {
+        "php": "^8.2",
+        "quiqqer/core": "^2",
+        "quiqqer/areas": "^2",
+        "quiqqer/products": "^2",
+        "quiqqer/tax": "^2"
+    },
+    "autoload": {
+        "psr-4": {
+            "QUI\\ERP\\Discount\\": "src/QUI/ERP/Discount",
+            "QUITests\\ERP\\Discount\\": "tests/QUITests/ERP/Discount"
+        }
+    },
+    "scripts": {
+        "test": [
+            "@dev:lint",
+            "@dev:phpunit"
+        ],
+        "dev:phpunit": "./tools/phpunit",
+        "dev:lint": [
+            "@dev:lint:phpstan",
+            "@dev:lint:style"
+        ],
+        "dev:lint:phpstan": "./tools/phpstan",
+        "dev:lint:style": "./tools/phpcs",
+        "dev:lint:style:fix": "./tools/phpcbf",
+        "dev:init": [
+            "@dev:init:check-requirements",
+            "@dev:init:tools",
+            "@dev:init:git-hooks"
+        ],
+        "dev:init:check-requirements": [
+            "which composer > /dev/null || (echo 'Error: composer has to be globally installed'; exit 1)",
+            "which phive > /dev/null || (echo 'Error: PHIVE has to be globally installed'; exit 1)"
+        ],
+        "dev:init:tools": "phive install --temporary",
+        "dev:init:git-hooks": "./tools/captainhook install --only-enabled --force"
+    },
+    "scripts-aliases": {
+        "test": [
+            "dev:test"
+        ]
+    },
+    "scripts-descriptions": {
+        "test": "Runs linting, static analysis, and unit tests.",
+        "dev:phpunit": "Run PHPUnit test suites",
+        "dev:lint": "Run PHPStan and code style check",
+        "dev:lint:phpstan": "Run PHPStan",
+        "dev:lint:style": "Run code style check (PHP_CodeSniffer)",
+        "dev:lint:style:fix": "Try to fix code style errors automatically",
+        "dev:init": "Initialize the developer tooling (tools and git hooks)",
+        "dev:init:check-requirements": "Check if the necessary requirements are met",
+        "dev:init:tools": "Install all developer tools (requires PHIVE)",
+        "dev:init:git-hooks": "Install all git hooks (may require tools to be installed)"
     }
-  ],
-  "support": {
-    "email": "support@pcsg.de",
-    "url": "https://www.pcsg.de"
-  },
-  "require": {
-    "php": "^8.2",
-    "quiqqer/core": "^2",
-    "quiqqer/areas": "^2",
-    "quiqqer/products": "^2",
-    "quiqqer/tax": "^2"
-  },
-  "autoload": {
-    "psr-4": {
-      "QUI\\ERP\\Discount\\": "src/QUI/ERP/Discount",
-      "QUITests\\ERP\\Discount\\": "tests/QUITests/ERP/Discount"
-    }
-  }
-}
+}
\ No newline at end of file