diff --git a/doc/.vale/gitlab_base/Ability.yml b/doc/.vale/gitlab_base/Ability.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0FiaWxpdHkueW1s
--- /dev/null
+++ b/doc/.vale/gitlab_base/Ability.yml
@@ -0,0 +1,17 @@
+---
+# Suggestion: gitlab_base.Ability
+#
+# Focus on the feature, not the user's capabilities.
+#
+# For a list of all options, see https://vale.sh/docs/topics/styles/
+extends: existence
+message: "Try to replace ('%s') with more precise language, unless this content is about security. See the word list for details."
+ignorecase: true
+vocab: false
+level: suggestion
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#ability-able
+tokens:
+  - ability to
+  - ability
+  - able to
+  - able
diff --git a/doc/.vale/gitlab_base/BadPlurals.yml b/doc/.vale/gitlab_base/BadPlurals.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0JhZFBsdXJhbHMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0JhZFBsdXJhbHMueW1s 100644
--- a/doc/.vale/gitlab_base/BadPlurals.yml
+++ b/doc/.vale/gitlab_base/BadPlurals.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Rewrite '%s' to be plural without parentheses."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#s
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#s
+vocab: false
 level: warning
 ignorecase: true
 nonword: true
diff --git a/doc/.vale/gitlab_base/British.yml b/doc/.vale/gitlab_base/British.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0JyaXRpc2gueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0JyaXRpc2gueW1s 100644
--- a/doc/.vale/gitlab_base/British.yml
+++ b/doc/.vale/gitlab_base/British.yml
@@ -6,5 +6,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "Use the US spelling '%s' instead of the British '%s'."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#language
+link: https://docs.gitlab.com/development/documentation/styleguide/#language
+vocab: false
 level: error
@@ -10,4 +11,6 @@
 level: error
+action:
+  name: replace
 ignorecase: true
 swap:
   aeon: eon
diff --git a/doc/.vale/gitlab_base/CIConfigFile.yml b/doc/.vale/gitlab_base/CIConfigFile.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0NJQ29uZmlnRmlsZS55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0NJQ29uZmlnRmlsZS55bWw= 100644
--- a/doc/.vale/gitlab_base/CIConfigFile.yml
+++ b/doc/.vale/gitlab_base/CIConfigFile.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Change the file name to be exactly '.gitlab-ci.yml'."
-link: https://docs.gitlab.com/ee/development/documentation/versions.html
+link: https://docs.gitlab.com/development/documentation/styleguide/availability_details/
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_base/CodeblockFences.yml b/doc/.vale/gitlab_base/CodeblockFences.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0NvZGVibG9ja0ZlbmNlcy55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0NvZGVibG9ja0ZlbmNlcy55bWw= 100644
--- a/doc/.vale/gitlab_base/CodeblockFences.yml
+++ b/doc/.vale/gitlab_base/CodeblockFences.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Instead of '%s' for the code block, use yaml, ruby, plaintext, markdown, javascript, shell, go, python, dockerfile, or typescript."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#code-blocks
+link: https://docs.gitlab.com/development/documentation/styleguide/#code-blocks
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_base/CommandStringsQuoted.yml b/doc/.vale/gitlab_base/CommandStringsQuoted.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0NvbW1hbmRTdHJpbmdzUXVvdGVkLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0NvbW1hbmRTdHJpbmdzUXVvdGVkLnltbA== 100644
--- a/doc/.vale/gitlab_base/CommandStringsQuoted.yml
+++ b/doc/.vale/gitlab_base/CommandStringsQuoted.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "For the command example, use double quotes around the URL: %s"
-link: https://docs.gitlab.com/ee/development/documentation/restful_api_styleguide.html#curl-commands
+link: https://docs.gitlab.com/development/documentation/restful_api_styleguide/#curl-commands
+vocab: false
 level: error
 scope: raw
 nonword: true
diff --git a/doc/.vale/gitlab_base/CurrentStatus.yml b/doc/.vale/gitlab_base/CurrentStatus.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0N1cnJlbnRTdGF0dXMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0N1cnJlbnRTdGF0dXMueW1s 100644
--- a/doc/.vale/gitlab_base/CurrentStatus.yml
+++ b/doc/.vale/gitlab_base/CurrentStatus.yml
@@ -6,5 +6,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Remove '%s'. The documentation reflects the current state of the product."
+vocab: false
 level: warning
 ignorecase: true
@@ -9,5 +10,5 @@
 level: warning
 ignorecase: true
-link: https://docs.gitlab.com/ee/development/documentation/versions.html#promising-features-in-future-versions
+link: https://docs.gitlab.com/development/documentation/styleguide/#promising-features-in-future-versions
 tokens:
   - currently
diff --git a/doc/.vale/gitlab_base/DefaultBranch.yml b/doc/.vale/gitlab_base/DefaultBranch.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0RlZmF1bHRCcmFuY2gueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0RlZmF1bHRCcmFuY2gueW1s 100644
--- a/doc/.vale/gitlab_base/DefaultBranch.yml
+++ b/doc/.vale/gitlab_base/DefaultBranch.yml
@@ -6,5 +6,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use 'default branch' or `main` instead of `master`, when possible."
+vocab: false
 level: warning
 ignorecase: true
@@ -9,6 +10,6 @@
 level: warning
 ignorecase: true
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#default-branch
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#branch
 scope: raw
 raw:
   - '\`master\`'
diff --git a/doc/.vale/gitlab_base/Dropdown.yml b/doc/.vale/gitlab_base/Dropdown.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0Ryb3Bkb3duLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0Ryb3Bkb3duLnltbA== 100644
--- a/doc/.vale/gitlab_base/Dropdown.yml
+++ b/doc/.vale/gitlab_base/Dropdown.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use 'dropdown list'."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#dropdown-list
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#dropdown-list
+vocab: false
 level: warning
 ignorecase: true
 tokens:
diff --git a/doc/.vale/gitlab_base/EOLWhitespace.yml b/doc/.vale/gitlab_base/EOLWhitespace.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0VPTFdoaXRlc3BhY2UueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0VPTFdoaXRlc3BhY2UueW1s 100644
--- a/doc/.vale/gitlab_base/EOLWhitespace.yml
+++ b/doc/.vale/gitlab_base/EOLWhitespace.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Remove whitespace characters from the end of the line."
-link: https://docs.gitlab.com/ee/development/documentation/versions.html
+link: https://docs.gitlab.com/development/documentation/styleguide/
+vocab: false
 level: warning
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_base/ElementDescriptors.yml b/doc/.vale/gitlab_base/ElementDescriptors.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0VsZW1lbnREZXNjcmlwdG9ycy55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0VsZW1lbnREZXNjcmlwdG9ycy55bWw= 100644
--- a/doc/.vale/gitlab_base/ElementDescriptors.yml
+++ b/doc/.vale/gitlab_base/ElementDescriptors.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "If possible, rewrite to remove 'button'."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#button
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#button
+vocab: false
 level: warning
 ignorecase: true
 scope: raw
diff --git a/doc/.vale/gitlab_base/FutureTense.yml b/doc/.vale/gitlab_base/FutureTense.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0Z1dHVyZVRlbnNlLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0Z1dHVyZVRlbnNlLnltbA== 100644
--- a/doc/.vale/gitlab_base/FutureTense.yml
+++ b/doc/.vale/gitlab_base/FutureTense.yml
@@ -8,4 +8,5 @@
 message: "Instead of future tense '%s', use present tense."
 ignorecase: true
 nonword: true
