diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..32dabf3dba443d05684f0c2012464809855c65aa
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,19 @@
+repos:
+  - repo: 'https://github.com/pre-commit/pre-commit-hooks'
+    rev: v4.6.0
+    hooks:
+      - id: check-yaml
+      - id: debug-statements
+      - id: end-of-file-fixer
+      - id: trailing-whitespace
+  - repo: 'https://github.com/pre-commit/mirrors-mypy'
+    rev: v1.10.0
+    hooks:
+      - id: mypy
+  - repo: 'https://github.com/astral-sh/ruff-pre-commit'
+    rev: v0.5.2
+    hooks:
+      - id: ruff
+        args:
+          - '--fix'
+      - id: ruff-format