diff --git a/lib/manager/ansible-galaxy/readme.md b/lib/manager/ansible-galaxy/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..dd2426cded392a9ebd70ef5c9ad3eea3d62e1668
--- /dev/null
+++ b/lib/manager/ansible-galaxy/readme.md
@@ -0,0 +1 @@
+Extracts Ansible Galaxy dependencies from configuration files used by the `ansible-galaxy` CLI tool.
diff --git a/lib/manager/ansible/readme.md b/lib/manager/ansible/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..4b10e65c89efa420752719a7208a10a6a92fef78
--- /dev/null
+++ b/lib/manager/ansible/readme.md
@@ -0,0 +1 @@
+Supports Docker-type dependency extraction from Ansible configuration files.
diff --git a/lib/manager/buildkite/readme.md b/lib/manager/buildkite/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..a5de9b3ae094c5ffa246d54ad28380cccdde2541
--- /dev/null
+++ b/lib/manager/buildkite/readme.md
@@ -0,0 +1 @@
+Used for updating Docker dependencies in Buildkite configuration files.
diff --git a/lib/manager/bundler/readme.md b/lib/manager/bundler/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..8627126cc0be441a1d58e448e2f4a2d0dc021144
--- /dev/null
+++ b/lib/manager/bundler/readme.md
@@ -0,0 +1 @@
+The `bundler` manager is used to extract dependencies from `Gemfile` and `Gemfile.lock` files.
diff --git a/lib/manager/cargo/readme.md b/lib/manager/cargo/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..5b564a57cd76d09b420577ce20631f4de0538b15
--- /dev/null
+++ b/lib/manager/cargo/readme.md
@@ -0,0 +1 @@
+Extracts dependencies from `Cargo.toml` files, and also updates `Cargo.lock` files too if found.
diff --git a/lib/manager/cdnurl/readme.md b/lib/manager/cdnurl/readme.md
index bd3a355b546b27d92242708990199d45cea7c01d..22ff090b1f555f59a0867010cf61ef563f7bf60e 100644
--- a/lib/manager/cdnurl/readme.md
+++ b/lib/manager/cdnurl/readme.md
@@ -1,4 +1,4 @@
-**Important**: This manager isn't aware of subresource integrity (SRI) hashes. It will search/replace any matching url it finds, without consideration for things such as script integrity hashes.
+**Important**: This manager isn't aware of subresource integrity (SRI) hashes. It will search/replace any matching url it finds, without consideration for things such as script integrity hashes. Use the `html` manager instead if you need SRI updating.
 
 To enable this manager, add the matching files to `cdnurl.fileMatch`. For example:
 