+vocab: false
 level: warning
@@ -11,5 +12,5 @@
 level: warning
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#future-tense
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#future-tense
 tokens:
   - (going to|will|won't)[ \n:]\w*
   - (It?|we|you|they)'ll[ \n:]\w*
diff --git a/doc/.vale/gitlab_base/GitLabFlavoredMarkdown.yml b/doc/.vale/gitlab_base/GitLabFlavoredMarkdown.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0dpdExhYkZsYXZvcmVkTWFya2Rvd24ueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0dpdExhYkZsYXZvcmVkTWFya2Rvd24ueW1s 100644
--- a/doc/.vale/gitlab_base/GitLabFlavoredMarkdown.yml
+++ b/doc/.vale/gitlab_base/GitLabFlavoredMarkdown.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "Use '%s' instead of '%s' when possible."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/
+vocab: false
 level: warning
 ignorecase: true
 swap:
diff --git a/doc/.vale/gitlab_base/HeadingContent.yml b/doc/.vale/gitlab_base/HeadingContent.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0hlYWRpbmdDb250ZW50LnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0hlYWRpbmdDb250ZW50LnltbA== 100644
--- a/doc/.vale/gitlab_base/HeadingContent.yml
+++ b/doc/.vale/gitlab_base/HeadingContent.yml
@@ -6,4 +6,5 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Rename the heading '%s', or re-purpose the content elsewhere."
+vocab: false
 level: warning
@@ -9,5 +10,5 @@
 level: warning
-link: https://docs.gitlab.com/ee/development/documentation/topic_types/concept.html#concept-topic-titles
+link: https://docs.gitlab.com/development/documentation/topic_types/concept/#concept-topic-titles
 ignorecase: true
 nonword: true
 scope: raw
diff --git a/doc/.vale/gitlab_base/HeadingDepth.yml b/doc/.vale/gitlab_base/HeadingDepth.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0hlYWRpbmdEZXB0aC55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0hlYWRpbmdEZXB0aC55bWw= 100644
--- a/doc/.vale/gitlab_base/HeadingDepth.yml
+++ b/doc/.vale/gitlab_base/HeadingDepth.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Refactor the section or page to avoid headings greater than H5."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#heading-levels-in-markdown
+link: https://docs.gitlab.com/development/documentation/styleguide/#heading-levels-in-markdown
+vocab: false
 level: suggestion
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_base/HeadingLink.yml b/doc/.vale/gitlab_base/HeadingLink.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0hlYWRpbmdMaW5rLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0hlYWRpbmdMaW5rLnltbA== 100644
--- a/doc/.vale/gitlab_base/HeadingLink.yml
+++ b/doc/.vale/gitlab_base/HeadingLink.yml
@@ -9,6 +9,7 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Do not use links in headings."
+vocab: false
 level: error
 ignorecase: true
 nonword: true
@@ -12,7 +13,7 @@
 level: error
 ignorecase: true
 nonword: true
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
 scope: raw
 tokens:
   - ^#+ .*\[.+\]\(\S+\).*$
diff --git a/doc/.vale/gitlab_base/InclusiveLanguage.yml b/doc/.vale/gitlab_base/InclusiveLanguage.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0luY2x1c2l2ZUxhbmd1YWdlLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0luY2x1c2l2ZUxhbmd1YWdlLnltbA== 100644
--- a/doc/.vale/gitlab_base/InclusiveLanguage.yml
+++ b/doc/.vale/gitlab_base/InclusiveLanguage.yml
@@ -5,7 +5,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "Use inclusive language. Consider '%s' instead of '%s'."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/
+vocab: false
 level: warning
 ignorecase: true
 swap:
@@ -18,5 +19,5 @@
   manpower: GitLab team members
   master: primary, main, controller, active, parent, hub
   sanity (?:check|test): check for completeness
-  slave: secondary, agent, standby, child, spoke 
+  slave: secondary, agent, standby, child, spoke
   whitelist(?:ed|ing|s)?: allowlist
diff --git a/doc/.vale/gitlab_base/LatinTerms.yml b/doc/.vale/gitlab_base/LatinTerms.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0xhdGluVGVybXMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0xhdGluVGVybXMueW1s 100644
--- a/doc/.vale/gitlab_base/LatinTerms.yml
+++ b/doc/.vale/gitlab_base/LatinTerms.yml
@@ -7,7 +7,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "Use '%s' instead of '%s', but consider rewriting the sentence."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/
+vocab: false
 level: warning
 nonword: true
 ignorecase: true
diff --git a/doc/.vale/gitlab_base/Level.yml b/doc/.vale/gitlab_base/Level.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0xldmVsLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0xldmVsLnltbA== 100644
--- a/doc/.vale/gitlab_base/Level.yml
+++ b/doc/.vale/gitlab_base/Level.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Avoid using 'level' when referring to groups, instances, or projects: '%s'"
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#level
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#level
+vocab: false
 level: suggestion
 ignorecase: true
 tokens:
diff --git a/doc/.vale/gitlab_base/ListIndentation.yml b/doc/.vale/gitlab_base/ListIndentation.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0xpc3RJbmRlbnRhdGlvbi55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL0xpc3RJbmRlbnRhdGlvbi55bWw= 100644
--- a/doc/.vale/gitlab_base/ListIndentation.yml
+++ b/doc/.vale/gitlab_base/ListIndentation.yml
@@ -5,7 +5,8 @@
 #
 extends: existence
 message: "Items nested under an ordered list must be indented three spaces. Items nested under an unordered list must be indented two spaces."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/#nesting-inside-a-list-item
+link: https://docs.gitlab.com/development/documentation/styleguide/#nesting-inside-a-list-item
+vocab: false
 level: error
 nonword: true
 ignorecase: true
diff --git a/doc/.vale/gitlab_base/MeaningfulLinkWords.yml b/doc/.vale/gitlab_base/MeaningfulLinkWords.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL01lYW5pbmdmdWxMaW5rV29yZHMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL01lYW5pbmdmdWxMaW5rV29yZHMueW1s 100644
--- a/doc/.vale/gitlab_base/MeaningfulLinkWords.yml
+++ b/doc/.vale/gitlab_base/MeaningfulLinkWords.yml
@@ -8,7 +8,8 @@
 message: "Improve SEO and accessibility by rewriting the link text for '%s'."
 level: warning
 ignorecase: true
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#text-for-links
+link: https://docs.gitlab.com/development/documentation/styleguide/#text-for-links
+vocab: false
 scope: raw
 nonword: true
 tokens:
diff --git a/doc/.vale/gitlab_base/MergeConflictMarkers.yml b/doc/.vale/gitlab_base/MergeConflictMarkers.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL01lcmdlQ29uZmxpY3RNYXJrZXJzLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL01lcmdlQ29uZmxpY3RNYXJrZXJzLnltbA== 100644
--- a/doc/.vale/gitlab_base/MergeConflictMarkers.yml
+++ b/doc/.vale/gitlab_base/MergeConflictMarkers.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Remove the merge conflict marker '%s'."
-link: https://docs.gitlab.com/ee/development/code_review.html#merging-a-merge-request
+link: https://docs.gitlab.com/development/code_review/#merging-a-merge-request
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_base/MultiLineLinks.yml b/doc/.vale/gitlab_base/MultiLineLinks.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL011bHRpTGluZUxpbmtzLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL011bHRpTGluZUxpbmtzLnltbA== 100644
--- a/doc/.vale/gitlab_base/MultiLineLinks.yml
+++ b/doc/.vale/gitlab_base/MultiLineLinks.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Put the full link on one line, even if the link is very long."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_base/NonStandardQuotes.yml b/doc/.vale/gitlab_base/NonStandardQuotes.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL05vblN0YW5kYXJkUXVvdGVzLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL05vblN0YW5kYXJkUXVvdGVzLnltbA== 100644
--- a/doc/.vale/gitlab_base/NonStandardQuotes.yml
+++ b/doc/.vale/gitlab_base/NonStandardQuotes.yml
@@ -6,5 +6,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use standard single quotes or double quotes only. Do not use left or right quotes."
+vocab: false
 level: warning
 ignorecase: true
@@ -9,6 +10,6 @@
 level: warning
 ignorecase: true
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
+link: https://docs.gitlab.com/development/documentation/styleguide/#punctuation
 scope: raw
 raw:
   - '[‘’“”]'
diff --git a/doc/.vale/gitlab_base/NonStandardSpaces.yml b/doc/.vale/gitlab_base/NonStandardSpaces.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL05vblN0YW5kYXJkU3BhY2VzLnltbA==
--- /dev/null
+++ b/doc/.vale/gitlab_base/NonStandardSpaces.yml
@@ -0,0 +1,19 @@
+---
+# Warning: gitlab_base.NonStandardSpaces
+#
+# Use only standard spaces. Do not use:
+#
+# U+202F : NARROW NO-BREAK SPACE [NNBSP]
+# U+00A0 : NO-BREAK SPACE [NBSP]
+# U+200B : ZERO WIDTH SPACE [ZWSP]
+#
+# For a list of all options, see https://vale.sh/docs/topics/styles/
+extends: existence
+message: "Use standard spaces only. Do not use no-break or zero width spaces."
+vocab: false
+level: error
+ignorecase: true
+link: https://docs.gitlab.com/development/documentation/styleguide/#punctuation
+scope: raw
+raw:
+  - '[  ​]'
diff --git a/doc/.vale/gitlab_base/Offerings.yml b/doc/.vale/gitlab_base/Offerings.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL09mZmVyaW5ncy55bWw=
--- /dev/null
+++ b/doc/.vale/gitlab_base/Offerings.yml
@@ -0,0 +1,17 @@
+# Warning: gitlab_base.Offerings
+#
+# Tests the offering information in the tier badges that appear below topic titles.
+#
+# For a list of all options, see https://docs.gitlab.com/development/documentation/styleguide/availability_details/#available-options
+extends: substitution
+message: "The offerings are 'GitLab Self-Managed' and 'GitLab Dedicated', with that exact capitalization."
+link: https://docs.gitlab.com/development/documentation/styleguide/availability_details/#available-options
+vocab: false
+level: warning
+action:
+  name: replace
+ignorecase: false
+swap:
+  - 'GitLab [Ss]elf-managed': GitLab Self-Managed
+  - '(?<!GitLab )[Ss]elf-[Mm]anaged(?! runner)': GitLab Self-Managed
+  - GitLab dedicated: GitLab Dedicated
diff --git a/doc/.vale/gitlab_base/OutdatedVersions.yml b/doc/.vale/gitlab_base/OutdatedVersions.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL091dGRhdGVkVmVyc2lvbnMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL091dGRhdGVkVmVyc2lvbnMueW1s 100644
--- a/doc/.vale/gitlab_base/OutdatedVersions.yml
+++ b/doc/.vale/gitlab_base/OutdatedVersions.yml
@@ -6,8 +6,9 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "If possible, remove the reference to '%s'."
-link: https://docs.gitlab.com/ee/development/documentation/versions.html
+link: https://docs.gitlab.com/development/documentation/styleguide/availability_details/#removing-versions
+vocab: false
 level: suggestion
 nonword: true
 ignorecase: true
 tokens:
@@ -10,5 +11,5 @@
 level: suggestion
 nonword: true
 ignorecase: true
 tokens:
-  - "GitLab v?(2|3|4|5|6|7|8|9|10|11|12|13|14)"
+  - "GitLab v?(2[^[0-9]]|4|5|6|7|8|9|10|11|12|13|14)"
diff --git a/doc/.vale/gitlab_base/OxfordComma.yml b/doc/.vale/gitlab_base/OxfordComma.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL094Zm9yZENvbW1hLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL094Zm9yZENvbW1hLnltbA== 100644
--- a/doc/.vale/gitlab_base/OxfordComma.yml
+++ b/doc/.vale/gitlab_base/OxfordComma.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use a comma before the last 'and' or 'or' in a list of four or more items."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
+link: https://docs.gitlab.com/development/documentation/styleguide/#punctuation
+vocab: false
 level: warning
 raw:
   - '(?:[\w-_` ]+,){2,}(?:[\w-_` ]+) (and |or )'
diff --git a/doc/.vale/gitlab_base/Possessive.yml b/doc/.vale/gitlab_base/Possessive.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1Bvc3Nlc3NpdmUueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1Bvc3Nlc3NpdmUueW1s 100644
--- a/doc/.vale/gitlab_base/Possessive.yml
+++ b/doc/.vale/gitlab_base/Possessive.yml
@@ -8,6 +8,7 @@
 message: "Remove 's from %s."
 level: error
 ignorecase: true
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#gitlab
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#gitlab
+vocab: false
 tokens:
   - GitLab's
diff --git a/doc/.vale/gitlab_base/PossessiveProperNouns.yml b/doc/.vale/gitlab_base/PossessiveProperNouns.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1Bvc3Nlc3NpdmVQcm9wZXJOb3Vucy55bWw=
--- /dev/null
+++ b/doc/.vale/gitlab_base/PossessiveProperNouns.yml
@@ -0,0 +1,31 @@
+---
+# Error: gitlab_base.PossessiveProperNouns
+#
+# Try to avoid using possessives ('s) for proper nouns, like organization or product names.
+#
+# For a list of all options, see https://vale.sh/docs/topics/styles/
+extends: existence
+message: "Remove 's from %s."
+level: warning
+ignorecase: true
+link: https://docs.gitlab.com/development/documentation/styleguide/#possessives
+vocab: false
+tokens:
+  - Amazon's
+  - Apple's
+  - Atlassian's
+  - AWS's
+  - Azure's
+  - Bundler's
+  - Capybara's
+  - Docker's
+  - Gitaly's
+  - GitHub's
+  - Google Cloud's
+  - Google's
+  - Microsoft's
+  - Nvidia's
+  - Oracle's
+  - Red Hat's
+  - RSpec's
+  - Salesforce's
diff --git a/doc/.vale/gitlab_base/Prerequisites.yml b/doc/.vale/gitlab_base/Prerequisites.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1ByZXJlcXVpc2l0ZXMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1ByZXJlcXVpc2l0ZXMueW1s 100644
--- a/doc/.vale/gitlab_base/Prerequisites.yml
+++ b/doc/.vale/gitlab_base/Prerequisites.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Pluralize 'Prerequisites', even if it includes only one item."
-link: https://docs.gitlab.com/ee/development/documentation/topic_types/task.html#task-prerequisites
+link: https://docs.gitlab.com/development/documentation/topic_types/task/#task-prerequisites
+vocab: false
 level: warning
 nonword: true
 scope: text
diff --git a/doc/.vale/gitlab_base/ReadingLevel.yml b/doc/.vale/gitlab_base/ReadingLevel.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1JlYWRpbmdMZXZlbC55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1JlYWRpbmdMZXZlbC55bWw= 100644
--- a/doc/.vale/gitlab_base/ReadingLevel.yml
+++ b/doc/.vale/gitlab_base/ReadingLevel.yml
@@ -8,7 +8,7 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: metric
 message: "The grade level is %s. Aim for 8th grade or lower by using shorter sentences and words."
-link: https://docs.gitlab.com/ee/development/documentation/testing/vale.html#readability-score
+link: https://docs.gitlab.com/development/documentation/testing/vale/#readability-score
 level: suggestion
 formula: |
   (0.39 * (words / sentences)) + (11.8 * (syllables / words)) - 15.59
diff --git a/doc/.vale/gitlab_base/Repetition.yml b/doc/.vale/gitlab_base/Repetition.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1JlcGV0aXRpb24ueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1JlcGV0aXRpb24ueW1s 100644
--- a/doc/.vale/gitlab_base/Repetition.yml
+++ b/doc/.vale/gitlab_base/Repetition.yml
@@ -6,6 +6,7 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: repetition
 message: "Remove this duplicate word: '%s'."
+vocab: false
 level: error
 alpha: true
 tokens:
diff --git a/doc/.vale/gitlab_base/SentenceLength.yml b/doc/.vale/gitlab_base/SentenceLength.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NlbnRlbmNlTGVuZ3RoLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NlbnRlbmNlTGVuZ3RoLnltbA== 100644
--- a/doc/.vale/gitlab_base/SentenceLength.yml
+++ b/doc/.vale/gitlab_base/SentenceLength.yml
@@ -7,7 +7,7 @@
 extends: occurrence
 message: "Improve readability by using fewer than 25 words in this sentence."
 scope: sentence
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#language
+link: https://docs.gitlab.com/development/documentation/styleguide/#language
 level: suggestion
 max: 25
 token: \b(\w+)\b
diff --git a/doc/.vale/gitlab_base/SentenceSpacing.yml b/doc/.vale/gitlab_base/SentenceSpacing.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NlbnRlbmNlU3BhY2luZy55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NlbnRlbmNlU3BhY2luZy55bWw= 100644
--- a/doc/.vale/gitlab_base/SentenceSpacing.yml
+++ b/doc/.vale/gitlab_base/SentenceSpacing.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use exactly one space between sentences and clauses. Check '%s' for spacing problems."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
+link: https://docs.gitlab.com/development/documentation/styleguide/#punctuation
+vocab: false
 level: error
 nonword: true
 tokens:
diff --git a/doc/.vale/gitlab_base/Simplicity.yml b/doc/.vale/gitlab_base/Simplicity.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NpbXBsaWNpdHkueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NpbXBsaWNpdHkueW1s 100644
--- a/doc/.vale/gitlab_base/Simplicity.yml
+++ b/doc/.vale/gitlab_base/Simplicity.yml
@@ -6,5 +6,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Remove '%s'. Be precise instead of subjective."
+vocab: false
 level: warning
 ignorecase: true
@@ -9,6 +10,6 @@
 level: warning
 ignorecase: true
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/
 tokens:
   - easy
   - easily
diff --git a/doc/.vale/gitlab_base/Spelling.yml b/doc/.vale/gitlab_base/Spelling.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NwZWxsaW5nLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1NwZWxsaW5nLnltbA== 100644
--- a/doc/.vale/gitlab_base/Spelling.yml
+++ b/doc/.vale/gitlab_base/Spelling.yml
@@ -11,6 +11,7 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: spelling
 message: "Check the spelling of '%s'. If the spelling is correct, ask a Technical Writer to add this word to the spelling exception list."
+vocab: false
 level: warning
 ignore:
   - gitlab_base/spelling-exceptions.txt
diff --git a/doc/.vale/gitlab_base/SubstitutionWarning.yml b/doc/.vale/gitlab_base/SubstitutionWarning.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1N1YnN0aXR1dGlvbldhcm5pbmcueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1N1YnN0aXR1dGlvbldhcm5pbmcueW1s 100644
--- a/doc/.vale/gitlab_base/SubstitutionWarning.yml
+++ b/doc/.vale/gitlab_base/SubstitutionWarning.yml
@@ -7,5 +7,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "Use '%s' instead of '%s' when possible."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/
+vocab: false
 level: warning
@@ -11,4 +12,6 @@
 level: warning
+action:
+  name: replace
 ignorecase: true
 swap:
   active user: "billable user"
@@ -19,6 +22,7 @@
   (?<!right-)click(?!-through): "select"
   cancelled: "canceled"
   cancelling: "canceling"
+  cherry pick: "cherry-pick"
   code base: "codebase"
   config: "configuration"
   confirmation box: "confirmation dialog"
@@ -52,7 +56,8 @@
   normal: "typical' or 'standard"
   OAuth2: "OAuth 2.0"
   omnibus gitlab: "Linux package"
-  'omnibus(?!\))': "Linux package"
+  'omnibus(?!\)| builder)': "Linux package"
+  once a: "after a"
   once that: "after that"
   once the: "after the"
   once you: "after you"
@@ -63,8 +68,9 @@
   pop-up: "dialog"
   popup: "dialog"
   repo: "repository"
+  root group: "top-level group"
   signed in user: "authenticated user"
   signed-in user: "authenticated user"
   since: "because' or 'after"
   source (?:install|installation): self-compiled installation
   source (?:installs|installations): self-compiled installations
@@ -66,8 +72,9 @@
   signed in user: "authenticated user"
   signed-in user: "authenticated user"
   since: "because' or 'after"
   source (?:install|installation): self-compiled installation
   source (?:installs|installations): self-compiled installations
+  sub group: "subgroup"
   sub-group: "subgroup"
   sub-groups: "subgroups"
   timezone: "time zone"
@@ -71,5 +78,6 @@
   sub-group: "subgroup"
   sub-groups: "subgroups"
   timezone: "time zone"
+  top level group: "top-level group"
   utiliz(?:es?|ing): "use"
   VSCode: "VS Code"
@@ -74,4 +82,5 @@
   utiliz(?:es?|ing): "use"
   VSCode: "VS Code"
+  WebIDE: "Web IDE"
   we recommend: "you should"
   within: "in"
diff --git a/doc/.vale/gitlab_base/Substitutions.yml b/doc/.vale/gitlab_base/Substitutions.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1N1YnN0aXR1dGlvbnMueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1N1YnN0aXR1dGlvbnMueW1s 100644
--- a/doc/.vale/gitlab_base/Substitutions.yml
+++ b/doc/.vale/gitlab_base/Substitutions.yml
@@ -8,4 +8,5 @@
 extends: substitution
 message: "Use '%s' instead of '%s'."
 link: https://handbook.gitlab.com/handbook/communication/top-misused-terms/
+vocab: false
 level: error
@@ -11,4 +12,6 @@
 level: error
+action:
+  name: replace
 ignorecase: true
 swap:
   admin user: administrator
@@ -29,8 +32,8 @@
   developer permissions: the Developer role
   disallow: prevent
   frontmatter: front matter
-  GitLab self hosted: GitLab self-managed # https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#gitlab-self-managed
-  GitLab self-hosted: GitLab self-managed # https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#gitlab-self-managed
+  GitLab self hosted: GitLab Self-Managed # https://docs.gitlab.com/development/documentation/styleguide/word_list/#gitlab-self-managed
+  GitLab self-hosted: GitLab Self-Managed # https://docs.gitlab.com/development/documentation/styleguide/word_list/#gitlab-self-managed
   GitLabber: GitLab team member
   GitLabbers: GitLab team members
   GitLab-shell: GitLab Shell
@@ -34,8 +37,8 @@
   GitLabber: GitLab team member
   GitLabbers: GitLab team members
   GitLab-shell: GitLab Shell
-  gitlab omnibus: Linux package
+  gitlab omnibus(?! builder): "Linux package"
   golang: Go
   guest access: the Guest role
   guest permission: the Guest role
   guest permissions: the Guest role
@@ -38,7 +41,9 @@
   golang: Go
   guest access: the Guest role
   guest permission: the Guest role
   guest permissions: the Guest role
+  life cycle: "lifecycle"
+  life-cycle: "lifecycle"
   maintainer access: the Maintainer role
   maintainer permission: the Maintainer role
   maintainer permissions: the Maintainer role
@@ -56,8 +61,8 @@
   reporter permission: the Reporter role
   reporter permissions: the Reporter role
   rubocop: RuboCop
-  self hosted GitLab: GitLab self-managed # https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#gitlab-self-managed
-  self-hosted GitLab: GitLab self-managed # https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#gitlab-self-managed
+  self hosted GitLab: GitLab Self-Managed # https://docs.gitlab.com/development/documentation/styleguide/word_list/#gitlab-self-managed
+  self-hosted GitLab: GitLab Self-Managed # https://docs.gitlab.com/development/documentation/styleguide/word_list/#gitlab-self-managed
   styleguide: style guide
   the administrator access level: administrator access
   to login: to log in
diff --git a/doc/.vale/gitlab_base/ToDo.yml b/doc/.vale/gitlab_base/ToDo.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1RvRG8ueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1RvRG8ueW1s 100644
--- a/doc/.vale/gitlab_base/ToDo.yml
+++ b/doc/.vale/gitlab_base/ToDo.yml
@@ -6,5 +6,6 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "Use 'to-do item' in most cases, or 'Add a to do' if referring to the UI button."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#to-do-item
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#to-do-item
+vocab: false
 level: warning
@@ -10,4 +11,6 @@
 level: warning
+action:
+  name: replace
 ignorecase: false
 swap:
   '[Tt]o [Dd]o [Ii]tems?': to-do item
diff --git a/doc/.vale/gitlab_base/UnclearAntecedent.yml b/doc/.vale/gitlab_base/UnclearAntecedent.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1VuY2xlYXJBbnRlY2VkZW50LnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1VuY2xlYXJBbnRlY2VkZW50LnltbA== 100644
--- a/doc/.vale/gitlab_base/UnclearAntecedent.yml
+++ b/doc/.vale/gitlab_base/UnclearAntecedent.yml
@@ -6,9 +6,10 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Instead of '%s', try starting this sentence with a specific subject and verb."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#this-these-that-those
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/#this-these-that-those
+vocab: false
 level: warning
 ignorecase: false
 tokens:
   - 'That is'
   - 'That was'
@@ -10,7 +11,9 @@
 level: warning
 ignorecase: false
 tokens:
   - 'That is'
   - 'That was'
+  - 'There are'
+  - 'There were'
   - 'These are'
   - 'These were'
@@ -15,7 +18,5 @@
   - 'These are'
   - 'These were'
-  - 'There are'
-  - 'There were'
   - 'This is'
   - 'This was'
   - 'Those are'
diff --git a/doc/.vale/gitlab_base/Units.yml b/doc/.vale/gitlab_base/Units.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1VuaXRzLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1VuaXRzLnltbA== 100644
--- a/doc/.vale/gitlab_base/Units.yml
+++ b/doc/.vale/gitlab_base/Units.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Add a space between the number and the unit in '%s'."
-link: 'https://docs.gitlab.com/ee/development/documentation/styleguide/'
+link: 'https://docs.gitlab.com/development/documentation/styleguide/'
+vocab: false
 nonword: true
 level: warning
 ignorecase: true
diff --git a/doc/.vale/gitlab_base/Uppercase.yml b/doc/.vale/gitlab_base/Uppercase.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1VwcGVyY2FzZS55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1VwcGVyY2FzZS55bWw= 100644
--- a/doc/.vale/gitlab_base/Uppercase.yml
+++ b/doc/.vale/gitlab_base/Uppercase.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: conditional
 message: "Instead of uppercase for '%s', use lowercase or backticks (`) if possible. Otherwise, ask a Technical Writer to add this word or acronym to the rule's exception list."
-link: https://docs.gitlab.com/ee/development/documentation/testing/vale.html#vale-uppercase-acronym-test
+link: https://docs.gitlab.com/development/documentation/testing/vale/#uppercase-acronym-test
+vocab: false
 level: suggestion
 ignorecase: false
 # Ensures that the existence of 'first' implies the existence of 'second'.
@@ -21,4 +22,5 @@
   - ANSI
   - APAC
   - API
+  - APM
   - ARIA
@@ -24,5 +26,4 @@
   - ARIA
-  - APM
   - ARM
   - ARN
   - ASCII
@@ -59,8 +60,7 @@
   - DHCP
   - DML
   - DNS
-  - DSN
   - DOM
   - DORA
   - DSA
   - DSL
@@ -63,5 +63,7 @@
   - DOM
   - DORA
   - DSA
   - DSL
+  - DSN
+  - DUOENT
   - DUOPRO
@@ -67,5 +69,4 @@
   - DUOPRO
-  - DUOENT
   - DVCS
   - DVD
   - EBS
@@ -127,6 +128,7 @@
   - JPEG
   - JPG
   - JSON
+  - JSONB
   - JVM
   - JWT
   - KICS
@@ -135,7 +137,8 @@
   - LDAPS
   - LESS
   - LFS
+  - LLM
   - LRU
   - LSIF
   - LTM
   - LTS
@@ -138,7 +141,8 @@
   - LRU
   - LSIF
   - LTM
   - LTS
+  - LTSS
   - LVM
   - MIME
   - MIT
@@ -169,6 +173,7 @@
   - PHP
   - PID
   - PKCS
+  - PMD
   - PNG
   - POSIX
   - POST
@@ -180,7 +185,6 @@
   - RBAC
   - RDP
   - RDS
-  - RDS
   - REST
   - RFC
   - RHEL
@@ -214,6 +218,7 @@
   - SLA
   - SLI
   - SLO
+  - SLSA
   - SMS
   - SMTP
   - SOAP
@@ -225,6 +230,7 @@
   - SQL
   - SRE
   - SSD
+  - SSF
   - SSG
   - SSH
   - SSL
@@ -246,7 +252,6 @@
   - UBI
   - UDP
   - UID
-  - UID
   - UNIX
   - URI
   - URL
diff --git a/doc/.vale/gitlab_base/Wordy.yml b/doc/.vale/gitlab_base/Wordy.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1dvcmR5LnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1dvcmR5LnltbA== 100644
--- a/doc/.vale/gitlab_base/Wordy.yml
+++ b/doc/.vale/gitlab_base/Wordy.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: substitution
 message: "%s"
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
+link: https://docs.gitlab.com/development/documentation/styleguide/word_list/
+vocab: false
 level: suggestion
 ignorecase: true
 swap:
diff --git a/doc/.vale/gitlab_base/Zip.yml b/doc/.vale/gitlab_base/Zip.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1ppcC55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL1ppcC55bWw= 100644
--- a/doc/.vale/gitlab_base/Zip.yml
+++ b/doc/.vale/gitlab_base/Zip.yml
@@ -7,7 +7,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Wrap '%s' in backticks to prevent unintentional links to .zip domain names."
-link: 'https://docs.gitlab.com/ee/development/documentation/styleguide/index.md#backticks-in-markdown'
+link: 'https://docs.gitlab.com/development/documentation/styleguide/#inline-code'
+vocab: false
 nonword: true
 level: error
 ignorecase: true
diff --git a/doc/.vale/gitlab_base/spelling-exceptions.txt b/doc/.vale/gitlab_base/spelling-exceptions.txt
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL3NwZWxsaW5nLWV4Y2VwdGlvbnMudHh0..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9iYXNlL3NwZWxsaW5nLWV4Y2VwdGlvbnMudHh0 100644
--- a/doc/.vale/gitlab_base/spelling-exceptions.txt
+++ b/doc/.vale/gitlab_base/spelling-exceptions.txt
@@ -74,6 +74,7 @@
 B-tree
 backfilling
 backfills
+backoff
 backport
 backported
 backporting
@@ -182,4 +183,6 @@
 colocate
 colocated
 colocating
+Colorama
+Command Palette
 commit's
@@ -185,4 +188,5 @@
 commit's
+committer's
 CommonMark
 compilable
 composable
@@ -220,4 +224,5 @@
 CTEs
 CUnit
 customappsso
+CVE
 CVEs
@@ -223,6 +228,7 @@
 CVEs
+CVSS
 CWEs
 cybersecurity
 CycloneDX
 Dangerfile
 DAST
@@ -224,6 +230,7 @@
 CWEs
 cybersecurity
 CycloneDX
 Dangerfile
 DAST
+Database Lab
 Database Lab Engine
@@ -229,5 +236,4 @@
 Database Lab Engine
-Database Lab
 Databricks
 Datadog
 datasource
@@ -248,6 +254,7 @@
 deduplicates
 deduplicating
 deduplication
+Deepin
 delegators
 deliverables
 denormalization
@@ -326,6 +333,7 @@
 enqueues
 enricher
 enrichers
+Entra
 enum
 enums
 Enviroments
@@ -329,6 +337,7 @@
 enum
 enums
 Enviroments
+EPSS
 ESLint
 ESXi
 ETag
@@ -372,6 +381,7 @@
 Flycheck
 focusable
 Forgerock
+Forky
 formatters
 Fortanix
 Fortinet
@@ -406,6 +416,7 @@
 globbing
 globstar
 globstars
+GLQL's
 Gmail
 Godep
 Golang
@@ -409,6 +420,7 @@
 Gmail
 Godep
 Golang
+Goldmark
 Gollum
 Google
 goroutine
@@ -455,5 +467,6 @@
 hyperparameters
 iCalendar
 iCloud
+IDE's
 idempotence
 IDEs
@@ -458,6 +471,5 @@
 idempotence
 IDEs
-IDE's
 idmapper
 Iglu
 IIFEs
@@ -505,4 +517,5 @@
 kanbans
 kaniko
 Karma
+Kata
 KCachegrind
@@ -508,2 +521,3 @@
 KCachegrind
+keepalive
 Kerberos
@@ -509,4 +523,5 @@
 Kerberos
+KEV
 Keycloak
 keyless
 keyset
@@ -527,4 +542,5 @@
 Kubernetes
 Kubesec
 Kucoin
+Kustomization
 Kustomize
@@ -530,5 +546,4 @@
 Kustomize
-Kustomization
 kwargs
 Laravel
 LaunchDarkly
@@ -536,8 +551,6 @@
 Lefthook
 Leiningen
 Lemmy
-LLM
-LLMs
 libFuzzer
 Libgcrypt
 Libravatar
@@ -541,4 +554,5 @@
 libFuzzer
 Libgcrypt
 Libravatar
+LinuxMint
 liveness
@@ -544,4 +558,6 @@
 liveness
+LLM
+LLMs
 lockfile
 lockfiles
 Lodash
@@ -557,6 +573,7 @@
 lookups
 loopback
 LSP
+Lts
 Lua
 Lucene
 Lucidchart
@@ -640,6 +657,7 @@
 noteable
 noteables
 npm
+NTFSSecurity
 NuGet
 nullability
 nullable
@@ -654,7 +672,6 @@
 offboards
 OIDs
 OKRs
-OKRs
 Okta
 OLM
 OmniAuth
@@ -671,6 +688,7 @@
 OTel
 outdent
 Overcommit
+Packagecloud
 Packagist
 packfile
 packfiles
@@ -695,4 +713,5 @@
 Phabricator
 phaser
 phasers
+Phorge
 phpenv
@@ -698,5 +717,4 @@
 phpenv
-Phorge
 PHPUnit
 PIDs
 Pinia
@@ -758,6 +776,7 @@
 Pulumi
 Puma
 Pumble
+Pylint
 PyPI
 pytest
 Python
@@ -903,6 +922,8 @@
 shfmt
 Shippo
 Shopify
+shortcode
+shortcodes
 Sidekiq
 Sigstore
 Silverlight
@@ -1008,6 +1029,7 @@
 swimlanes
 syncable
 Sysbench
+Sysbox
 syscall
 syscalls
 syslog
@@ -1055,6 +1077,7 @@
 triages
 triaging
 Trivy
+Trixie
 Truststore
 truthy
 Twilio
@@ -1066,6 +1089,11 @@
 Udemy
 UI
 UIDs
+ulimit
+Ulyana
+Ulyssa
+Uma
+Una
 unapplied
 unapprove
 unapproved
@@ -1220,4 +1248,5 @@
 worktrees
 Worldline
 Xcode
+Xenial
 Xeon
@@ -1223,4 +1252,5 @@
 Xeon
+Xerus
 XPath
 Yandex
 YouTrack
diff --git a/doc/.vale/gitlab_docs/AlertBoxStyle.yml b/doc/.vale/gitlab_docs/AlertBoxStyle.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0FsZXJ0Qm94U3R5bGUueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0FsZXJ0Qm94U3R5bGUueW1s 100644
--- a/doc/.vale/gitlab_docs/AlertBoxStyle.yml
+++ b/doc/.vale/gitlab_docs/AlertBoxStyle.yml
@@ -1,11 +1,7 @@
 ---
 # Error: gitlab_docs.AlertBoxStyle
 #
-# Makes sure alert boxes are used with block quotes. Checks for 3 formatting issues:
-#
-# - Alert boxes inside a block quote ('>')
-# - Alert boxes with the note text on the same line
-# - Alert boxes using words other than 'NOTE' or 'WARNING'
+# Makes sure alert boxes use Hugo shortcodes
 #
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
@@ -9,9 +5,11 @@
 #
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
-message: "Update the format of the '%s' alert box. View the style guide for details."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#alert-boxes
+message: "Alert boxes are defined with hugo shortcodes. View the style guide for details."
+link: https://docs.gitlab.com/development/documentation/styleguide/#alert-boxes
+vocab: false
+ignorecase: true
 level: error
 nonword: true
 scope: raw
 tokens:
@@ -14,7 +12,5 @@
 level: error
 nonword: true
 scope: raw
 tokens:
-  - '^ *> *(NOTE|WARNING)'
-  - '(?<=\n\n)(NOTE|WARNING):[^\n]+\n'
-  - '(?<=\n\n) *(> )?\**([Nn]ote|TIP|[Tt]ip|CAUTION|[Cc]aution|DANGER|[Dd]anger|[Ww]arning):.*'
+  - '^ *(> )?(- )?\**(note|tip|caution|danger|warning|flag|disclaimer|details|history)\**:\**$'
diff --git a/doc/.vale/gitlab_docs/Badges-Offerings.yml b/doc/.vale/gitlab_docs/Badges-Offerings.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0JhZGdlcy1PZmZlcmluZ3MueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0JhZGdlcy1PZmZlcmluZ3MueW1s 100644
--- a/doc/.vale/gitlab_docs/Badges-Offerings.yml
+++ b/doc/.vale/gitlab_docs/Badges-Offerings.yml
@@ -2,5 +2,5 @@
 #
 # Tests the offering information in the tier badges that appear below topic titles.
 #
-# For a list of all options, see https://docs.gitlab.com/ee/development/documentation/styleguide/#available-product-tier-badges
+# For a list of all options, see https://docs.gitlab.com/development/documentation/styleguide/availability_details/#available-options
 extends: existence
@@ -6,8 +6,8 @@
 extends: existence
-message: "Offerings should be comma-separated, without `and`, and must be capitalized. Example: `GitLab.com, GitLab Self-Managed, GitLab Dedicated`."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/#available-product-tier-badges
+message: "Offerings should be comma-separated and capitalized, without `and` or bold/italics. Example: `- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated`."
+link: https://docs.gitlab.com/development/documentation/styleguide/availability_details/#available-options
 vocab: false
 level: error
 nonword: true
 scope: raw
 tokens:
@@ -9,7 +9,8 @@
 vocab: false
 level: error
 nonword: true
 scope: raw
 tokens:
-  - ^\*\*Offering:\*\*[^\n]*(SaaS|[Ss]elf-managed|dedicated|and|Dedicated,|, GitLab\.com)
-  - ^\*\*Offering:\*\*[^\n]*(?<!GitLab )(Self-Managed|Dedicated)
+  - ^- Offering:[^\n]*(SaaS|[Ss]elf-managed|dedicated|and|Dedicated,|, GitLab\.com)
+  - ^- Offering:[^\n]*(?<!GitLab )(Self-Managed|Dedicated)
+  - ^(- )?\*+Offering(:\*+|\*+:)
diff --git a/doc/.vale/gitlab_docs/Badges-Tiers.yml b/doc/.vale/gitlab_docs/Badges-Tiers.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0JhZGdlcy1UaWVycy55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0JhZGdlcy1UaWVycy55bWw= 100644
--- a/doc/.vale/gitlab_docs/Badges-Tiers.yml
+++ b/doc/.vale/gitlab_docs/Badges-Tiers.yml
@@ -2,5 +2,5 @@
 #
 # Tests the tier information in the tier badges that appear below topic titles.
 #
-# For a list of all options, see https://docs.gitlab.com/ee/development/documentation/styleguide/#available-product-tier-badges
+# For a list of all options, see https://docs.gitlab.com/development/documentation/styleguide/availability_details/#available-options
 extends: existence
@@ -6,7 +6,8 @@
 extends: existence
-message: "Tiers should be capitalized, comma-separated, and ordered lowest to highest."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/#available-product-tier-badges
+message: "Tiers should be capitalized, comma-separated, without bold/italics, and ordered lowest to highest. Example: `- Tier: Free, Premium, Ultimate`."
+link: https://docs.gitlab.com/development/documentation/styleguide/availability_details/#available-options
+vocab: false
 level: error
 nonword: true
 scope: raw
 tokens:
@@ -9,5 +10,6 @@
 level: error
 nonword: true
 scope: raw
 tokens:
-- ^\*\*Tier:\*\*.*(free|premium|ultimate|, Free|Ultimate,)
+- ^- Tier:.*(free(?!-)|premium|ultimate|, Free|Ultimate,)
+- ^(- )?\*+Tier(:\*+|\*+:)
diff --git a/doc/.vale/gitlab_docs/FrontMatter.yml b/doc/.vale/gitlab_docs/FrontMatter.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0Zyb250TWF0dGVyLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0Zyb250TWF0dGVyLnltbA== 100644
--- a/doc/.vale/gitlab_docs/FrontMatter.yml
+++ b/doc/.vale/gitlab_docs/FrontMatter.yml
@@ -1,6 +1,6 @@
 extends: script
 message: "Front matter must have valid 'title' and be closed."
-link: https://docs.gitlab.com/ee/development/documentation/metadata/
+link: https://docs.gitlab.com/development/documentation/metadata/
 level: error
 scope: raw
 script: |
diff --git a/doc/.vale/gitlab_docs/HistoryItems.yml b/doc/.vale/gitlab_docs/HistoryItems.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0hpc3RvcnlJdGVtcy55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0hpc3RvcnlJdGVtcy55bWw= 100644
--- a/doc/.vale/gitlab_docs/HistoryItems.yml
+++ b/doc/.vale/gitlab_docs/HistoryItems.yml
@@ -4,9 +4,10 @@
 # Ensures history items are properly formatted.
 #
 extends: existence
-message: "History items must always start with '> -', one item per line, even if there is only one item."
-link: https://docs.gitlab.com/ee/development/documentation/versions.html#add-a-version-history-item
+message: "History items must always use Hugo shortcodes and be a list with each line starting with '-', one item per line, even if there is only one item."
+link: https://docs.gitlab.com/development/documentation/feature_flags/#add-history-text
+vocab: false
 level: error
 nonword: true
 scope: raw
 tokens:
@@ -9,6 +10,6 @@
 level: error
 nonword: true
 scope: raw
 tokens:
-  - '(?<=^#+[^\n]*\n\n)> [^-]'
-  - '^> - [^\n]*\n[^\n>`]'
+  - '\{\{< history >\}\}\n\n[^-]'
+  - '(^#+[^\n]*|\{\{< /details >\}\})\n\n> -'
diff --git a/doc/.vale/gitlab_docs/HistoryItemsOrder.yml b/doc/.vale/gitlab_docs/HistoryItemsOrder.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0hpc3RvcnlJdGVtc09yZGVyLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0hpc3RvcnlJdGVtc09yZGVyLnltbA== 100644
--- a/doc/.vale/gitlab_docs/HistoryItemsOrder.yml
+++ b/doc/.vale/gitlab_docs/HistoryItemsOrder.yml
@@ -5,8 +5,9 @@
 #
 extends: existence
 message: "History items must follow the tier, offering, or status details."
-link: https://docs.gitlab.com/ee/development/documentation/versions.html#add-a-version-history-item
+link: https://docs.gitlab.com/development/documentation/feature_flags/#add-history-text
+vocab: false
 level: error
 nonword: true
 scope: raw
 tokens:
@@ -9,5 +10,5 @@
 level: error
 nonword: true
 scope: raw
 tokens:
-  - '^\>[^\n]*\n\nDETAILS'
+  - '\{\{< /history >\}\}\n\n?\{\{< details >\}\}'
diff --git a/doc/.vale/gitlab_docs/ImagesOld.yml b/doc/.vale/gitlab_docs/ImagesOld.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ltYWdlc09sZC55bWw=
--- /dev/null
+++ b/doc/.vale/gitlab_docs/ImagesOld.yml
@@ -0,0 +1,14 @@
+---
+# Suggestion: gitlab_docs.ImagesOld
+#
+# Checks for images that are not from supported versions of GitLab
+#
+# For a list of all options, see https://vale.sh/docs/topics/styles/
+extends: existence
+message: "Review this image. It might be out of date."
+link: https://docs.gitlab.com/development/documentation/styleguide/#anchor-links
+vocab: false
+level: suggestion
+scope: raw
+raw:
+  - '!\[[^\]]*\]\([^\)]*_v(1[01234]|[345789])[^\)]*\)'
diff --git a/doc/.vale/gitlab_docs/InternalLinkCase.yml b/doc/.vale/gitlab_docs/InternalLinkCase.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua0Nhc2UueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua0Nhc2UueW1s 100644
--- a/doc/.vale/gitlab_docs/InternalLinkCase.yml
+++ b/doc/.vale/gitlab_docs/InternalLinkCase.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use lowercase for the anchor link."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#anchor-links
+link: https://docs.gitlab.com/development/documentation/styleguide/#anchor-links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_docs/InternalLinkExtension.yml b/doc/.vale/gitlab_docs/InternalLinkExtension.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua0V4dGVuc2lvbi55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua0V4dGVuc2lvbi55bWw= 100644
--- a/doc/.vale/gitlab_docs/InternalLinkExtension.yml
+++ b/doc/.vale/gitlab_docs/InternalLinkExtension.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Link to a file and use the .md file extension instead of .html."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_docs/InternalLinkFormat.yml b/doc/.vale/gitlab_docs/InternalLinkFormat.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua0Zvcm1hdC55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua0Zvcm1hdC55bWw= 100644
--- a/doc/.vale/gitlab_docs/InternalLinkFormat.yml
+++ b/doc/.vale/gitlab_docs/InternalLinkFormat.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Edit the link so it does not start with '/' or './'."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_docs/InternalLinksCode.yml b/doc/.vale/gitlab_docs/InternalLinksCode.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua3NDb2RlLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL0ludGVybmFsTGlua3NDb2RlLnltbA== 100644
--- a/doc/.vale/gitlab_docs/InternalLinksCode.yml
+++ b/doc/.vale/gitlab_docs/InternalLinksCode.yml
@@ -5,7 +5,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use full URLs for files outside the docs directory."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_docs/ReferenceLinks.yml b/doc/.vale/gitlab_docs/ReferenceLinks.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1JlZmVyZW5jZUxpbmtzLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1JlZmVyZW5jZUxpbmtzLnltbA== 100644
--- a/doc/.vale/gitlab_docs/ReferenceLinks.yml
+++ b/doc/.vale/gitlab_docs/ReferenceLinks.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Put this link inline with the rest of the text."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#inline-links
+vocab: false
 level: error
 nonword: true
 scope: raw
diff --git a/doc/.vale/gitlab_docs/RelativeLinks.yml b/doc/.vale/gitlab_docs/RelativeLinks.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1JlbGF0aXZlTGlua3MueW1s..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1JlbGF0aXZlTGlua3MueW1s 100644
--- a/doc/.vale/gitlab_docs/RelativeLinks.yml
+++ b/doc/.vale/gitlab_docs/RelativeLinks.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Use a relative link instead of a URL, and ensure the file name ends in .md and not .html."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_docs/RelativeLinksDoubleSlashes.yml b/doc/.vale/gitlab_docs/RelativeLinksDoubleSlashes.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1JlbGF0aXZlTGlua3NEb3VibGVTbGFzaGVzLnltbA==..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1JlbGF0aXZlTGlua3NEb3VibGVTbGFzaGVzLnltbA== 100644
--- a/doc/.vale/gitlab_docs/RelativeLinksDoubleSlashes.yml
+++ b/doc/.vale/gitlab_docs/RelativeLinksDoubleSlashes.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Do not use double slashes '//' or '../doc' in the link path"
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
+link: https://docs.gitlab.com/development/documentation/styleguide/#links
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/.vale/gitlab_docs/TabsLinks.yml b/doc/.vale/gitlab_docs/TabsLinks.yml
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1RhYnNMaW5rcy55bWw=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jLy52YWxlL2dpdGxhYl9kb2NzL1RhYnNMaW5rcy55bWw= 100644
--- a/doc/.vale/gitlab_docs/TabsLinks.yml
+++ b/doc/.vale/gitlab_docs/TabsLinks.yml
@@ -6,7 +6,8 @@
 # For a list of all options, see https://vale.sh/docs/topics/styles/
 extends: existence
 message: "Do not include tabs query parameters in links."
-link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#tabs
+link: https://docs.gitlab.com/development/documentation/styleguide/#tabs
+vocab: false
 level: error
 scope: raw
 raw:
diff --git a/doc/architecture/_index.md b/doc/architecture/_index.md
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jL2FyY2hpdGVjdHVyZS9faW5kZXgubWQ=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jL2FyY2hpdGVjdHVyZS9faW5kZXgubWQ= 100644
--- a/doc/architecture/_index.md
+++ b/doc/architecture/_index.md
@@ -187,7 +187,7 @@
 
 So, of the components described above, some (such as software definitions, project metadata, and tests) find use during the package building, in a build environment, and some (such as Chef cookbooks and recipes, GitLab configuration file, runit, and `gitlab-ctl` commands) are used to configure the user's installed instance.
 
-## Work life cycle of Omnibus GitLab
+## Work lifecycle of Omnibus GitLab
 
 ### What happens during package building
 
diff --git a/doc/settings/backups.md b/doc/settings/backups.md
index 30ecc94ce56847b1b25a4226cf8377c1057e17f3_ZG9jL3NldHRpbmdzL2JhY2t1cHMubWQ=..8e401997838ed2b67de8224b1476595b9a8df697_ZG9jL3NldHRpbmdzL2JhY2t1cHMubWQ= 100644
--- a/doc/settings/backups.md
+++ b/doc/settings/backups.md
@@ -196,6 +196,7 @@
 gitlab_rails['manage_backup_path'] = false
 ```
 
-WARNING:
+{{< alert type="warning" >}}
+
 If you set this configuration option, it is up to you to create the directory specified in `gitlab_rails['backup_path']` and to set permissions
 which will allow user specified in `user['username']` to have correct access. Failing to do so will prevent GitLab from creating the backup archive.
@@ -200,2 +201,4 @@
 If you set this configuration option, it is up to you to create the directory specified in `gitlab_rails['backup_path']` and to set permissions
 which will allow user specified in `user['username']` to have correct access. Failing to do so will prevent GitLab from creating the backup archive.
+
+{{< /alert >}}