diff --git a/bin/wpinit b/bin/wpinit
new file mode 100755
index 0000000000000000000000000000000000000000..ddddb470a1f133790b74c4bf2128ea6bae1ae15a
--- /dev/null
+++ b/bin/wpinit
@@ -0,0 +1,55 @@
+#!/usr/bin/env php
+<?php
+
+use WPDesk\Init\Util\PhpFileDumper;
+use WPDesk\Init\Plugin\DefaultHeaderParser;
+
+$autoloadPath = $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';
+if (!file_exists($autoloadPath)) {
+    echo "\033[31mError: Autoloader not found. Please run composer install.\033[0m\n";
+    exit(1);
+}
+require_once $autoloadPath;
+
+function displayHelp() {
+    echo "Usage: " . basename(__FILE__) . " <plugin_file> <cache_dir>\n";
+    echo "Initialize a WordPress plugin by parsing the input file and generating output.\n";
+    echo "\n";
+    echo "Arguments:\n";
+    echo "  <plugin_file> Path to the input file to parse\n";
+    echo "  <cache_dir>   Path to the output file to generate\n";
+}
+
+if (in_array('--help', $argv) || in_array('-h', $argv)) {
+    displayHelp();
+    exit(0);
+}
+
+if ($argc < 3 || in_array('--help', $argv) || in_array('-h', $argv)) {
+    echo "\033[31mError: Missing required arguments.\033[0m\n";
+	displayHelp();
+    exit(1);
+}
+
+$inputFile = $argv[1];
+$outputDir = rtrim($argv[2], '/\\') . '/';
+
+// Check if input file exists
+if (!file_exists($inputFile)) {
+    echo "\033[31mError: Input file '$inputFile' does not exist.\033[0m\n";
+    exit(1);
+}
+
+try {
+    $parser = new DefaultHeaderParser();
+    $data = $parser->parse($inputFile);
+
+    $dumper = new PhpFileDumper();
+    $dumper->dump($data, $outputDir . 'plugin.php');
+
+    echo "\033[32mSuccess: Plugin data generated.\033[0m\n";
+    exit(0);
+} catch (Exception $e) {
+    echo "\033[31mError: " . $e->getMessage() . "\n" . $e->getTraceAsString() . "\033[0m\n";
+    exit(1);
+}
diff --git a/composer.json b/composer.json
index d033a98f4c23295d217fe47bf23d7e7ad464ddd4..c6376b433a58ee9e8110b58394ec0b09389c6efd 100644
--- a/composer.json
+++ b/composer.json
@@ -9,6 +9,9 @@
     "plugin",
     "bootstrap"
   ],
+  "bin": [
+    "bin/wpinit"
+  ],
   "authors": [
     {
       "name": "WPDesk",