diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b00d8301f9081d40b86b5659c2bb3891edaeb4fd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+__pycache__/
+build/
+.cache/
+.venv/
\ No newline at end of file
diff --git a/noxfile.py b/noxfile.py
new file mode 100644
index 0000000000000000000000000000000000000000..77829dd073053f269b5919826df6b6255bbb6571
--- /dev/null
+++ b/noxfile.py
@@ -0,0 +1,33 @@
+"""
+nox configuration file.
+"""
+
+import nox
+import sys
+
+
+@nox.session(venv_backend="none")
+def dev(session: nox.Session) -> None:
+    """
+    Prepare a .venv folder.
+    """
+
+    session.run(sys.executable, "-m", "venv", ".venv")
+    session.run(
+        ".venv/bin/pip",
+        "install",
+        "scikit-build-core[pyproject]",
+        "pybind11",
+        "pip>=23",
+    )
+    session.run(
+        ".venv/bin/pip",
+        "install",
+        "--no-build-isolation",
+        "--check-build-dependencies",
+        "-ve.",
+        "-C",
+        "cmake.define.CMAKE_EXPORT_COMPILE_COMMANDS=1",
+        "-C",
+        "build-dir=build",
+    )