diff --git a/.gitignore b/.gitignore
index 2d7627c834c7cd274681f3bc2d7632f43356b117..3e6fae7e63fcb802e0638b559cc6a5cec498f1c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,4 @@
 /clangml-transforms.install
 .merlin
 *~
-/clangml-transforms.opam
+
diff --git a/clangml-transforms.opam b/clangml-transforms.opam
new file mode 100644
index 0000000000000000000000000000000000000000..31fe2e2706d9b6ba3a96b321d2bfec07d54c8c5c
--- /dev/null
+++ b/clangml-transforms.opam
@@ -0,0 +1,34 @@
+# This file is generated by dune, edit dune-project instead
+opam-version: "2.0"
+version: "0.26"
+synopsis: "Code transformers for clangml"
+maintainer: ["Thierry Martinez <thierry.martinez@inria.fr>"]
+authors: ["Thierry Martinez <thierry.martinez@inria.fr>"]
+license: "BSD-2-Clause"
+homepage: "https://gitlab.inria.fr/memcad/clangml-transforms"
+doc: "https://gitlab.inria.fr/memcad/clangml-transforms"
+bug-reports: "https://gitlab.inria.fr/memcad/clangml-transforms/issues"
+depends: [
+  "ocaml" {>= "4.03.0" & < "4.12.0"}
+  "dune" {>= "1.11.0"}
+  "clangml" {>= "4.2.0"}
+  "dolog" {>= "4.0.0"}
+  "traverse" {>= "0.2.0"}
+  "refl" {>= "0.2.1"}
+  "odoc" {with-doc & >= "1.5.1"}
+]
+build: [
+  ["dune" "subst"] {pinned}
+  [
+    "dune"
+    "build"
+    "-p"
+    name
+    "-j"
+    jobs
+    "@install"
+    "@runtest" {with-test}
+    "@doc" {with-doc}
+  ]
+]
+dev-repo: "git+https://gitlab.inria.fr/memcad/clangml-transforms"