diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f7f3322afb0e5ca92745a1b7bdfdbc4b205231c4
--- /dev/null
+++ b/README.md
@@ -0,0 +1,39 @@
+# Coq-std++
+
+This project contains an extended "Standard Library" for Coq called coq-std++.
+The key features of this library are as follows:
+
+- It provides a great number of definitions and lemmas for common data
+  structures such as lists, finite maps, finite sets, and finite multisets.
+- It uses type classes for common notations (like `∅`, `∪`, and Haskell-style
+  monad notations) so that these can be overloaded for different data structures.
+- It uses type classes to keep track of common properties of types, like it
+  having decidable equality or being countable or finite.
+- Most data structures are represented in canonical ways so that Leibniz
+  equality can be used as much as possible (for example, for maps we have
+  `m1 = m2` iff `∀ i, m1 !! i = m2 !! i`). On top of that, the library provides
+  setoid instances for most types and operations.
+- It provides various tactics for common tasks, like an ssreflect inspired
+  `done` tactic for finishing trivial goals, a simply breadth-first solver
+  `naive_solver`, an equality simplifier `simplify_eq`, a solver `solve_proper`
+  for proving compatibility of functions with respect to relations, and a solver
+  `set_solver` for goals involving set operations.
+- It is entirely axiom free.
+
+# History
+
+Coq-std++ has originally been developed by Robbert Krebbers as part of his
+formalization of the C programming language in his PhD thesis, called
+[CH2O](http://robbertkrebbers.nl/thesis.html). After that, Coq-std++ has been
+part of the [Iris project](http://iris-project.org), and has continued to be
+developed by Robbert Krebbers, Ralf Jung, and Jacques Henri-Jourdan.
+
+## Prerequisites
+
+This version is known to compile with:
+
+ - Coq 8.6
+
+## Building Instructions
+
+Run `make` to build the full development.