diff --git a/cli-parser/build.gradle b/cli-parser/build.gradle
new file mode 100644
index 0000000..4edad6d
--- /dev/null
+++ b/cli-parser/build.gradle
@@ -0,0 +1,2 @@
+//file:noinspection GrUnresolvedAccess
+apply from: rootDir.toPath().resolve('logic.gradle').toFile()
diff --git a/cli-parser/gradle.properties b/cli-parser/gradle.properties
new file mode 100644
index 0000000..afd47c0
--- /dev/null
+++ b/cli-parser/gradle.properties
@@ -0,0 +1,2 @@
+# suppress inspection "UnusedProperty" for whole file
+module.name=cli-parser
\ No newline at end of file
diff --git a/cli-parser/src/main/java/mc/cliparser/CommandLine.java b/cli-parser/src/main/java/mc/cliparser/CommandLine.java
new file mode 100644
index 0000000..4f115d9
--- /dev/null
+++ b/cli-parser/src/main/java/mc/cliparser/CommandLine.java
@@ -0,0 +1,17 @@
+package mc.cliparser;
+
+import lombok.RequiredArgsConstructor;
+import lombok.ToString;
+
+import java.util.Set;
+
+@RequiredArgsConstructor
+@ToString
+public class CommandLine {
+
+ private final Set