diff --git a/lib/manager/circleci/readme.md b/lib/manager/circleci/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..6465259d70272a807d9241384ce4f2df79cda280
--- /dev/null
+++ b/lib/manager/circleci/readme.md
@@ -0,0 +1 @@
+The `circleci` manager extracts both `docker` as well as `orb` datasources from CircleCI config files.
diff --git a/lib/manager/composer/readme.md b/lib/manager/composer/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..9106ceb6111a4760b9620f6236534d9f442ae9c9
--- /dev/null
+++ b/lib/manager/composer/readme.md
@@ -0,0 +1 @@
+Extracts dependencies from `composer.json` files, and keeps the associated `composer.lock` file updated too.
diff --git a/lib/manager/deps-edn/readme.md b/lib/manager/deps-edn/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..d10ea63ba59e5ec5011ec2eb28a2b1a9df588258
--- /dev/null
+++ b/lib/manager/deps-edn/readme.md
@@ -0,0 +1 @@
+Extracts Maven dependencies from `deps.edn` files.
diff --git a/lib/manager/docker-compose/readme.md b/lib/manager/docker-compose/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..5f11e6ab929b71967a3800f8f04afa850db6b40a
--- /dev/null
+++ b/lib/manager/docker-compose/readme.md
@@ -0,0 +1 @@
+Extracts all Docker images from with Docker Compose YAML files.
diff --git a/lib/manager/dockerfile/readme.md b/lib/manager/dockerfile/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..0bd5e0507339d4f1c8156cf37081c09067ae78a4
--- /dev/null
+++ b/lib/manager/dockerfile/readme.md
@@ -0,0 +1 @@
+Extracts all Docker images in a `Dockerfile`.
diff --git a/lib/manager/droneci/readme.md b/lib/manager/droneci/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..196ca18946c844fd74a66bec7f5ead37d3526674
--- /dev/null
+++ b/lib/manager/droneci/readme.md
@@ -0,0 +1 @@
+Extracts docker-type dependencies from DroneCI config files.
diff --git a/lib/manager/git-submodules/readme.md b/lib/manager/git-submodules/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..bbe09c49b2c9984ae486c21e78ae4631ab23315b
--- /dev/null
+++ b/lib/manager/git-submodules/readme.md
@@ -0,0 +1 @@
+Keeps git submodules updated within a repository.
diff --git a/lib/manager/gitlabci-include/readme.md b/lib/manager/gitlabci-include/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..151b2783d66f789d9d6ed7c22c89f3107acd6a9e
--- /dev/null
+++ b/lib/manager/gitlabci-include/readme.md
@@ -0,0 +1 @@
+Extracts "includes" dependencies from `gitlab-ci.yml` files.
diff --git a/lib/manager/gitlabci/readme.md b/lib/manager/gitlabci/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..761a024dee672a6bee2d81035b5212e30bd93db8
--- /dev/null
+++ b/lib/manager/gitlabci/readme.md
@@ -0,0 +1 @@
+Extracts Docker dependencies from `gitlab-ci.yml` files.
diff --git a/lib/manager/gradle/readme.md b/lib/manager/gradle/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..dc424e651a98a18f807e4729a1c07ee749d31b35
--- /dev/null
+++ b/lib/manager/gradle/readme.md
@@ -0,0 +1 @@
+Renovate extracts Gradle dependencies by calling a custom Gradle script. The Gradle binary is then used to extract Maven-type dependencies.
diff --git a/lib/manager/helm-requirements/readme.md b/lib/manager/helm-requirements/readme.md
index 26a4ce6ba73c6a7274222e56d0dc296a820b6331..38ba18ec4115e4cdfea9c41fd037da3b83e2d6c8 100644
--- a/lib/manager/helm-requirements/readme.md
+++ b/lib/manager/helm-requirements/readme.md
@@ -1 +1,3 @@
-Renovate supports updating Helm Chart references within `requirements.yaml` files. If your Helm charts make use of Aliases then you will need to configure an `aliases` object in your config to tell Renovate where to look for them.
+Renovate supports updating Helm Chart references within `requirements.yaml` files.
+
+If your Helm charts make use of Aliases then you will need to configure an `aliases` object in your config to tell Renovate where to look for them.
diff --git a/lib/manager/helmfile/readme.md b/lib/manager/helmfile/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..1b3e489485320d5bf246555d1e3e4052ef8d915b
--- /dev/null
+++ b/lib/manager/helmfile/readme.md
@@ -0,0 +1 @@
+Checks `helmfile.yml` files and extracts dependencies for the `helm` datasource.
diff --git a/lib/manager/homebrew/readme.md b/lib/manager/homebrew/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/lib/manager/html/readme.md b/lib/manager/html/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8291240bb255b5e3d77065cea2fab12ca5eab5c
--- /dev/null
+++ b/lib/manager/html/readme.md
@@ -0,0 +1 @@
+The `html` manager extracts scripts and CSS includes pointing to cdnjs. It differs from the `cdnjs` manager in that it detects if an integrity hash is already present and updates it too if found.
diff --git a/lib/manager/leiningen/readme.md b/lib/manager/leiningen/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..cf9441b92da10e6d21be42181b9771dabf6e8811
--- /dev/null
+++ b/lib/manager/leiningen/readme.md
@@ -0,0 +1 @@
+Extracts Maven-type dependencies.
diff --git a/lib/manager/maven/readme.md b/lib/manager/maven/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..1a6beadccbfd9a80762e5b1fdf44aa8bf2d3d4a8
--- /dev/null
+++ b/lib/manager/maven/readme.md
@@ -0,0 +1 @@
+The `maven` manager focuses on extracting dependencies from `pom.xml`. It uses the official Maven versioning scheme.
diff --git a/lib/manager/metadata.spec.ts b/lib/manager/metadata.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e7f6afb62dd996aa982c5edb999cb0abd18325a4
--- /dev/null
+++ b/lib/manager/metadata.spec.ts
@@ -0,0 +1,24 @@
+import * as fs from 'fs-extra';
+
+describe('manager metadata', () => {
+  const managerList: string[] = fs
+    .readdirSync(__dirname, { withFileTypes: true })
+    .filter(dirent => dirent.isDirectory())
+    .map(dirent => dirent.name)
+    .filter(name => !name.startsWith('__'))
+    .sort();
+  test.each(managerList)('%s has readme with no h1 or h2', async manager => {
+    let readme;
+    try {
+      readme = await fs.readFile(`${__dirname}/${manager}/readme.md`, 'utf8');
+    } catch (err) {
+      // do nothing
+    }
+    expect(readme).toBeDefined();
+    expect(
+      readme
+        .split('\n')
+        .some(line => line.startsWith('# ') || line.startsWith('## '))
+    ).toBe(false);
+  });
+});
diff --git a/lib/manager/meteor/readme.md b/lib/manager/meteor/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/lib/manager/mix/readme.md b/lib/manager/mix/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..f63ab44019224e3466343733021d45aa18a5a1e4
--- /dev/null
+++ b/lib/manager/mix/readme.md
@@ -0,0 +1,3 @@
+The `mix` manager extracts dependencies for the `hex` datasource and uses Renovate's implementation of Hex SemVer to evaluate updates.
+
+The `mix` package manager itself is also used to keep the lock file up-to-date.
diff --git a/lib/manager/nvm/readme.md b/lib/manager/nvm/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..6c8891e6496ae3b67bd592fecb45a2d14faa0855
--- /dev/null
+++ b/lib/manager/nvm/readme.md
@@ -0,0 +1 @@
+Simply keeps the `.nvmrc` file updated.
diff --git a/lib/manager/pip_setup/readme.md b/lib/manager/pip_setup/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..b3efeec01524c19e4759e467101a1fb56f99d4f0
--- /dev/null
+++ b/lib/manager/pip_setup/readme.md
@@ -0,0 +1 @@
+`setup.py` files are parsed by calling out to `python` and then using a mock to detect imported modules.
diff --git a/lib/manager/pipenv/readme.md b/lib/manager/pipenv/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..18fc18f9e5eab4bb13479a0f3ce9151753dd5dda
--- /dev/null
+++ b/lib/manager/pipenv/readme.md
@@ -0,0 +1 @@
+`Pipenv.lock` updating is supported.
diff --git a/lib/manager/poetry/readme.md b/lib/manager/poetry/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..ffaf656ecdc552150accab465d6bb42f0a41d548
--- /dev/null
+++ b/lib/manager/poetry/readme.md
@@ -0,0 +1,3 @@
+Both Poetry 0.x and 1.x versions are supported.
+
+Whenever the `pyproject.toml` file is updated, the Poetry lock file will be checked for updates as well.
diff --git a/lib/manager/pub/readme.md b/lib/manager/pub/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..0c74a49f3870934228d87b83a944e019c2120e7e
--- /dev/null
+++ b/lib/manager/pub/readme.md
@@ -0,0 +1 @@
+This manager is used to keep pubspec files up-to-date.
diff --git a/lib/manager/ruby-version/readme.md b/lib/manager/ruby-version/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..28f43c0cd90ed68fb2b08d37abfba86cf56c1619
--- /dev/null
+++ b/lib/manager/ruby-version/readme.md
@@ -0,0 +1 @@
+This will maintain `.ruby-version` files. Available versions will be determined from the official Ruby downloads page.
diff --git a/lib/manager/travis/readme.md b/lib/manager/travis/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..de7ce41ad175b45bd48ba1d3ca5ce9d8cb1041b0
--- /dev/null
+++ b/lib/manager/travis/readme.md
@@ -0,0 +1 @@
+This manager is intended to keep Travis config files (`.travis.yml`) up-to-date. Currently it manages only the `node_js` section of files only.