diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..742e9aec3cadde54704661b385548bc26852efc3
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,24 @@
+[project]
+name = "maneuver-detection"
+version = "1.0.0"
+description = "Maneuver Detection for the Loft Dynamics Helicopter Simulator"
+dependencies = []
+maintainers = [
+    {name = "Andri Joos"},
+]
+
+[project.urls]
+Repository = "https://git.420joos.dev/ost/ml/maneuver-detection"
+
+[project.scripts]
+maneuver-detection = "src.app:main"
+
+[build-system]
+requires = [
+    "setuptools >= 60.0.0",
+    "wheel"
+]
+build-backend = "setuptools.build_meta"
+
+[tool.setuptools.packages.find]
+where = ["."]
diff --git a/src/__init__.py b/src/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/app.py b/src/app.py
new file mode 100644
index 0000000000000000000000000000000000000000..2e7e9d1f6a7d618dd63d6d3698ff0a3983f2c3ee
--- /dev/null
+++ b/src/app.py
@@ -0,0 +1,11 @@
+from argparse import ArgumentParser
+
+def main():
+    argument_parser = ArgumentParser('vqcfim', description='Virtual Quality Control for Injection Molding')
+
+    parsed_args = argument_parser.parse_args()
+    args = vars(parsed_args)
+    parsed_args.func(**args)
+
+if __name__ == "__main__":
+    main()
\ No newline at end of file