diff --git a/lib/datasource/readme.md b/lib/datasource/readme.md
index 6edd5a829f015b1b12e48de83b5a92981925273d..c4a46e0bd24b5c094ddb519b191c27433aa3b430 100644
--- a/lib/datasource/readme.md
+++ b/lib/datasource/readme.md
@@ -2,6 +2,11 @@
 
 Datasources are used in Renovate primarily to fetch released versions of packages.
 
+## Follow the class-based programming style
+
+New datasources _must_ follow the class-based programming style.
+Use the `adoptium-java` datasource as a reference.
+
 ## getReleases
 
 The minimum exported interface for a datasource is a function called `getReleases` that takes a lookup config as input.