diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e105cc973dbf65c3b38bada039270bf43be299a2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,15 @@
+# GÉANT Automation Platform
+
+Documentation for the GÉANT Automation Platform (GAP)
+
+## Writing documentation
+
+First, create a venv to work in: `python3 -m venv venv`
+
+Then, install `mkdocs-material`: `pip install mkdocs-material`
+
+To run the live preview server of MkDocs - which includes hot reloading - run `mkdocs serve`.
+
+## Testing documentation
+To verify that documentation passes the linting pipeline, install `vale` with `pip install vale` and then run
+`vale --config=vale/.vale.ini docs/`.
diff --git a/test_documentation.sh b/test_documentation.sh
deleted file mode 100755
index 58da8072b0172259cb8569d50f2e45ba41b21d0b..0000000000000000000000000000000000000000
--- a/test_documentation.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-docker run -it --rm -v $(pwd):/docs sphinxdoc/sphinx:latest /bin/bash -c \
-"pip install sphinx_rtd_theme myst-parser;cd docs;make html"
-
-if [ ! -d ./vale/styles/proselint ] || [ ! -d ./vale/styles/Microsoft ]; then
-  docker run -it --rm -v $(pwd):/gap jdkato/vale:latest --config="/gap/vale/.vale.ini" sync
-fi
-
-docker run -it --rm -v $(pwd):/gap jdkato/vale:latest --config="/gap/vale/.vale.ini" /gap/build/html/_sources/
diff --git a/vale/.vale.ini b/vale/.vale.ini
index c6972601061c2c53893c7e718902cec048e17f10..5ab98c8afa12429ca808e6a2967bdd5f8b794677 100644
--- a/vale/.vale.ini
+++ b/vale/.vale.ini
@@ -6,10 +6,7 @@ Vocab = geant-jargon, Sphinx
 
 Packages = proselint, Microsoft
 
-[formats]
-txt = md
-
-[*]
+[*.md]
 BasedOnStyles = Vale, proselint, Microsoft
 
 ; Found to be too intrusive
@@ -20,6 +17,3 @@ Microsoft.GeneralURL = NO
 proselint.Typography = warning
 ; Same applies for not using contractions
 Microsoft.Contractions = warning
-
-; Ignore the table of contents directive
-BlockIgnores = (?s) *(\x60\x60\x60{toctree}.*?\x60\x60\x60)