@redocly/recheck 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1023 -56
- package/dist/cli.js +40 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/markdoc-schema.d.ts +17 -0
- package/dist/commands/markdoc-schema.d.ts.map +1 -0
- package/dist/commands/markdoc-schema.js +127 -0
- package/dist/commands/markdoc-schema.js.map +1 -0
- package/dist/commands/run.d.ts +2 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +87 -10
- package/dist/commands/run.js.map +1 -1
- package/dist/config/load.d.ts +11 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +12 -2
- package/dist/config/load.js.map +1 -1
- package/dist/config/presets/google.d.ts +3 -0
- package/dist/config/presets/google.d.ts.map +1 -0
- package/dist/config/presets/google.js +1671 -0
- package/dist/config/presets/google.js.map +1 -0
- package/dist/config/presets/inclusive-language.d.ts +3 -0
- package/dist/config/presets/inclusive-language.d.ts.map +1 -0
- package/dist/config/presets/inclusive-language.js +321 -0
- package/dist/config/presets/inclusive-language.js.map +1 -0
- package/dist/config/presets/index.d.ts +67 -0
- package/dist/config/presets/index.d.ts.map +1 -0
- package/dist/config/presets/index.js +137 -0
- package/dist/config/presets/index.js.map +1 -0
- package/dist/config/presets/markdoc.d.ts +21 -0
- package/dist/config/presets/markdoc.d.ts.map +1 -0
- package/dist/config/presets/markdoc.js +101 -0
- package/dist/config/presets/markdoc.js.map +1 -0
- package/dist/config/presets/markdown-relaxed.d.ts +3 -0
- package/dist/config/presets/markdown-relaxed.d.ts.map +1 -0
- package/dist/config/presets/markdown-relaxed.js +98 -0
- package/dist/config/presets/markdown-relaxed.js.map +1 -0
- package/dist/config/presets/markdown.d.ts +43 -0
- package/dist/config/presets/markdown.d.ts.map +1 -0
- package/dist/config/presets/markdown.js +132 -0
- package/dist/config/presets/markdown.js.map +1 -0
- package/dist/config/presets/microsoft.d.ts +3 -0
- package/dist/config/presets/microsoft.d.ts.map +1 -0
- package/dist/config/presets/microsoft.js +2268 -0
- package/dist/config/presets/microsoft.js.map +1 -0
- package/dist/config/presets/minimal.d.ts +3 -0
- package/dist/config/presets/minimal.d.ts.map +1 -0
- package/dist/config/presets/minimal.js +21 -0
- package/dist/config/presets/minimal.js.map +1 -0
- package/dist/config/presets/plain-language.d.ts +3 -0
- package/dist/config/presets/plain-language.d.ts.map +1 -0
- package/dist/config/presets/plain-language.js +351 -0
- package/dist/config/presets/plain-language.js.map +1 -0
- package/dist/config/presets/prose.d.ts +52 -0
- package/dist/config/presets/prose.d.ts.map +1 -0
- package/dist/config/presets/prose.js +138 -0
- package/dist/config/presets/prose.js.map +1 -0
- package/dist/config/schema.d.ts +128 -22
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +105 -21
- package/dist/config/schema.js.map +1 -1
- package/dist/config/validate.d.ts +12 -2
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +1200 -44
- package/dist/config/validate.js.map +1 -1
- package/dist/core/auto-fix.d.ts +8 -13
- package/dist/core/auto-fix.d.ts.map +1 -1
- package/dist/core/auto-fix.js +94 -75
- package/dist/core/auto-fix.js.map +1 -1
- package/dist/core/case-preserve.d.ts +46 -0
- package/dist/core/case-preserve.d.ts.map +1 -0
- package/dist/core/case-preserve.js +57 -0
- package/dist/core/case-preserve.js.map +1 -0
- package/dist/core/directives.d.ts +9 -0
- package/dist/core/directives.d.ts.map +1 -0
- package/dist/core/directives.js +73 -0
- package/dist/core/directives.js.map +1 -0
- package/dist/core/files.d.ts +63 -0
- package/dist/core/files.d.ts.map +1 -1
- package/dist/core/files.js +185 -0
- package/dist/core/files.js.map +1 -1
- package/dist/core/inline-code.d.ts +87 -0
- package/dist/core/inline-code.d.ts.map +1 -0
- package/dist/core/inline-code.js +104 -0
- package/dist/core/inline-code.js.map +1 -0
- package/dist/core/line-endings.d.ts +32 -0
- package/dist/core/line-endings.d.ts.map +1 -0
- package/dist/core/line-endings.js +65 -0
- package/dist/core/line-endings.js.map +1 -0
- package/dist/core/markdoc-tags.d.ts +79 -0
- package/dist/core/markdoc-tags.d.ts.map +1 -0
- package/dist/core/markdoc-tags.js +131 -0
- package/dist/core/markdoc-tags.js.map +1 -0
- package/dist/core/rule-filters.d.ts +17 -0
- package/dist/core/rule-filters.d.ts.map +1 -1
- package/dist/core/rule-filters.js +64 -0
- package/dist/core/rule-filters.js.map +1 -1
- package/dist/core/runner.d.ts +92 -3
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +348 -110
- package/dist/core/runner.js.map +1 -1
- package/dist/core/timing.d.ts.map +1 -1
- package/dist/data/markdoc-realm-schema.d.ts +3 -0
- package/dist/data/markdoc-realm-schema.d.ts.map +1 -0
- package/dist/data/markdoc-realm-schema.js +760 -0
- package/dist/data/markdoc-realm-schema.js.map +1 -0
- package/dist/data/proper-nouns.d.ts +2 -0
- package/dist/data/proper-nouns.d.ts.map +1 -0
- package/dist/data/proper-nouns.js +47 -0
- package/dist/data/proper-nouns.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +152 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics/formulas.d.ts +17 -0
- package/dist/metrics/formulas.d.ts.map +1 -0
- package/dist/metrics/formulas.js +70 -0
- package/dist/metrics/formulas.js.map +1 -0
- package/dist/metrics/index.d.ts +5 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +3 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/statistics.d.ts +27 -0
- package/dist/metrics/statistics.d.ts.map +1 -0
- package/dist/metrics/statistics.js +56 -0
- package/dist/metrics/statistics.js.map +1 -0
- package/dist/parser/index.d.ts +18 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +168 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/markdoc/extract-statics.d.ts +45 -0
- package/dist/parser/markdoc/extract-statics.d.ts.map +1 -0
- package/dist/parser/markdoc/extract-statics.js +139 -0
- package/dist/parser/markdoc/extract-statics.js.map +1 -0
- package/dist/parser/markdoc/pairing.d.ts +63 -0
- package/dist/parser/markdoc/pairing.d.ts.map +1 -0
- package/dist/parser/markdoc/pairing.js +94 -0
- package/dist/parser/markdoc/pairing.js.map +1 -0
- package/dist/parser/markdoc/schema.d.ts +85 -0
- package/dist/parser/markdoc/schema.d.ts.map +1 -0
- package/dist/parser/markdoc/schema.js +86 -0
- package/dist/parser/markdoc/schema.js.map +1 -0
- package/dist/parser/markdoc/span.d.ts +64 -0
- package/dist/parser/markdoc/span.d.ts.map +1 -0
- package/dist/parser/markdoc/span.js +729 -0
- package/dist/parser/markdoc/span.js.map +1 -0
- package/dist/parser/markdoc/structure.d.ts +28 -0
- package/dist/parser/markdoc/structure.d.ts.map +1 -0
- package/dist/parser/markdoc/structure.js +153 -0
- package/dist/parser/markdoc/structure.js.map +1 -0
- package/dist/parser/markdoc/syntax.d.ts +44 -0
- package/dist/parser/markdoc/syntax.d.ts.map +1 -0
- package/dist/parser/markdoc/syntax.js +317 -0
- package/dist/parser/markdoc/syntax.js.map +1 -0
- package/dist/parser/types.d.ts +18 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/reporter/fixes.d.ts.map +1 -1
- package/dist/reporter/fixes.js +22 -1
- package/dist/reporter/fixes.js.map +1 -1
- package/dist/reporter/statistics.d.ts +1 -8
- package/dist/reporter/statistics.d.ts.map +1 -1
- package/dist/reporter/statistics.js.map +1 -1
- package/dist/rules/registry.d.ts +15 -0
- package/dist/rules/registry.d.ts.map +1 -0
- package/dist/rules/registry.js +81 -0
- package/dist/rules/registry.js.map +1 -0
- package/dist/rules/scope/capitalization.d.ts +3 -0
- package/dist/rules/scope/capitalization.d.ts.map +1 -0
- package/dist/rules/scope/capitalization.js +163 -0
- package/dist/rules/scope/capitalization.js.map +1 -0
- package/dist/rules/scope/conditional.d.ts +3 -0
- package/dist/rules/scope/conditional.d.ts.map +1 -0
- package/dist/rules/scope/conditional.js +112 -0
- package/dist/rules/scope/conditional.js.map +1 -0
- package/dist/rules/scope/consistency.d.ts +3 -0
- package/dist/rules/scope/consistency.d.ts.map +1 -0
- package/dist/rules/scope/consistency.js +178 -0
- package/dist/rules/scope/consistency.js.map +1 -0
- package/dist/rules/scope/length.d.ts +3 -0
- package/dist/rules/scope/length.d.ts.map +1 -0
- package/dist/rules/scope/length.js +69 -0
- package/dist/rules/scope/length.js.map +1 -0
- package/dist/rules/scope/max-image-size.d.ts +3 -0
- package/dist/rules/scope/max-image-size.d.ts.map +1 -0
- package/dist/rules/scope/max-image-size.js +65 -0
- package/dist/rules/scope/max-image-size.js.map +1 -0
- package/dist/rules/scope/metric.d.ts +17 -0
- package/dist/rules/scope/metric.d.ts.map +1 -0
- package/dist/rules/scope/metric.js +216 -0
- package/dist/rules/scope/metric.js.map +1 -0
- package/dist/rules/scope/occurrence.d.ts +3 -0
- package/dist/rules/scope/occurrence.d.ts.map +1 -0
- package/dist/rules/scope/occurrence.js +48 -0
- package/dist/rules/scope/occurrence.js.map +1 -0
- package/dist/rules/scope/pattern.d.ts +3 -0
- package/dist/rules/scope/pattern.d.ts.map +1 -0
- package/dist/rules/scope/pattern.js +75 -0
- package/dist/rules/scope/pattern.js.map +1 -0
- package/dist/rules/scope/repetition.d.ts +3 -0
- package/dist/rules/scope/repetition.d.ts.map +1 -0
- package/dist/rules/scope/repetition.js +139 -0
- package/dist/rules/scope/repetition.js.map +1 -0
- package/dist/rules/scope/semantic-line-breaks.d.ts +3 -0
- package/dist/rules/scope/semantic-line-breaks.d.ts.map +1 -0
- package/dist/rules/scope/semantic-line-breaks.js +213 -0
- package/dist/rules/scope/semantic-line-breaks.js.map +1 -0
- package/dist/rules/scope/spelling.d.ts +27 -0
- package/dist/rules/scope/spelling.d.ts.map +1 -0
- package/dist/rules/scope/spelling.js +227 -0
- package/dist/rules/scope/spelling.js.map +1 -0
- package/dist/rules/scope/swap.d.ts +3 -0
- package/dist/rules/scope/swap.d.ts.map +1 -0
- package/dist/rules/scope/swap.js +149 -0
- package/dist/rules/scope/swap.js.map +1 -0
- package/dist/rules/scope/title-case.d.ts +46 -0
- package/dist/rules/scope/title-case.d.ts.map +1 -0
- package/dist/rules/scope/title-case.js +301 -0
- package/dist/rules/scope/title-case.js.map +1 -0
- package/dist/rules/token/blanks-around-fences.d.ts +3 -0
- package/dist/rules/token/blanks-around-fences.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-fences.js +44 -0
- package/dist/rules/token/blanks-around-fences.js.map +1 -0
- package/dist/rules/token/blanks-around-headings.d.ts +3 -0
- package/dist/rules/token/blanks-around-headings.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-headings.js +108 -0
- package/dist/rules/token/blanks-around-headings.js.map +1 -0
- package/dist/rules/token/blanks-around-lists.d.ts +3 -0
- package/dist/rules/token/blanks-around-lists.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-lists.js +56 -0
- package/dist/rules/token/blanks-around-lists.js.map +1 -0
- package/dist/rules/token/blanks-around-tables.d.ts +3 -0
- package/dist/rules/token/blanks-around-tables.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-tables.js +42 -0
- package/dist/rules/token/blanks-around-tables.js.map +1 -0
- package/dist/rules/token/code-block-style.d.ts +3 -0
- package/dist/rules/token/code-block-style.d.ts.map +1 -0
- package/dist/rules/token/code-block-style.js +30 -0
- package/dist/rules/token/code-block-style.js.map +1 -0
- package/dist/rules/token/code-fence-style.d.ts +3 -0
- package/dist/rules/token/code-fence-style.d.ts.map +1 -0
- package/dist/rules/token/code-fence-style.js +35 -0
- package/dist/rules/token/code-fence-style.js.map +1 -0
- package/dist/rules/token/commands-show-output.d.ts +3 -0
- package/dist/rules/token/commands-show-output.d.ts.map +1 -0
- package/dist/rules/token/commands-show-output.js +38 -0
- package/dist/rules/token/commands-show-output.js.map +1 -0
- package/dist/rules/token/descriptive-link-text.d.ts +3 -0
- package/dist/rules/token/descriptive-link-text.d.ts.map +1 -0
- package/dist/rules/token/descriptive-link-text.js +53 -0
- package/dist/rules/token/descriptive-link-text.js.map +1 -0
- package/dist/rules/token/emphasis-style.d.ts +3 -0
- package/dist/rules/token/emphasis-style.d.ts.map +1 -0
- package/dist/rules/token/emphasis-style.js +51 -0
- package/dist/rules/token/emphasis-style.js.map +1 -0
- package/dist/rules/token/fenced-code-language.d.ts +3 -0
- package/dist/rules/token/fenced-code-language.d.ts.map +1 -0
- package/dist/rules/token/fenced-code-language.js +35 -0
- package/dist/rules/token/fenced-code-language.js.map +1 -0
- package/dist/rules/token/first-line-h1.d.ts +3 -0
- package/dist/rules/token/first-line-h1.d.ts.map +1 -0
- package/dist/rules/token/first-line-h1.js +107 -0
- package/dist/rules/token/first-line-h1.js.map +1 -0
- package/dist/rules/token/heading-increment.d.ts +3 -0
- package/dist/rules/token/heading-increment.d.ts.map +1 -0
- package/dist/rules/token/heading-increment.js +27 -0
- package/dist/rules/token/heading-increment.js.map +1 -0
- package/dist/rules/token/heading-start-left.d.ts +3 -0
- package/dist/rules/token/heading-start-left.d.ts.map +1 -0
- package/dist/rules/token/heading-start-left.js +31 -0
- package/dist/rules/token/heading-start-left.js.map +1 -0
- package/dist/rules/token/heading-style.d.ts +3 -0
- package/dist/rules/token/heading-style.d.ts.map +1 -0
- package/dist/rules/token/heading-style.js +41 -0
- package/dist/rules/token/heading-style.js.map +1 -0
- package/dist/rules/token/helpers.d.ts +313 -0
- package/dist/rules/token/helpers.d.ts.map +1 -0
- package/dist/rules/token/helpers.js +746 -0
- package/dist/rules/token/helpers.js.map +1 -0
- package/dist/rules/token/hr-style.d.ts +3 -0
- package/dist/rules/token/hr-style.d.ts.map +1 -0
- package/dist/rules/token/hr-style.js +28 -0
- package/dist/rules/token/hr-style.js.map +1 -0
- package/dist/rules/token/index.d.ts +75 -0
- package/dist/rules/token/index.d.ts.map +1 -0
- package/dist/rules/token/index.js +226 -0
- package/dist/rules/token/index.js.map +1 -0
- package/dist/rules/token/line-length.d.ts +3 -0
- package/dist/rules/token/line-length.d.ts.map +1 -0
- package/dist/rules/token/line-length.js +120 -0
- package/dist/rules/token/line-length.js.map +1 -0
- package/dist/rules/token/link-fragments.d.ts +3 -0
- package/dist/rules/token/link-fragments.d.ts.map +1 -0
- package/dist/rules/token/link-fragments.js +145 -0
- package/dist/rules/token/link-fragments.js.map +1 -0
- package/dist/rules/token/link-image-reference-definitions.d.ts +3 -0
- package/dist/rules/token/link-image-reference-definitions.d.ts.map +1 -0
- package/dist/rules/token/link-image-reference-definitions.js +50 -0
- package/dist/rules/token/link-image-reference-definitions.js.map +1 -0
- package/dist/rules/token/link-image-style.d.ts +3 -0
- package/dist/rules/token/link-image-style.d.ts.map +1 -0
- package/dist/rules/token/link-image-style.js +131 -0
- package/dist/rules/token/link-image-style.js.map +1 -0
- package/dist/rules/token/list-indent.d.ts +3 -0
- package/dist/rules/token/list-indent.d.ts.map +1 -0
- package/dist/rules/token/list-indent.js +60 -0
- package/dist/rules/token/list-indent.js.map +1 -0
- package/dist/rules/token/list-length.d.ts +3 -0
- package/dist/rules/token/list-length.d.ts.map +1 -0
- package/dist/rules/token/list-length.js +55 -0
- package/dist/rules/token/list-length.js.map +1 -0
- package/dist/rules/token/list-marker-space.d.ts +3 -0
- package/dist/rules/token/list-marker-space.d.ts.map +1 -0
- package/dist/rules/token/list-marker-space.js +52 -0
- package/dist/rules/token/list-marker-space.js.map +1 -0
- package/dist/rules/token/markdoc-attributes.d.ts +3 -0
- package/dist/rules/token/markdoc-attributes.d.ts.map +1 -0
- package/dist/rules/token/markdoc-attributes.js +269 -0
- package/dist/rules/token/markdoc-attributes.js.map +1 -0
- package/dist/rules/token/markdoc-pairing.d.ts +3 -0
- package/dist/rules/token/markdoc-pairing.d.ts.map +1 -0
- package/dist/rules/token/markdoc-pairing.js +73 -0
- package/dist/rules/token/markdoc-pairing.js.map +1 -0
- package/dist/rules/token/markdoc-syntax.d.ts +3 -0
- package/dist/rules/token/markdoc-syntax.d.ts.map +1 -0
- package/dist/rules/token/markdoc-syntax.js +119 -0
- package/dist/rules/token/markdoc-syntax.js.map +1 -0
- package/dist/rules/token/markdoc-unknown-tag.d.ts +3 -0
- package/dist/rules/token/markdoc-unknown-tag.d.ts.map +1 -0
- package/dist/rules/token/markdoc-unknown-tag.js +64 -0
- package/dist/rules/token/markdoc-unknown-tag.js.map +1 -0
- package/dist/rules/token/messages.d.ts +4 -0
- package/dist/rules/token/messages.d.ts.map +1 -0
- package/dist/rules/token/messages.js +20 -0
- package/dist/rules/token/messages.js.map +1 -0
- package/dist/rules/token/no-alt-text.d.ts +3 -0
- package/dist/rules/token/no-alt-text.d.ts.map +1 -0
- package/dist/rules/token/no-alt-text.js +47 -0
- package/dist/rules/token/no-alt-text.js.map +1 -0
- package/dist/rules/token/no-bare-urls.d.ts +3 -0
- package/dist/rules/token/no-bare-urls.d.ts.map +1 -0
- package/dist/rules/token/no-bare-urls.js +88 -0
- package/dist/rules/token/no-bare-urls.js.map +1 -0
- package/dist/rules/token/no-blanks-blockquote.d.ts +3 -0
- package/dist/rules/token/no-blanks-blockquote.d.ts.map +1 -0
- package/dist/rules/token/no-blanks-blockquote.js +39 -0
- package/dist/rules/token/no-blanks-blockquote.js.map +1 -0
- package/dist/rules/token/no-duplicate-heading.d.ts +3 -0
- package/dist/rules/token/no-duplicate-heading.d.ts.map +1 -0
- package/dist/rules/token/no-duplicate-heading.js +101 -0
- package/dist/rules/token/no-duplicate-heading.js.map +1 -0
- package/dist/rules/token/no-duplicate-link-destinations.d.ts +3 -0
- package/dist/rules/token/no-duplicate-link-destinations.d.ts.map +1 -0
- package/dist/rules/token/no-duplicate-link-destinations.js +65 -0
- package/dist/rules/token/no-duplicate-link-destinations.js.map +1 -0
- package/dist/rules/token/no-emphasis-as-heading.d.ts +3 -0
- package/dist/rules/token/no-emphasis-as-heading.d.ts.map +1 -0
- package/dist/rules/token/no-emphasis-as-heading.js +44 -0
- package/dist/rules/token/no-emphasis-as-heading.js.map +1 -0
- package/dist/rules/token/no-empty-headings.d.ts +3 -0
- package/dist/rules/token/no-empty-headings.d.ts.map +1 -0
- package/dist/rules/token/no-empty-headings.js +28 -0
- package/dist/rules/token/no-empty-headings.js.map +1 -0
- package/dist/rules/token/no-empty-links.d.ts +3 -0
- package/dist/rules/token/no-empty-links.d.ts.map +1 -0
- package/dist/rules/token/no-empty-links.js +67 -0
- package/dist/rules/token/no-empty-links.js.map +1 -0
- package/dist/rules/token/no-hard-tabs.d.ts +3 -0
- package/dist/rules/token/no-hard-tabs.d.ts.map +1 -0
- package/dist/rules/token/no-hard-tabs.js +76 -0
- package/dist/rules/token/no-hard-tabs.js.map +1 -0
- package/dist/rules/token/no-inline-html.d.ts +3 -0
- package/dist/rules/token/no-inline-html.d.ts.map +1 -0
- package/dist/rules/token/no-inline-html.js +45 -0
- package/dist/rules/token/no-inline-html.js.map +1 -0
- package/dist/rules/token/no-missing-space-atx.d.ts +3 -0
- package/dist/rules/token/no-missing-space-atx.d.ts.map +1 -0
- package/dist/rules/token/no-missing-space-atx.js +36 -0
- package/dist/rules/token/no-missing-space-atx.js.map +1 -0
- package/dist/rules/token/no-missing-space-closed-atx.d.ts +3 -0
- package/dist/rules/token/no-missing-space-closed-atx.d.ts.map +1 -0
- package/dist/rules/token/no-missing-space-closed-atx.js +45 -0
- package/dist/rules/token/no-missing-space-closed-atx.js.map +1 -0
- package/dist/rules/token/no-multiple-blanks.d.ts +3 -0
- package/dist/rules/token/no-multiple-blanks.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-blanks.js +35 -0
- package/dist/rules/token/no-multiple-blanks.js.map +1 -0
- package/dist/rules/token/no-multiple-space-atx.d.ts +13 -0
- package/dist/rules/token/no-multiple-space-atx.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-space-atx.js +50 -0
- package/dist/rules/token/no-multiple-space-atx.js.map +1 -0
- package/dist/rules/token/no-multiple-space-blockquote.d.ts +3 -0
- package/dist/rules/token/no-multiple-space-blockquote.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-space-blockquote.js +43 -0
- package/dist/rules/token/no-multiple-space-blockquote.js.map +1 -0
- package/dist/rules/token/no-multiple-space-closed-atx.d.ts +3 -0
- package/dist/rules/token/no-multiple-space-closed-atx.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-space-closed-atx.js +19 -0
- package/dist/rules/token/no-multiple-space-closed-atx.js.map +1 -0
- package/dist/rules/token/no-reversed-links.d.ts +3 -0
- package/dist/rules/token/no-reversed-links.d.ts.map +1 -0
- package/dist/rules/token/no-reversed-links.js +52 -0
- package/dist/rules/token/no-reversed-links.js.map +1 -0
- package/dist/rules/token/no-space-in-code.d.ts +3 -0
- package/dist/rules/token/no-space-in-code.d.ts.map +1 -0
- package/dist/rules/token/no-space-in-code.js +75 -0
- package/dist/rules/token/no-space-in-code.js.map +1 -0
- package/dist/rules/token/no-space-in-emphasis.d.ts +3 -0
- package/dist/rules/token/no-space-in-emphasis.d.ts.map +1 -0
- package/dist/rules/token/no-space-in-emphasis.js +79 -0
- package/dist/rules/token/no-space-in-emphasis.js.map +1 -0
- package/dist/rules/token/no-space-in-links.d.ts +3 -0
- package/dist/rules/token/no-space-in-links.d.ts.map +1 -0
- package/dist/rules/token/no-space-in-links.js +48 -0
- package/dist/rules/token/no-space-in-links.js.map +1 -0
- package/dist/rules/token/no-trailing-punctuation.d.ts +3 -0
- package/dist/rules/token/no-trailing-punctuation.d.ts.map +1 -0
- package/dist/rules/token/no-trailing-punctuation.js +38 -0
- package/dist/rules/token/no-trailing-punctuation.js.map +1 -0
- package/dist/rules/token/no-trailing-spaces.d.ts +3 -0
- package/dist/rules/token/no-trailing-spaces.d.ts.map +1 -0
- package/dist/rules/token/no-trailing-spaces.js +89 -0
- package/dist/rules/token/no-trailing-spaces.js.map +1 -0
- package/dist/rules/token/ol-prefix.d.ts +3 -0
- package/dist/rules/token/ol-prefix.d.ts.map +1 -0
- package/dist/rules/token/ol-prefix.js +70 -0
- package/dist/rules/token/ol-prefix.js.map +1 -0
- package/dist/rules/token/proper-names.d.ts +3 -0
- package/dist/rules/token/proper-names.d.ts.map +1 -0
- package/dist/rules/token/proper-names.js +93 -0
- package/dist/rules/token/proper-names.js.map +1 -0
- package/dist/rules/token/reference-links-images.d.ts +3 -0
- package/dist/rules/token/reference-links-images.d.ts.map +1 -0
- package/dist/rules/token/reference-links-images.js +36 -0
- package/dist/rules/token/reference-links-images.js.map +1 -0
- package/dist/rules/token/required-headings.d.ts +3 -0
- package/dist/rules/token/required-headings.d.ts.map +1 -0
- package/dist/rules/token/required-headings.js +83 -0
- package/dist/rules/token/required-headings.js.map +1 -0
- package/dist/rules/token/single-h1.d.ts +3 -0
- package/dist/rules/token/single-h1.d.ts.map +1 -0
- package/dist/rules/token/single-h1.js +56 -0
- package/dist/rules/token/single-h1.js.map +1 -0
- package/dist/rules/token/single-trailing-newline.d.ts +3 -0
- package/dist/rules/token/single-trailing-newline.d.ts.map +1 -0
- package/dist/rules/token/single-trailing-newline.js +25 -0
- package/dist/rules/token/single-trailing-newline.js.map +1 -0
- package/dist/rules/token/strong-style.d.ts +3 -0
- package/dist/rules/token/strong-style.d.ts.map +1 -0
- package/dist/rules/token/strong-style.js +51 -0
- package/dist/rules/token/strong-style.js.map +1 -0
- package/dist/rules/token/table-column-count.d.ts +3 -0
- package/dist/rules/token/table-column-count.d.ts.map +1 -0
- package/dist/rules/token/table-column-count.js +44 -0
- package/dist/rules/token/table-column-count.js.map +1 -0
- package/dist/rules/token/table-column-style.d.ts +3 -0
- package/dist/rules/token/table-column-style.d.ts.map +1 -0
- package/dist/rules/token/table-column-style.js +179 -0
- package/dist/rules/token/table-column-style.js.map +1 -0
- package/dist/rules/token/table-pipe-style.d.ts +3 -0
- package/dist/rules/token/table-pipe-style.d.ts.map +1 -0
- package/dist/rules/token/table-pipe-style.js +54 -0
- package/dist/rules/token/table-pipe-style.js.map +1 -0
- package/dist/rules/token/ul-indent.d.ts +3 -0
- package/dist/rules/token/ul-indent.d.ts.map +1 -0
- package/dist/rules/token/ul-indent.js +72 -0
- package/dist/rules/token/ul-indent.js.map +1 -0
- package/dist/rules/token/ul-style.d.ts +3 -0
- package/dist/rules/token/ul-style.d.ts.map +1 -0
- package/dist/rules/token/ul-style.js +80 -0
- package/dist/rules/token/ul-style.js.map +1 -0
- package/dist/rules/types.d.ts +81 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +2 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/rules/utils.d.ts +29 -0
- package/dist/rules/utils.d.ts.map +1 -0
- package/dist/{assertions → rules}/utils.js +27 -0
- package/dist/rules/utils.js.map +1 -0
- package/dist/scopes/extractor.d.ts +7 -0
- package/dist/scopes/extractor.d.ts.map +1 -0
- package/dist/scopes/extractor.js +475 -0
- package/dist/scopes/extractor.js.map +1 -0
- package/dist/scopes/selector.d.ts +51 -0
- package/dist/scopes/selector.d.ts.map +1 -0
- package/dist/scopes/selector.js +121 -0
- package/dist/scopes/selector.js.map +1 -0
- package/dist/scopes/sentences.d.ts +15 -0
- package/dist/scopes/sentences.d.ts.map +1 -0
- package/dist/scopes/sentences.js +124 -0
- package/dist/scopes/sentences.js.map +1 -0
- package/dist/scopes/types.d.ts +44 -0
- package/dist/scopes/types.d.ts.map +1 -0
- package/dist/scopes/types.js +2 -0
- package/dist/scopes/types.js.map +1 -0
- package/dist/scopes/vocabulary.d.ts +16 -0
- package/dist/scopes/vocabulary.d.ts.map +1 -0
- package/dist/scopes/vocabulary.js +70 -0
- package/dist/scopes/vocabulary.js.map +1 -0
- package/dist/types/assertions.d.ts +95 -32
- package/dist/types/assertions.d.ts.map +1 -1
- package/dist/types/problems.d.ts +4 -5
- package/dist/types/problems.d.ts.map +1 -1
- package/dist/types/rules.d.ts +4 -6
- package/dist/types/rules.d.ts.map +1 -1
- package/examples/appendices/google.appendix.yaml +91 -0
- package/examples/appendices/inclusive-language.appendix.yaml +61 -0
- package/examples/appendices/microsoft.appendix.yaml +99 -0
- package/examples/appendices/plain-language.appendix.yaml +88 -0
- package/examples/google.yaml +1525 -0
- package/examples/inclusive-language.yaml +304 -0
- package/examples/microsoft.yaml +1542 -0
- package/examples/plain-language.yaml +325 -0
- package/package.json +49 -16
- package/presets/google/PROVENANCE.md +1022 -0
- package/presets/google/sources.json +192 -0
- package/presets/inclusive-language/PROVENANCE.md +174 -0
- package/presets/inclusive-language/sources.json +107 -0
- package/presets/microsoft/PROVENANCE.md +1555 -0
- package/presets/microsoft/sources.json +494 -0
- package/presets/plain-language/PROVENANCE.md +364 -0
- package/presets/plain-language/sources.json +108 -0
- package/dist/assertions/bullet-style.d.ts +0 -3
- package/dist/assertions/bullet-style.d.ts.map +0 -1
- package/dist/assertions/bullet-style.js +0 -60
- package/dist/assertions/bullet-style.js.map +0 -1
- package/dist/assertions/index.d.ts +0 -21
- package/dist/assertions/index.d.ts.map +0 -1
- package/dist/assertions/index.js +0 -30
- package/dist/assertions/index.js.map +0 -1
- package/dist/assertions/max-image-size.d.ts +0 -3
- package/dist/assertions/max-image-size.d.ts.map +0 -1
- package/dist/assertions/max-image-size.js +0 -73
- package/dist/assertions/max-image-size.js.map +0 -1
- package/dist/assertions/max-line-length.d.ts +0 -3
- package/dist/assertions/max-line-length.d.ts.map +0 -1
- package/dist/assertions/max-line-length.js +0 -68
- package/dist/assertions/max-line-length.js.map +0 -1
- package/dist/assertions/no-broken-fragment-links.d.ts +0 -3
- package/dist/assertions/no-broken-fragment-links.d.ts.map +0 -1
- package/dist/assertions/no-broken-fragment-links.js +0 -79
- package/dist/assertions/no-broken-fragment-links.js.map +0 -1
- package/dist/assertions/no-duplicate-headings.d.ts +0 -3
- package/dist/assertions/no-duplicate-headings.d.ts.map +0 -1
- package/dist/assertions/no-duplicate-headings.js +0 -66
- package/dist/assertions/no-duplicate-headings.js.map +0 -1
- package/dist/assertions/no-hard-tabs.d.ts +0 -3
- package/dist/assertions/no-hard-tabs.d.ts.map +0 -1
- package/dist/assertions/no-hard-tabs.js +0 -63
- package/dist/assertions/no-hard-tabs.js.map +0 -1
- package/dist/assertions/no-trailing-spaces.d.ts +0 -3
- package/dist/assertions/no-trailing-spaces.d.ts.map +0 -1
- package/dist/assertions/no-trailing-spaces.js +0 -72
- package/dist/assertions/no-trailing-spaces.js.map +0 -1
- package/dist/assertions/pattern.d.ts +0 -3
- package/dist/assertions/pattern.d.ts.map +0 -1
- package/dist/assertions/pattern.js +0 -39
- package/dist/assertions/pattern.js.map +0 -1
- package/dist/assertions/semantic-line-breaks.d.ts +0 -3
- package/dist/assertions/semantic-line-breaks.d.ts.map +0 -1
- package/dist/assertions/semantic-line-breaks.js +0 -152
- package/dist/assertions/semantic-line-breaks.js.map +0 -1
- package/dist/assertions/swap.d.ts +0 -3
- package/dist/assertions/swap.d.ts.map +0 -1
- package/dist/assertions/swap.js +0 -39
- package/dist/assertions/swap.js.map +0 -1
- package/dist/assertions/utils.d.ts +0 -8
- package/dist/assertions/utils.d.ts.map +0 -1
- package/dist/assertions/utils.js.map +0 -1
- package/dist/core/scope-parser.d.ts +0 -26
- package/dist/core/scope-parser.d.ts.map +0 -1
- package/dist/core/scope-parser.js +0 -110
- package/dist/core/scope-parser.js.map +0 -1
- package/dist/files.d.ts +0 -2
- package/dist/files.d.ts.map +0 -1
- package/dist/files.js +0 -39
- package/dist/files.js.map +0 -1
- package/dist/load-config.d.ts +0 -25
- package/dist/load-config.d.ts.map +0 -1
- package/dist/load-config.js +0 -104
- package/dist/load-config.js.map +0 -1
- package/dist/load.d.ts +0 -25
- package/dist/load.d.ts.map +0 -1
- package/dist/load.js +0 -112
- package/dist/load.js.map +0 -1
- package/dist/scope.d.ts +0 -26
- package/dist/scope.d.ts.map +0 -1
- package/dist/scope.js +0 -110
- package/dist/scope.js.map +0 -1
- package/dist/types.d.ts +0 -109
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validate.d.ts +0 -31
- package/dist/validate.d.ts.map +0 -1
- package/dist/validate.js +0 -154
- package/dist/validate.js.map +0 -1
- /package/dist/{types.js → parser/types.js} +0 -0
|
@@ -0,0 +1,1525 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# recheck/google — Google developer documentation style guide, as a config
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# Source: Google developer documentation style guide
|
|
5
|
+
# https://developers.google.com/style
|
|
6
|
+
# License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/
|
|
7
|
+
# Synced: 2026-07-29
|
|
8
|
+
# Provenance: packages/recheck/presets/google/PROVENANCE.md (every rule's
|
|
9
|
+
# source page, quote, and verdict; everything considered and
|
|
10
|
+
# NOT shipped, and why)
|
|
11
|
+
#
|
|
12
|
+
# Rules are adapted to Recheck's own assertion vocabulary (swap, pattern,
|
|
13
|
+
# capitalization, length); wording is paraphrased in each rule's `message`,
|
|
14
|
+
# never quoted verbatim from the guide.
|
|
15
|
+
#
|
|
16
|
+
# Generated file — do not hand-edit. Regenerate with `pnpm examples:generate`
|
|
17
|
+
# after changing src/config/presets/google.ts or this file's appendix
|
|
18
|
+
# (examples/appendices/google.appendix.yaml).
|
|
19
|
+
|
|
20
|
+
# ------------------------------------------------------------------------------
|
|
21
|
+
# What to paste
|
|
22
|
+
# ------------------------------------------------------------------------------
|
|
23
|
+
# This is the entire adoption cost: two lines. `recheck/markdown` is the
|
|
24
|
+
# 53-rule markdownlint-parity structural set; `recheck/google` layers Google's
|
|
25
|
+
# own style opinions on top — it ships its own heading/list/table/link
|
|
26
|
+
# structural rules too, so the two are complementary, not duplicates.
|
|
27
|
+
|
|
28
|
+
extends:
|
|
29
|
+
- recheck/markdown
|
|
30
|
+
- recheck/google
|
|
31
|
+
|
|
32
|
+
# ------------------------------------------------------------------------------
|
|
33
|
+
# How to tune it
|
|
34
|
+
# ------------------------------------------------------------------------------
|
|
35
|
+
# Your own rule keys always win over the preset's (`extends` resolves
|
|
36
|
+
# first, then your top-level keys are merged on top, per rule key).
|
|
37
|
+
#
|
|
38
|
+
# Turn a rule off entirely:
|
|
39
|
+
#
|
|
40
|
+
# google/no-via:
|
|
41
|
+
# severity: off
|
|
42
|
+
#
|
|
43
|
+
# Downgrade an error to a warning:
|
|
44
|
+
#
|
|
45
|
+
# google/heading-sentence-case:
|
|
46
|
+
# severity: warn
|
|
47
|
+
#
|
|
48
|
+
# Silence one occurrence instead of the whole rule, with an inline HTML
|
|
49
|
+
# comment directive — works on any rule, from any preset:
|
|
50
|
+
#
|
|
51
|
+
# <!-- recheck-disable-next-line google/no-via -->
|
|
52
|
+
# Log in via the admin console.
|
|
53
|
+
#
|
|
54
|
+
# <!-- recheck-disable google/no-via -->
|
|
55
|
+
# ...several occurrences here are all silenced...
|
|
56
|
+
# <!-- recheck-enable google/no-via -->
|
|
57
|
+
#
|
|
58
|
+
# <!-- recheck-disable-file -->
|
|
59
|
+
#
|
|
60
|
+
# THE SHARP EDGE — read this before reaching for a per-term override.
|
|
61
|
+
# Merging happens per ASSERTION ID, not per option inside it.
|
|
62
|
+
# Setting:
|
|
63
|
+
#
|
|
64
|
+
# google/compound-forms:
|
|
65
|
+
# assertions:
|
|
66
|
+
# swap:
|
|
67
|
+
# ignoreCase: false
|
|
68
|
+
#
|
|
69
|
+
# does not just flip `ignoreCase` — it REPLACES the whole `swap` assertion
|
|
70
|
+
# object, silently dropping the preset's 81-entry `pairs` map along with
|
|
71
|
+
# it, and the config then fails validation outright:
|
|
72
|
+
#
|
|
73
|
+
# Rule "google/compound-forms": swap requires a "pairs" object mapping
|
|
74
|
+
# find -> replace strings
|
|
75
|
+
#
|
|
76
|
+
# (verified against this exact rule).
|
|
77
|
+
# So today, to reject one term out of a bundled swap/pattern rule, your
|
|
78
|
+
# options are: turn the whole rule off, restate its entire pairs/tokens
|
|
79
|
+
# yourself, or inline-disable each occurrence as shown above. A per-term
|
|
80
|
+
# opt-out for swap/pattern is a known follow-up, not a promise.
|
|
81
|
+
#
|
|
82
|
+
# Two assertion types DO already have a per-term escape hatch:
|
|
83
|
+
# `capitalization`'s `exceptions` (an array of allowed terms that COMPOSES
|
|
84
|
+
# with the built-in technical-proper-noun vocabulary and anything else you
|
|
85
|
+
# add — it does not replace either) and `spelling`'s `ignore` (spelling
|
|
86
|
+
# itself isn't shipped by any of these four presets — see the README's
|
|
87
|
+
# "Opt-in prose assertions").
|
|
88
|
+
# For example, to stop this preset's own sentence-case rule from flagging
|
|
89
|
+
# your product's name:
|
|
90
|
+
#
|
|
91
|
+
# google/heading-sentence-case:
|
|
92
|
+
# assertions:
|
|
93
|
+
# capitalization:
|
|
94
|
+
# match: $sentence
|
|
95
|
+
# exceptions: [Your Product Name]
|
|
96
|
+
#
|
|
97
|
+
# Verified: this reports zero findings on a heading using "Your Product
|
|
98
|
+
# Name" while every other sentence-case violation still fires normally.
|
|
99
|
+
|
|
100
|
+
# ------------------------------------------------------------------------------
|
|
101
|
+
# Full expansion (reference)
|
|
102
|
+
# ------------------------------------------------------------------------------
|
|
103
|
+
# This is what `extends: [recheck/google]` resolves to today: all 99 rules,
|
|
104
|
+
# alphabetized by rule id, generated straight from the live preset (`pnpm
|
|
105
|
+
# examples:generate`). You do not need to copy any of it — the extends
|
|
106
|
+
# block above already gives you all of this. Read it to see exactly what
|
|
107
|
+
# you are adopting, or as a starting point if you would rather pin or fork
|
|
108
|
+
# specific rules into your own config instead of extending the preset.
|
|
109
|
+
#
|
|
110
|
+
# `fix: false` on every rule below means what it says: detection-only, no
|
|
111
|
+
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
112
|
+
|
|
113
|
+
google/abbrev-no-periods:
|
|
114
|
+
severity: warn
|
|
115
|
+
message: Don't use periods with acronyms or initialisms such as "%s" (Google).
|
|
116
|
+
link: https://developers.google.com/style/abbreviations
|
|
117
|
+
scope: summary
|
|
118
|
+
fix: false
|
|
119
|
+
assertions:
|
|
120
|
+
pattern:
|
|
121
|
+
tokens:
|
|
122
|
+
- \b(?:[A-Z]\.){2,}
|
|
123
|
+
google/ableist-figurative-terms:
|
|
124
|
+
severity: warn
|
|
125
|
+
message: Use a precise term such as "%s" instead of "%s" when describing a system or object (Google).
|
|
126
|
+
link: https://developers.google.com/style/word-list#crazy
|
|
127
|
+
scope: summary
|
|
128
|
+
fix: false
|
|
129
|
+
assertions:
|
|
130
|
+
swap:
|
|
131
|
+
pairs:
|
|
132
|
+
crazy: unexpected
|
|
133
|
+
insane: unexpected
|
|
134
|
+
lunatic: unexpected
|
|
135
|
+
bonkers: unexpected
|
|
136
|
+
loony: unexpected
|
|
137
|
+
sane: valid
|
|
138
|
+
sanity check: quick check
|
|
139
|
+
dumb down: simplify
|
|
140
|
+
retarded: slowed
|
|
141
|
+
ignoreCase: true
|
|
142
|
+
wordBoundary: true
|
|
143
|
+
google/acronym-caps-detect-only:
|
|
144
|
+
severity: warn
|
|
145
|
+
message: 'Use "%s" instead of "%s" (Google: fixed acronym/abbreviation form).'
|
|
146
|
+
link: https://developers.google.com/style/word-list
|
|
147
|
+
scope: summary
|
|
148
|
+
fix: false
|
|
149
|
+
assertions:
|
|
150
|
+
swap:
|
|
151
|
+
pairs:
|
|
152
|
+
UNICODE: Unicode
|
|
153
|
+
IPSEC: IPsec
|
|
154
|
+
IO: I/O
|
|
155
|
+
wordBoundary: true
|
|
156
|
+
google/acronym-forms:
|
|
157
|
+
severity: warn
|
|
158
|
+
message: 'Use "%s" instead of "%s" (Google: fixed acronym/abbreviation form).'
|
|
159
|
+
link: https://developers.google.com/style/word-list
|
|
160
|
+
scope: summary
|
|
161
|
+
fix: false
|
|
162
|
+
assertions:
|
|
163
|
+
swap:
|
|
164
|
+
pairs:
|
|
165
|
+
HTTPs: HTTPS
|
|
166
|
+
IPSec: IPsec
|
|
167
|
+
No-SQL: NoSQL
|
|
168
|
+
No SQL: NoSQL
|
|
169
|
+
OAuth 2(?!\.0): OAuth 2.0
|
|
170
|
+
OAuth2: OAuth 2.0
|
|
171
|
+
Oauth: OAuth 2.0
|
|
172
|
+
micro-services: microservices
|
|
173
|
+
fin-tech: fintech
|
|
174
|
+
adtech: ad tech
|
|
175
|
+
ad-tech: ad tech
|
|
176
|
+
wordBoundary: true
|
|
177
|
+
keysAreRegex: true
|
|
178
|
+
google/acronym-forms-proper-noun:
|
|
179
|
+
severity: warn
|
|
180
|
+
message: 'Use "%s" instead of "%s" (Google: fixed acronym/abbreviation form).'
|
|
181
|
+
link: https://developers.google.com/style/word-list
|
|
182
|
+
scope: summary
|
|
183
|
+
fix: false
|
|
184
|
+
assertions:
|
|
185
|
+
swap:
|
|
186
|
+
pairs:
|
|
187
|
+
I-O: I/O
|
|
188
|
+
FinTech: fintech
|
|
189
|
+
wordBoundary: true
|
|
190
|
+
keysAreRegex: true
|
|
191
|
+
google/aka-form:
|
|
192
|
+
severity: warn
|
|
193
|
+
message: Use "%s" instead of "%s" (Google).
|
|
194
|
+
link: https://developers.google.com/style/word-list
|
|
195
|
+
scope: summary
|
|
196
|
+
fix: false
|
|
197
|
+
assertions:
|
|
198
|
+
swap:
|
|
199
|
+
pairs:
|
|
200
|
+
aka: also known as
|
|
201
|
+
ignoreCase: true
|
|
202
|
+
wordBoundary: true
|
|
203
|
+
google/black-white-box-testing:
|
|
204
|
+
severity: warn
|
|
205
|
+
message: Use "%s" instead of "%s" (Google inclusive language).
|
|
206
|
+
link: https://developers.google.com/style/word-list#black-box
|
|
207
|
+
scope: summary
|
|
208
|
+
fix: false
|
|
209
|
+
assertions:
|
|
210
|
+
swap:
|
|
211
|
+
pairs:
|
|
212
|
+
black-box testing: opaque-box testing
|
|
213
|
+
black box testing: opaque-box testing
|
|
214
|
+
white-box testing: clear-box testing
|
|
215
|
+
white box testing: clear-box testing
|
|
216
|
+
black-box monitoring: synthetic monitoring
|
|
217
|
+
white-box monitoring: introspective monitoring
|
|
218
|
+
ignoreCase: true
|
|
219
|
+
wordBoundary: true
|
|
220
|
+
google/black-white-hat:
|
|
221
|
+
severity: warn
|
|
222
|
+
message: Use a precise term such as "%s" instead of "%s" (Google inclusive language).
|
|
223
|
+
link: https://developers.google.com/style/word-list#blackhat
|
|
224
|
+
scope: summary
|
|
225
|
+
fix: false
|
|
226
|
+
assertions:
|
|
227
|
+
swap:
|
|
228
|
+
pairs:
|
|
229
|
+
black hat: unethical
|
|
230
|
+
blackhat: unethical
|
|
231
|
+
white hat: ethical
|
|
232
|
+
whitehat: ethical
|
|
233
|
+
ignoreCase: true
|
|
234
|
+
wordBoundary: true
|
|
235
|
+
google/blacklist-whitelist:
|
|
236
|
+
severity: warn
|
|
237
|
+
message: Use "%s" instead of "%s" (Google inclusive language).
|
|
238
|
+
link: https://developers.google.com/style/word-list#blacklist
|
|
239
|
+
scope: summary
|
|
240
|
+
fix: false
|
|
241
|
+
assertions:
|
|
242
|
+
swap:
|
|
243
|
+
pairs:
|
|
244
|
+
blacklist: denylist
|
|
245
|
+
whitelist: allowlist
|
|
246
|
+
graylist: denylist
|
|
247
|
+
greylist: denylist
|
|
248
|
+
ignoreCase: true
|
|
249
|
+
wordBoundary: true
|
|
250
|
+
google/blind-figurative:
|
|
251
|
+
severity: warn
|
|
252
|
+
message: Use "ignore", "unaware of", "disregard", or "reject" instead of "%s" (Google).
|
|
253
|
+
link: https://developers.google.com/style/word-list#blind
|
|
254
|
+
scope: summary
|
|
255
|
+
fix: false
|
|
256
|
+
assertions:
|
|
257
|
+
pattern:
|
|
258
|
+
tokens:
|
|
259
|
+
- \bblind to\b
|
|
260
|
+
- \bblind eye to\b
|
|
261
|
+
ignoreCase: true
|
|
262
|
+
google/brand-capitalization:
|
|
263
|
+
severity: warn
|
|
264
|
+
message: 'Use "%s" instead of "%s" (Google: fixed brand capitalization).'
|
|
265
|
+
link: https://developers.google.com/style/word-list
|
|
266
|
+
scope: summary
|
|
267
|
+
fix: false
|
|
268
|
+
assertions:
|
|
269
|
+
swap:
|
|
270
|
+
pairs:
|
|
271
|
+
Google Play Services: Google Play services
|
|
272
|
+
Google account: Google Account
|
|
273
|
+
Google accounts: Google Accounts
|
|
274
|
+
cURL: curl
|
|
275
|
+
wordBoundary: true
|
|
276
|
+
google/brand-capitalization-proper-noun:
|
|
277
|
+
severity: warn
|
|
278
|
+
message: 'Use "%s" instead of "%s" (Google: fixed brand capitalization).'
|
|
279
|
+
link: https://developers.google.com/style/word-list
|
|
280
|
+
scope: summary
|
|
281
|
+
fix: false
|
|
282
|
+
assertions:
|
|
283
|
+
swap:
|
|
284
|
+
pairs:
|
|
285
|
+
markdown: Markdown
|
|
286
|
+
material design: Material Design
|
|
287
|
+
search console: Search Console
|
|
288
|
+
wordBoundary: true
|
|
289
|
+
google/chapter-terminology:
|
|
290
|
+
severity: warn
|
|
291
|
+
message: Refer to "document", "page", or "section" instead of "%s" (Google, for web docs).
|
|
292
|
+
link: https://developers.google.com/style/word-list#chapter
|
|
293
|
+
scope: summary
|
|
294
|
+
fix: false
|
|
295
|
+
assertions:
|
|
296
|
+
pattern:
|
|
297
|
+
tokens:
|
|
298
|
+
- \bchapters?\b
|
|
299
|
+
ignoreCase: true
|
|
300
|
+
google/colo-form:
|
|
301
|
+
severity: warn
|
|
302
|
+
message: Use "%s" instead of "%s" (Google compound-word form).
|
|
303
|
+
link: https://developers.google.com/style/word-list
|
|
304
|
+
scope: summary
|
|
305
|
+
fix: false
|
|
306
|
+
assertions:
|
|
307
|
+
swap:
|
|
308
|
+
pairs:
|
|
309
|
+
colo: colocate
|
|
310
|
+
ignoreCase: true
|
|
311
|
+
wordBoundary: true
|
|
312
|
+
google/comma-before-that:
|
|
313
|
+
severity: warn
|
|
314
|
+
message: Don't put a comma before restrictive "that" (Google).
|
|
315
|
+
link: https://developers.google.com/style/pronouns
|
|
316
|
+
scope: sentence
|
|
317
|
+
fix: false
|
|
318
|
+
assertions:
|
|
319
|
+
pattern:
|
|
320
|
+
tokens:
|
|
321
|
+
- ', that\b'
|
|
322
|
+
google/compound-forms:
|
|
323
|
+
severity: warn
|
|
324
|
+
message: Use "%s" instead of "%s" (Google compound-word form).
|
|
325
|
+
link: https://developers.google.com/style/word-list
|
|
326
|
+
scope: summary
|
|
327
|
+
fix: false
|
|
328
|
+
assertions:
|
|
329
|
+
swap:
|
|
330
|
+
pairs:
|
|
331
|
+
e-mail: email
|
|
332
|
+
E-mail: email
|
|
333
|
+
e-commerce: ecommerce
|
|
334
|
+
web page: webpage
|
|
335
|
+
check box: checkbox
|
|
336
|
+
code base: codebase
|
|
337
|
+
code lab: codelab
|
|
338
|
+
code-lab: codelab
|
|
339
|
+
data store: datastore
|
|
340
|
+
datacenter: data center
|
|
341
|
+
datatype: data type
|
|
342
|
+
file name: filename
|
|
343
|
+
filesystem: file system
|
|
344
|
+
front-end: frontend
|
|
345
|
+
front end: frontend
|
|
346
|
+
back-end: backend
|
|
347
|
+
back end: backend
|
|
348
|
+
host name: hostname
|
|
349
|
+
end point: endpoint
|
|
350
|
+
name space: namespace
|
|
351
|
+
nameserver: name server
|
|
352
|
+
life cycle: lifecycle
|
|
353
|
+
life-cycle: lifecycle
|
|
354
|
+
live stream: livestream
|
|
355
|
+
health care: healthcare
|
|
356
|
+
health-care: healthcare
|
|
357
|
+
on prem: on-premises
|
|
358
|
+
on premise: on-premises
|
|
359
|
+
on-premise: on-premises
|
|
360
|
+
read only: read-only
|
|
361
|
+
pre-built: prebuilt
|
|
362
|
+
run book: runbook
|
|
363
|
+
screen shot: screenshot
|
|
364
|
+
time stamp: timestamp
|
|
365
|
+
time frame: timeframe
|
|
366
|
+
time-to-live: time to live
|
|
367
|
+
tool kit: toolkit
|
|
368
|
+
tool-kit: toolkit
|
|
369
|
+
touch screen: touchscreen
|
|
370
|
+
user base: userbase
|
|
371
|
+
walk-through: walkthrough
|
|
372
|
+
webserver: web server
|
|
373
|
+
white paper: whitepaper
|
|
374
|
+
white space: whitespace
|
|
375
|
+
wild card: wildcard
|
|
376
|
+
statusbar: status bar
|
|
377
|
+
status-bar: status bar
|
|
378
|
+
key/value pair: key-value pair
|
|
379
|
+
key value pair: key-value pair
|
|
380
|
+
singlemost: single most
|
|
381
|
+
signin: sign-in
|
|
382
|
+
signout: sign-out
|
|
383
|
+
auto-healing: autohealing
|
|
384
|
+
auto-scaling: autoscaling
|
|
385
|
+
auto-populate: autopopulate
|
|
386
|
+
auto populate: autopopulate
|
|
387
|
+
auto-tagging: autotagging
|
|
388
|
+
pre-capture: precapture
|
|
389
|
+
pre-emptible: preemptible
|
|
390
|
+
preexisting: pre-existing
|
|
391
|
+
pre-recorded: prerecorded
|
|
392
|
+
preshared key: pre-shared key
|
|
393
|
+
pre-submit: presubmit
|
|
394
|
+
meta-feed: metafeed
|
|
395
|
+
meta-generation: metageneration
|
|
396
|
+
inter-cluster: intercluster
|
|
397
|
+
sub-tree: subtree
|
|
398
|
+
sub-zone: subzone
|
|
399
|
+
sub zone: subzone
|
|
400
|
+
subcommand: sub-command
|
|
401
|
+
co-locate: colocate
|
|
402
|
+
blue/green: blue-green
|
|
403
|
+
blue green: blue-green
|
|
404
|
+
parent—child: parent-child
|
|
405
|
+
long running operation: long-running operation
|
|
406
|
+
hard-code: hardcode
|
|
407
|
+
hard-coded: hardcoded
|
|
408
|
+
in-line: inline
|
|
409
|
+
Unixlike: Unix-like
|
|
410
|
+
Unix like: Unix-like
|
|
411
|
+
resource recordset: resource record set
|
|
412
|
+
ignoreCase: true
|
|
413
|
+
wordBoundary: true
|
|
414
|
+
google/compound-forms-proper-noun:
|
|
415
|
+
severity: warn
|
|
416
|
+
message: Use "%s" instead of "%s" (Google compound-word form).
|
|
417
|
+
link: https://developers.google.com/style/word-list
|
|
418
|
+
scope: summary
|
|
419
|
+
fix: false
|
|
420
|
+
assertions:
|
|
421
|
+
swap:
|
|
422
|
+
pairs:
|
|
423
|
+
datasource: data source
|
|
424
|
+
ignoreCase: true
|
|
425
|
+
wordBoundary: true
|
|
426
|
+
google/compound-forms-word-choice:
|
|
427
|
+
severity: warn
|
|
428
|
+
message: Use "%s" instead of "%s" (Google compound-word form).
|
|
429
|
+
link: https://developers.google.com/style/word-list
|
|
430
|
+
scope: summary
|
|
431
|
+
fix: false
|
|
432
|
+
assertions:
|
|
433
|
+
swap:
|
|
434
|
+
pairs:
|
|
435
|
+
data cleansing: data cleaning
|
|
436
|
+
transcompile: transpile
|
|
437
|
+
autoupdate: automatically update
|
|
438
|
+
pre-emptive: preemptible
|
|
439
|
+
noops: fully managed
|
|
440
|
+
NoOps: fully managed
|
|
441
|
+
ignoreCase: true
|
|
442
|
+
wordBoundary: true
|
|
443
|
+
google/conjunctive-adverb-comma:
|
|
444
|
+
severity: warn
|
|
445
|
+
message: Put a comma after "%s" when it opens a sentence (Google).
|
|
446
|
+
link: https://developers.google.com/style/commas
|
|
447
|
+
scope: sentence
|
|
448
|
+
fix: false
|
|
449
|
+
assertions:
|
|
450
|
+
pattern:
|
|
451
|
+
tokens:
|
|
452
|
+
- ^(?:Otherwise|However|Therefore) [a-z]
|
|
453
|
+
google/cons-and-pros:
|
|
454
|
+
severity: warn
|
|
455
|
+
message: Use "%s" instead of "%s" (Google).
|
|
456
|
+
link: https://developers.google.com/style/word-list#pros
|
|
457
|
+
scope: summary
|
|
458
|
+
fix: false
|
|
459
|
+
assertions:
|
|
460
|
+
swap:
|
|
461
|
+
pairs:
|
|
462
|
+
pros and cons: advantages and disadvantages
|
|
463
|
+
ignoreCase: true
|
|
464
|
+
wordBoundary: true
|
|
465
|
+
google/copy-and-paste:
|
|
466
|
+
severity: warn
|
|
467
|
+
message: 'Explain what to enter into a field, not how to enter it (Google): "%s"'
|
|
468
|
+
link: https://developers.google.com/style/word-list#Copy_and_paste
|
|
469
|
+
scope: summary
|
|
470
|
+
fix: false
|
|
471
|
+
assertions:
|
|
472
|
+
pattern:
|
|
473
|
+
tokens:
|
|
474
|
+
- \bcopy and paste\b
|
|
475
|
+
ignoreCase: true
|
|
476
|
+
google/create-a-new:
|
|
477
|
+
severity: warn
|
|
478
|
+
message: Use "%s ..." instead of "%s ..." unless distinguishing from another recently created item (Google).
|
|
479
|
+
link: https://developers.google.com/style/word-list#Create_a_new
|
|
480
|
+
scope: summary
|
|
481
|
+
fix: false
|
|
482
|
+
assertions:
|
|
483
|
+
swap:
|
|
484
|
+
pairs:
|
|
485
|
+
Create a new: Create a
|
|
486
|
+
ignoreCase: true
|
|
487
|
+
wordBoundary: true
|
|
488
|
+
google/dash-style:
|
|
489
|
+
severity: warn
|
|
490
|
+
message: Don't use an en dash or a double hyphen in place of an em dash; don't space the em dash (Google).
|
|
491
|
+
link: https://developers.google.com/style/dashes
|
|
492
|
+
scope: summary
|
|
493
|
+
fix: false
|
|
494
|
+
assertions:
|
|
495
|
+
pattern:
|
|
496
|
+
tokens:
|
|
497
|
+
- –
|
|
498
|
+
- \s--\s
|
|
499
|
+
- \s—\s
|
|
500
|
+
google/data-rate-units:
|
|
501
|
+
severity: warn
|
|
502
|
+
message: 'Use "%s" instead of "%s" (Google: by convention we don''t use the slash form).'
|
|
503
|
+
link: https://developers.google.com/style/word-list#GBps
|
|
504
|
+
scope: summary
|
|
505
|
+
fix: false
|
|
506
|
+
assertions:
|
|
507
|
+
swap:
|
|
508
|
+
pairs:
|
|
509
|
+
KB/s: KBps
|
|
510
|
+
Kb/s: Kbps
|
|
511
|
+
MB/s: MBps
|
|
512
|
+
Mb/s: Mbps
|
|
513
|
+
GB/s: GBps
|
|
514
|
+
Gb/s: Gbps
|
|
515
|
+
wordBoundary: true
|
|
516
|
+
google/date-format:
|
|
517
|
+
severity: warn
|
|
518
|
+
message: Avoid all-numeric slash dates such as "%s" (Google); spell out the month.
|
|
519
|
+
link: https://developers.google.com/style/dates-times
|
|
520
|
+
scope: summary
|
|
521
|
+
fix: false
|
|
522
|
+
assertions:
|
|
523
|
+
pattern:
|
|
524
|
+
tokens:
|
|
525
|
+
- \b\d{1,2}/\d{1,2}/\d{2,4}\b
|
|
526
|
+
google/disability-language:
|
|
527
|
+
severity: warn
|
|
528
|
+
message: Use "%s" instead of "%s" (Google inclusive documentation).
|
|
529
|
+
link: https://developers.google.com/style/inclusive-documentation
|
|
530
|
+
scope: summary
|
|
531
|
+
fix: false
|
|
532
|
+
assertions:
|
|
533
|
+
swap:
|
|
534
|
+
pairs:
|
|
535
|
+
the disabled: people with disabilities
|
|
536
|
+
a quadriplegic: a quadriplegic person
|
|
537
|
+
wheelchair-bound: uses a wheelchair
|
|
538
|
+
suffering from: experiencing
|
|
539
|
+
victim of: living with
|
|
540
|
+
ignoreCase: true
|
|
541
|
+
wordBoundary: true
|
|
542
|
+
google/dummy-variable:
|
|
543
|
+
severity: warn
|
|
544
|
+
message: 'Use "%s" instead of "%s" (Google): for a statistics sense, see the word list for alternatives.'
|
|
545
|
+
link: https://developers.google.com/style/word-list#dummy-variable
|
|
546
|
+
scope: summary
|
|
547
|
+
fix: false
|
|
548
|
+
assertions:
|
|
549
|
+
swap:
|
|
550
|
+
pairs:
|
|
551
|
+
dummy variable: placeholder
|
|
552
|
+
ignoreCase: true
|
|
553
|
+
wordBoundary: true
|
|
554
|
+
google/emphasis-style:
|
|
555
|
+
severity: warn
|
|
556
|
+
message: Use underscores for emphasis/italics, not asterisks (Google).
|
|
557
|
+
link: https://developers.google.com/style/text-formatting
|
|
558
|
+
scope: all
|
|
559
|
+
fix: false
|
|
560
|
+
assertions:
|
|
561
|
+
emphasis-style:
|
|
562
|
+
style: underscore
|
|
563
|
+
google/first-line-h1:
|
|
564
|
+
severity: error
|
|
565
|
+
message: 'The first line in a file should be a top-level heading (Google: heading structure).'
|
|
566
|
+
link: https://developers.google.com/style/headings
|
|
567
|
+
scope: all
|
|
568
|
+
fix: false
|
|
569
|
+
assertions:
|
|
570
|
+
first-line-h1: {}
|
|
571
|
+
google/gcp-name:
|
|
572
|
+
severity: warn
|
|
573
|
+
message: Use "%s" instead of "%s" (Google product naming).
|
|
574
|
+
link: https://developers.google.com/style/word-list
|
|
575
|
+
scope: summary
|
|
576
|
+
fix: false
|
|
577
|
+
assertions:
|
|
578
|
+
swap:
|
|
579
|
+
pairs:
|
|
580
|
+
GCP: Google Cloud
|
|
581
|
+
wordBoundary: true
|
|
582
|
+
google/gendered-terms:
|
|
583
|
+
severity: warn
|
|
584
|
+
message: Use non-gendered language such as "%s" instead of "%s" (Google inclusive language).
|
|
585
|
+
link: https://developers.google.com/style/word-list#man_hours
|
|
586
|
+
scope: summary
|
|
587
|
+
fix: false
|
|
588
|
+
assertions:
|
|
589
|
+
swap:
|
|
590
|
+
pairs:
|
|
591
|
+
you guys: everyone
|
|
592
|
+
guys: everyone
|
|
593
|
+
male adapter: plug
|
|
594
|
+
female adapter: socket
|
|
595
|
+
man hours: person hours
|
|
596
|
+
manhours: person hours
|
|
597
|
+
manmade: artificial
|
|
598
|
+
man made: artificial
|
|
599
|
+
manned: staffed
|
|
600
|
+
manpower: staff
|
|
601
|
+
man-power: staff
|
|
602
|
+
man-in-the-middle: on-path attacker
|
|
603
|
+
he/she: they
|
|
604
|
+
webmaster: website owner
|
|
605
|
+
ignoreCase: true
|
|
606
|
+
wordBoundary: true
|
|
607
|
+
google/grandfathered:
|
|
608
|
+
severity: warn
|
|
609
|
+
message: Use "%s" instead of "%s" (Google inclusive language).
|
|
610
|
+
link: https://developers.google.com/style/word-list#grandfathered
|
|
611
|
+
scope: summary
|
|
612
|
+
fix: false
|
|
613
|
+
assertions:
|
|
614
|
+
swap:
|
|
615
|
+
pairs:
|
|
616
|
+
grandfathered: legacy
|
|
617
|
+
grandfather clause: exempt
|
|
618
|
+
ignoreCase: true
|
|
619
|
+
wordBoundary: true
|
|
620
|
+
google/grayed-out:
|
|
621
|
+
severity: warn
|
|
622
|
+
message: Use "%s" instead of "%s" (Google inclusive language).
|
|
623
|
+
link: https://developers.google.com/style/word-list#grayed-out
|
|
624
|
+
scope: summary
|
|
625
|
+
fix: false
|
|
626
|
+
assertions:
|
|
627
|
+
swap:
|
|
628
|
+
pairs:
|
|
629
|
+
grayed-out: unavailable
|
|
630
|
+
greyed-out: unavailable
|
|
631
|
+
ignoreCase: true
|
|
632
|
+
wordBoundary: true
|
|
633
|
+
google/heading-increment:
|
|
634
|
+
severity: error
|
|
635
|
+
message: 'Heading levels should only increment by one level at a time (Google: heading structure).'
|
|
636
|
+
link: https://developers.google.com/style/headings
|
|
637
|
+
scope: all
|
|
638
|
+
fix: false
|
|
639
|
+
assertions:
|
|
640
|
+
heading-increment: {}
|
|
641
|
+
google/heading-sentence-case:
|
|
642
|
+
severity: error
|
|
643
|
+
message: '"%s" should use %s capitalization (Google: sentence case for headings).'
|
|
644
|
+
link: https://developers.google.com/style/headings
|
|
645
|
+
scope: heading
|
|
646
|
+
fix: false
|
|
647
|
+
assertions:
|
|
648
|
+
capitalization:
|
|
649
|
+
match: $sentence
|
|
650
|
+
google/in-order-to:
|
|
651
|
+
severity: warn
|
|
652
|
+
message: Prefer "%s" over "%s" unless needed to clarify meaning (Google).
|
|
653
|
+
link: https://developers.google.com/style/word-list#in_order_to
|
|
654
|
+
scope: summary
|
|
655
|
+
fix: false
|
|
656
|
+
assertions:
|
|
657
|
+
swap:
|
|
658
|
+
pairs:
|
|
659
|
+
in order to: to
|
|
660
|
+
ignoreCase: true
|
|
661
|
+
wordBoundary: true
|
|
662
|
+
google/jargon-with-people-references:
|
|
663
|
+
severity: warn
|
|
664
|
+
message: Use a precise term such as "%s" instead of "%s" (Google jargon/inclusive language).
|
|
665
|
+
link: https://developers.google.com/style/word-list#ninja
|
|
666
|
+
scope: summary
|
|
667
|
+
fix: false
|
|
668
|
+
assertions:
|
|
669
|
+
swap:
|
|
670
|
+
pairs:
|
|
671
|
+
gypsy: Romani
|
|
672
|
+
ghetto: clumsy
|
|
673
|
+
ninja: expert
|
|
674
|
+
guru: expert
|
|
675
|
+
sherpa: guide
|
|
676
|
+
dojo: training
|
|
677
|
+
mom test: beginner user test
|
|
678
|
+
grandma test: beginner user test
|
|
679
|
+
girlfriend test: beginner user test
|
|
680
|
+
monkey test: automated, random tests
|
|
681
|
+
brown bag: learning session
|
|
682
|
+
brown-bag: learning session
|
|
683
|
+
build cop: build monitor
|
|
684
|
+
build sheriff: build monitor
|
|
685
|
+
war room: incident-management team
|
|
686
|
+
warroom: incident-management team
|
|
687
|
+
final solution: solution
|
|
688
|
+
demilitarized zone: perimeter network
|
|
689
|
+
DMZ: perimeter network
|
|
690
|
+
denigrate: disparage
|
|
691
|
+
sexy: elegant
|
|
692
|
+
nuke: remove
|
|
693
|
+
voodoo: mysterious
|
|
694
|
+
first-class citizen: higher-order value
|
|
695
|
+
first class citizen: higher-order value
|
|
696
|
+
ignoreCase: true
|
|
697
|
+
wordBoundary: true
|
|
698
|
+
google/keyboard-keys:
|
|
699
|
+
severity: warn
|
|
700
|
+
message: Spell out modifier keys (Control, Command) instead of "%s" (Google).
|
|
701
|
+
link: https://developers.google.com/style/ui-elements
|
|
702
|
+
scope: summary
|
|
703
|
+
fix: false
|
|
704
|
+
assertions:
|
|
705
|
+
pattern:
|
|
706
|
+
tokens:
|
|
707
|
+
- \bctrl\b
|
|
708
|
+
- \bcmd\b
|
|
709
|
+
- ⌘
|
|
710
|
+
ignoreCase: true
|
|
711
|
+
google/leverage:
|
|
712
|
+
severity: warn
|
|
713
|
+
message: 'Avoid "%s" if you mean "use", "build on", or "take advantage of" (Google): "%s"'
|
|
714
|
+
link: https://developers.google.com/style/word-list#leverage
|
|
715
|
+
scope: summary
|
|
716
|
+
fix: false
|
|
717
|
+
assertions:
|
|
718
|
+
swap:
|
|
719
|
+
pairs:
|
|
720
|
+
leverage: use
|
|
721
|
+
leveraging: using
|
|
722
|
+
leveraged: used
|
|
723
|
+
ignoreCase: true
|
|
724
|
+
wordBoundary: true
|
|
725
|
+
google/link-intro-about:
|
|
726
|
+
severity: warn
|
|
727
|
+
message: 'Use "%s" instead of "%s" (Google: use "about", not "on").'
|
|
728
|
+
link: https://developers.google.com/style/cross-references
|
|
729
|
+
scope: summary
|
|
730
|
+
fix: false
|
|
731
|
+
assertions:
|
|
732
|
+
swap:
|
|
733
|
+
pairs:
|
|
734
|
+
for more information on: for more information about
|
|
735
|
+
more details on: more details about
|
|
736
|
+
ignoreCase: true
|
|
737
|
+
wordBoundary: true
|
|
738
|
+
google/link-punctuation:
|
|
739
|
+
severity: warn
|
|
740
|
+
message: Don't put link text in quotation marks (Google).
|
|
741
|
+
link: https://developers.google.com/style/cross-references
|
|
742
|
+
scope: link
|
|
743
|
+
fix: false
|
|
744
|
+
assertions:
|
|
745
|
+
pattern:
|
|
746
|
+
tokens:
|
|
747
|
+
- ^["“].*["”]$
|
|
748
|
+
google/list-item-capital:
|
|
749
|
+
severity: error
|
|
750
|
+
message: '"%s" should use %s capitalization (Google: start list items with a capital letter).'
|
|
751
|
+
link: https://developers.google.com/style/lists
|
|
752
|
+
scope: list-item
|
|
753
|
+
fix: false
|
|
754
|
+
assertions:
|
|
755
|
+
capitalization:
|
|
756
|
+
match: $sentence
|
|
757
|
+
google/list-length:
|
|
758
|
+
severity: warn
|
|
759
|
+
message: List has %s item(s); a single item usually reads better as a plain sentence (Google).
|
|
760
|
+
link: https://developers.google.com/style/lists
|
|
761
|
+
scope: all
|
|
762
|
+
fix: false
|
|
763
|
+
assertions:
|
|
764
|
+
list-length:
|
|
765
|
+
min: 2
|
|
766
|
+
google/master-slave:
|
|
767
|
+
severity: warn
|
|
768
|
+
message: Avoid "%s"; use "worker" or "replica" instead (Google).
|
|
769
|
+
link: https://developers.google.com/style/word-list#slave
|
|
770
|
+
scope: summary
|
|
771
|
+
fix: false
|
|
772
|
+
assertions:
|
|
773
|
+
swap:
|
|
774
|
+
pairs:
|
|
775
|
+
slave: worker
|
|
776
|
+
ignoreCase: true
|
|
777
|
+
wordBoundary: true
|
|
778
|
+
google/neither-nor:
|
|
779
|
+
severity: warn
|
|
780
|
+
message: Write "neither A nor B", not "neither A or B" (Google).
|
|
781
|
+
link: https://developers.google.com/style/word-list#neither
|
|
782
|
+
scope: sentence
|
|
783
|
+
fix: false
|
|
784
|
+
assertions:
|
|
785
|
+
pattern:
|
|
786
|
+
tokens:
|
|
787
|
+
- \bneither\b(?:(?!\bnor\b)[\s\S])*?\bor\b
|
|
788
|
+
google/no-alt-text:
|
|
789
|
+
severity: error
|
|
790
|
+
message: 'Every image needs alt text (Google: accessibility).'
|
|
791
|
+
link: https://developers.google.com/style/accessibility
|
|
792
|
+
scope: all
|
|
793
|
+
fix: false
|
|
794
|
+
assertions:
|
|
795
|
+
no-alt-text: {}
|
|
796
|
+
google/no-ampersand:
|
|
797
|
+
severity: warn
|
|
798
|
+
message: Don't use "&" as a conjunction or shorthand for "and" (Google).
|
|
799
|
+
link: https://developers.google.com/style/text-formatting
|
|
800
|
+
scope: summary
|
|
801
|
+
fix: false
|
|
802
|
+
assertions:
|
|
803
|
+
pattern:
|
|
804
|
+
tokens:
|
|
805
|
+
- \s&\s
|
|
806
|
+
google/no-and-or:
|
|
807
|
+
severity: warn
|
|
808
|
+
message: Avoid "and/or" except where space is limited, such as in tables (Google).
|
|
809
|
+
link: https://developers.google.com/style/slashes
|
|
810
|
+
scope: summary
|
|
811
|
+
fix: false
|
|
812
|
+
assertions:
|
|
813
|
+
pattern:
|
|
814
|
+
tokens:
|
|
815
|
+
- \band/or\b
|
|
816
|
+
ignoreCase: true
|
|
817
|
+
google/no-casing-style-names:
|
|
818
|
+
severity: warn
|
|
819
|
+
message: Don't use a casing style name such as "%s"; describe the naming convention instead (Google).
|
|
820
|
+
link: https://developers.google.com/style/capitalization
|
|
821
|
+
scope: summary
|
|
822
|
+
fix: false
|
|
823
|
+
assertions:
|
|
824
|
+
pattern:
|
|
825
|
+
tokens:
|
|
826
|
+
- \bcamel[\s-]?case\b
|
|
827
|
+
- \bsnake[\s-]?case\b
|
|
828
|
+
ignoreCase: true
|
|
829
|
+
google/no-click-on:
|
|
830
|
+
severity: warn
|
|
831
|
+
message: Use "%s" instead of "%s" (Google).
|
|
832
|
+
link: https://developers.google.com/style/word-list#click
|
|
833
|
+
scope: summary
|
|
834
|
+
fix: false
|
|
835
|
+
assertions:
|
|
836
|
+
swap:
|
|
837
|
+
pairs:
|
|
838
|
+
click on: click
|
|
839
|
+
ignoreCase: true
|
|
840
|
+
wordBoundary: true
|
|
841
|
+
google/no-code-in-heading:
|
|
842
|
+
severity: warn
|
|
843
|
+
message: Avoid code items in headings (Google); rephrase in plain words.
|
|
844
|
+
link: https://developers.google.com/style/headings
|
|
845
|
+
scope: heading
|
|
846
|
+
fix: false
|
|
847
|
+
assertions:
|
|
848
|
+
pattern:
|
|
849
|
+
tokens:
|
|
850
|
+
- '`[^`]+`'
|
|
851
|
+
includeCode: true
|
|
852
|
+
google/no-duplicate-heading:
|
|
853
|
+
severity: error
|
|
854
|
+
message: 'Headings should be unique so readers can jump between sections (Google: heading structure).'
|
|
855
|
+
link: https://developers.google.com/style/headings
|
|
856
|
+
scope: all
|
|
857
|
+
fix: false
|
|
858
|
+
assertions:
|
|
859
|
+
no-duplicate-heading: {}
|
|
860
|
+
google/no-emphasis-as-heading:
|
|
861
|
+
severity: error
|
|
862
|
+
message: 'Tag headings using heading elements, not bold/italic text (Google: accessibility).'
|
|
863
|
+
link: https://developers.google.com/style/accessibility
|
|
864
|
+
scope: all
|
|
865
|
+
fix: false
|
|
866
|
+
assertions:
|
|
867
|
+
no-emphasis-as-heading: {}
|
|
868
|
+
google/no-empty-headings:
|
|
869
|
+
severity: error
|
|
870
|
+
message: Don't use empty headings; make sure headings are followed by content (Google).
|
|
871
|
+
link: https://developers.google.com/style/headings
|
|
872
|
+
scope: all
|
|
873
|
+
fix: false
|
|
874
|
+
assertions:
|
|
875
|
+
no-empty-headings: {}
|
|
876
|
+
google/no-hover:
|
|
877
|
+
severity: warn
|
|
878
|
+
message: Use "hold the pointer over" instead of "%s" (Google).
|
|
879
|
+
link: https://developers.google.com/style/word-list#hover
|
|
880
|
+
scope: summary
|
|
881
|
+
fix: false
|
|
882
|
+
assertions:
|
|
883
|
+
pattern:
|
|
884
|
+
tokens:
|
|
885
|
+
- \bhover(?:s|ing|ed)?\b
|
|
886
|
+
ignoreCase: true
|
|
887
|
+
google/no-inflected-code:
|
|
888
|
+
severity: warn
|
|
889
|
+
message: 'Don''t inflect the name of a code element (Google): "%s"'
|
|
890
|
+
link: https://developers.google.com/style/code-in-text
|
|
891
|
+
scope: summary
|
|
892
|
+
fix: false
|
|
893
|
+
assertions:
|
|
894
|
+
pattern:
|
|
895
|
+
tokens:
|
|
896
|
+
- '`[^`]+`''s\b'
|
|
897
|
+
- '`[^`]+`s\b'
|
|
898
|
+
includeCode: true
|
|
899
|
+
google/no-internet-slang:
|
|
900
|
+
severity: warn
|
|
901
|
+
message: Avoid the internet-slang abbreviation "%s"; use "%s" instead (Google).
|
|
902
|
+
link: https://developers.google.com/style/abbreviations
|
|
903
|
+
scope: summary
|
|
904
|
+
fix: false
|
|
905
|
+
assertions:
|
|
906
|
+
swap:
|
|
907
|
+
pairs:
|
|
908
|
+
tl;dr: To summarize
|
|
909
|
+
ymmv: Your results might vary
|
|
910
|
+
RTFM: For more information, see...
|
|
911
|
+
ignoreCase: true
|
|
912
|
+
wordBoundary: true
|
|
913
|
+
google/no-latinisms:
|
|
914
|
+
severity: warn
|
|
915
|
+
message: Use "%s" instead of "%s" (Google).
|
|
916
|
+
link: https://developers.google.com/style/word-list
|
|
917
|
+
scope: summary
|
|
918
|
+
fix: false
|
|
919
|
+
assertions:
|
|
920
|
+
swap:
|
|
921
|
+
pairs:
|
|
922
|
+
\bi\.e\.: that is
|
|
923
|
+
\be\.g\.: for example
|
|
924
|
+
ignoreCase: true
|
|
925
|
+
wordBoundary: false
|
|
926
|
+
keysAreRegex: true
|
|
927
|
+
google/no-latinisms-plain:
|
|
928
|
+
severity: warn
|
|
929
|
+
message: Use "%s" instead of "%s" (Google).
|
|
930
|
+
link: https://developers.google.com/style/word-list
|
|
931
|
+
scope: summary
|
|
932
|
+
fix: false
|
|
933
|
+
assertions:
|
|
934
|
+
swap:
|
|
935
|
+
pairs:
|
|
936
|
+
vice versa: the other way around
|
|
937
|
+
ignoreCase: true
|
|
938
|
+
wordBoundary: true
|
|
939
|
+
google/no-lets:
|
|
940
|
+
severity: warn
|
|
941
|
+
message: '"%s": avoid if at all possible (Google).'
|
|
942
|
+
link: https://developers.google.com/style/word-list#lets
|
|
943
|
+
scope: summary
|
|
944
|
+
fix: false
|
|
945
|
+
assertions:
|
|
946
|
+
pattern:
|
|
947
|
+
tokens:
|
|
948
|
+
- \blet's\b
|
|
949
|
+
ignoreCase: true
|
|
950
|
+
google/no-link-in-heading:
|
|
951
|
+
severity: error
|
|
952
|
+
message: Don't put links in headings (Google); move the link into the following paragraph.
|
|
953
|
+
link: https://developers.google.com/style/headings
|
|
954
|
+
scope: heading
|
|
955
|
+
fix: false
|
|
956
|
+
assertions:
|
|
957
|
+
pattern:
|
|
958
|
+
tokens:
|
|
959
|
+
- \[[^\]]*\]\([^)]*\)
|
|
960
|
+
google/no-merged-cells:
|
|
961
|
+
severity: error
|
|
962
|
+
message: Don't merge table cells with colspan/rowspan (Google).
|
|
963
|
+
link: https://developers.google.com/style/accessibility
|
|
964
|
+
scope: all
|
|
965
|
+
fix: false
|
|
966
|
+
assertions:
|
|
967
|
+
pattern:
|
|
968
|
+
tokens:
|
|
969
|
+
- \bcolspan\s*=
|
|
970
|
+
- \browspan\s*=
|
|
971
|
+
ignoreCase: true
|
|
972
|
+
google/no-numbered-headings:
|
|
973
|
+
severity: warn
|
|
974
|
+
message: Don't use numbers in headings to indicate a sequence (Google).
|
|
975
|
+
link: https://developers.google.com/style/headings
|
|
976
|
+
scope: heading
|
|
977
|
+
fix: false
|
|
978
|
+
assertions:
|
|
979
|
+
pattern:
|
|
980
|
+
tokens:
|
|
981
|
+
- ^\d+[.)]\s
|
|
982
|
+
- ^Step\s+\d+\b
|
|
983
|
+
- ^Part\s+\d+\b
|
|
984
|
+
ignoreCase: true
|
|
985
|
+
google/no-please:
|
|
986
|
+
severity: warn
|
|
987
|
+
message: '"%s": only use when asking for permission or forgiveness, not in the normal course of instructions (Google).'
|
|
988
|
+
link: https://developers.google.com/style/word-list#please
|
|
989
|
+
scope: summary
|
|
990
|
+
fix: false
|
|
991
|
+
assertions:
|
|
992
|
+
pattern:
|
|
993
|
+
tokens:
|
|
994
|
+
- \bplease\b
|
|
995
|
+
ignoreCase: true
|
|
996
|
+
google/no-please-note:
|
|
997
|
+
severity: warn
|
|
998
|
+
message: '%sGoogle''s style guide says not to use the phrase "%s"; remove it.'
|
|
999
|
+
link: https://developers.google.com/style/word-list#please
|
|
1000
|
+
scope: summary
|
|
1001
|
+
fix: false
|
|
1002
|
+
assertions:
|
|
1003
|
+
swap:
|
|
1004
|
+
pairs:
|
|
1005
|
+
please note: ''
|
|
1006
|
+
ignoreCase: true
|
|
1007
|
+
wordBoundary: true
|
|
1008
|
+
google/no-run-the-following-command:
|
|
1009
|
+
severity: warn
|
|
1010
|
+
message: Focus on what the command does instead of "%s" (Google).
|
|
1011
|
+
link: https://developers.google.com/style/procedures
|
|
1012
|
+
scope: summary
|
|
1013
|
+
fix: false
|
|
1014
|
+
assertions:
|
|
1015
|
+
pattern:
|
|
1016
|
+
tokens:
|
|
1017
|
+
- \brun the following command\b
|
|
1018
|
+
ignoreCase: true
|
|
1019
|
+
google/no-slash-abbrev:
|
|
1020
|
+
severity: warn
|
|
1021
|
+
message: Use "%s" instead of the slash abbreviation "%s" (Google).
|
|
1022
|
+
link: https://developers.google.com/style/slashes
|
|
1023
|
+
scope: summary
|
|
1024
|
+
fix: false
|
|
1025
|
+
assertions:
|
|
1026
|
+
swap:
|
|
1027
|
+
pairs:
|
|
1028
|
+
\bc/o(?![A-Za-z]): care of
|
|
1029
|
+
\bw/(?![A-Za-z]): with
|
|
1030
|
+
ignoreCase: true
|
|
1031
|
+
wordBoundary: false
|
|
1032
|
+
keysAreRegex: true
|
|
1033
|
+
google/no-target-blank:
|
|
1034
|
+
severity: warn
|
|
1035
|
+
message: Don't force links to open in a new tab or window (Google).
|
|
1036
|
+
link: https://developers.google.com/style/cross-references
|
|
1037
|
+
scope: all
|
|
1038
|
+
fix: false
|
|
1039
|
+
assertions:
|
|
1040
|
+
pattern:
|
|
1041
|
+
tokens:
|
|
1042
|
+
- target\s*=\s*["']_blank["']
|
|
1043
|
+
google/no-timeless-phrases:
|
|
1044
|
+
severity: warn
|
|
1045
|
+
message: '"%s" is implied by the existence of the documentation itself; consider removing it (Google).'
|
|
1046
|
+
link: https://developers.google.com/style/timeless-documentation
|
|
1047
|
+
scope: summary
|
|
1048
|
+
fix: false
|
|
1049
|
+
assertions:
|
|
1050
|
+
pattern:
|
|
1051
|
+
tokens:
|
|
1052
|
+
- \bas of this writing\b
|
|
1053
|
+
- \bat present\b
|
|
1054
|
+
- \bpresently\b
|
|
1055
|
+
- \bdoes not yet\b
|
|
1056
|
+
- \bcurrently\b
|
|
1057
|
+
ignoreCase: true
|
|
1058
|
+
google/no-toggle-verb:
|
|
1059
|
+
severity: warn
|
|
1060
|
+
message: 'Describe the action instead of using "toggle" as a verb (Google): "%s"'
|
|
1061
|
+
link: https://developers.google.com/style/ui-elements
|
|
1062
|
+
scope: summary
|
|
1063
|
+
fix: false
|
|
1064
|
+
assertions:
|
|
1065
|
+
pattern:
|
|
1066
|
+
tokens:
|
|
1067
|
+
- \btoggle(?:d|s)?\s+(?:the|this|that|a|an)\b
|
|
1068
|
+
- \bto toggle\b
|
|
1069
|
+
ignoreCase: true
|
|
1070
|
+
google/no-trailing-punctuation:
|
|
1071
|
+
severity: error
|
|
1072
|
+
message: Don't end headings with periods (Google).
|
|
1073
|
+
link: https://developers.google.com/style/periods
|
|
1074
|
+
scope: all
|
|
1075
|
+
fix: false
|
|
1076
|
+
assertions:
|
|
1077
|
+
no-trailing-punctuation: {}
|
|
1078
|
+
google/no-triple-contractions:
|
|
1079
|
+
severity: warn
|
|
1080
|
+
message: Don't use three-word contractions such as "%s" (Google).
|
|
1081
|
+
link: https://developers.google.com/style/contractions
|
|
1082
|
+
scope: summary
|
|
1083
|
+
fix: false
|
|
1084
|
+
assertions:
|
|
1085
|
+
pattern:
|
|
1086
|
+
tokens:
|
|
1087
|
+
- \bmightn't've\b
|
|
1088
|
+
- \bwouldn't've\b
|
|
1089
|
+
- \bcouldn't've\b
|
|
1090
|
+
- \bshouldn't've\b
|
|
1091
|
+
ignoreCase: true
|
|
1092
|
+
google/no-uncheck:
|
|
1093
|
+
severity: warn
|
|
1094
|
+
message: Use "%s" instead of "%s" for checkboxes (Google).
|
|
1095
|
+
link: https://developers.google.com/style/word-list#uncheck
|
|
1096
|
+
scope: summary
|
|
1097
|
+
fix: false
|
|
1098
|
+
assertions:
|
|
1099
|
+
swap:
|
|
1100
|
+
pairs:
|
|
1101
|
+
uncheck: clear
|
|
1102
|
+
ignoreCase: true
|
|
1103
|
+
wordBoundary: true
|
|
1104
|
+
google/no-underline:
|
|
1105
|
+
severity: warn
|
|
1106
|
+
message: Reserve underlining for link text (Google).
|
|
1107
|
+
link: https://developers.google.com/style/text-formatting
|
|
1108
|
+
scope: all
|
|
1109
|
+
fix: false
|
|
1110
|
+
assertions:
|
|
1111
|
+
pattern:
|
|
1112
|
+
tokens:
|
|
1113
|
+
- <u>
|
|
1114
|
+
ignoreCase: true
|
|
1115
|
+
google/no-url-as-link-text:
|
|
1116
|
+
severity: warn
|
|
1117
|
+
message: Don't use a URL as link text (Google); use a descriptive phrase instead.
|
|
1118
|
+
link: https://developers.google.com/style/cross-references
|
|
1119
|
+
scope: link
|
|
1120
|
+
fix: false
|
|
1121
|
+
assertions:
|
|
1122
|
+
pattern:
|
|
1123
|
+
tokens:
|
|
1124
|
+
- ^https?://
|
|
1125
|
+
google/no-via:
|
|
1126
|
+
severity: warn
|
|
1127
|
+
message: '"%s": avoid — Google''s word list says not to use it; rephrase (e.g. "using", "through").'
|
|
1128
|
+
link: https://developers.google.com/style/word-list#via
|
|
1129
|
+
scope: summary
|
|
1130
|
+
fix: false
|
|
1131
|
+
assertions:
|
|
1132
|
+
pattern:
|
|
1133
|
+
tokens:
|
|
1134
|
+
- \bvia\b
|
|
1135
|
+
ignoreCase: true
|
|
1136
|
+
google/number-format:
|
|
1137
|
+
severity: warn
|
|
1138
|
+
message: 'Number formatting: "%s" doesn''t match Google''s stated convention.'
|
|
1139
|
+
link: https://developers.google.com/style/numbers
|
|
1140
|
+
scope: summary
|
|
1141
|
+
fix: false
|
|
1142
|
+
assertions:
|
|
1143
|
+
pattern:
|
|
1144
|
+
tokens:
|
|
1145
|
+
- \d\s%
|
|
1146
|
+
- (?<![\d.])\.\d
|
|
1147
|
+
- \d+ x \d+
|
|
1148
|
+
- \bfrom\s+\d+-\d+\b
|
|
1149
|
+
google/performant:
|
|
1150
|
+
severity: warn
|
|
1151
|
+
message: Avoid "%s"; use a more precise term (Google).
|
|
1152
|
+
link: https://developers.google.com/style/word-list#performant
|
|
1153
|
+
scope: summary
|
|
1154
|
+
fix: false
|
|
1155
|
+
assertions:
|
|
1156
|
+
pattern:
|
|
1157
|
+
tokens:
|
|
1158
|
+
- \bperformant\b
|
|
1159
|
+
ignoreCase: true
|
|
1160
|
+
google/plain-language-swaps:
|
|
1161
|
+
severity: warn
|
|
1162
|
+
message: 'Prefer "%s" over "%s" (Google: plain language).'
|
|
1163
|
+
link: https://developers.google.com/style/word-list
|
|
1164
|
+
scope: summary
|
|
1165
|
+
fix: false
|
|
1166
|
+
assertions:
|
|
1167
|
+
swap:
|
|
1168
|
+
pairs:
|
|
1169
|
+
allows you to: lets you
|
|
1170
|
+
enables you to: lets you
|
|
1171
|
+
comprise: consist of
|
|
1172
|
+
comprised of: consist of
|
|
1173
|
+
desire: want
|
|
1174
|
+
desired: wanted
|
|
1175
|
+
wish: want
|
|
1176
|
+
learnings: knowledge
|
|
1177
|
+
agnostic: platform-independent
|
|
1178
|
+
ignoreCase: true
|
|
1179
|
+
wordBoundary: true
|
|
1180
|
+
google/product-names:
|
|
1181
|
+
severity: warn
|
|
1182
|
+
message: Use "%s" instead of "%s" (Google product naming).
|
|
1183
|
+
link: https://developers.google.com/style/word-list
|
|
1184
|
+
scope: summary
|
|
1185
|
+
fix: false
|
|
1186
|
+
assertions:
|
|
1187
|
+
swap:
|
|
1188
|
+
pairs:
|
|
1189
|
+
Cloud Platform: Google Cloud
|
|
1190
|
+
(?<![Gg][Oo][Oo][Gg][Ll][Ee]\s+)Cloud console: Google Cloud console
|
|
1191
|
+
Developers Console: Google Cloud console
|
|
1192
|
+
Google Cloud SDK: Cloud SDK
|
|
1193
|
+
API explorer: APIs Explorer
|
|
1194
|
+
API Explorer: APIs Explorer
|
|
1195
|
+
developer key: API key
|
|
1196
|
+
dev key: API key
|
|
1197
|
+
API Console key: API key
|
|
1198
|
+
account name: username
|
|
1199
|
+
curated roles: predefined roles
|
|
1200
|
+
network IP address: internal IP address
|
|
1201
|
+
MIME type: media type
|
|
1202
|
+
interconnect type: connection type
|
|
1203
|
+
peer zone: peering zone
|
|
1204
|
+
Android device: Android-powered device
|
|
1205
|
+
Android devices: Android-powered devices
|
|
1206
|
+
wordBoundary: true
|
|
1207
|
+
keysAreRegex: true
|
|
1208
|
+
google/rfc-spacing:
|
|
1209
|
+
severity: warn
|
|
1210
|
+
message: 'Use a space between RFC and the number, e.g. "RFC 2318" (Google): "%s"'
|
|
1211
|
+
link: https://developers.google.com/style/word-list#RFC
|
|
1212
|
+
scope: summary
|
|
1213
|
+
fix: false
|
|
1214
|
+
assertions:
|
|
1215
|
+
pattern:
|
|
1216
|
+
tokens:
|
|
1217
|
+
- \bRFC\d+\b
|
|
1218
|
+
google/scroll-to:
|
|
1219
|
+
severity: warn
|
|
1220
|
+
message: Prefer "%s" over "%s" (Google).
|
|
1221
|
+
link: https://developers.google.com/style/word-list#scroll
|
|
1222
|
+
scope: summary
|
|
1223
|
+
fix: false
|
|
1224
|
+
assertions:
|
|
1225
|
+
swap:
|
|
1226
|
+
pairs:
|
|
1227
|
+
scroll to: go to
|
|
1228
|
+
ignoreCase: true
|
|
1229
|
+
wordBoundary: true
|
|
1230
|
+
google/second-person:
|
|
1231
|
+
severity: warn
|
|
1232
|
+
message: Use second person ("you"/"your") instead of "%s", unless referring to the organization itself (Google).
|
|
1233
|
+
link: https://developers.google.com/style/person
|
|
1234
|
+
scope: summary
|
|
1235
|
+
fix: false
|
|
1236
|
+
assertions:
|
|
1237
|
+
pattern:
|
|
1238
|
+
tokens:
|
|
1239
|
+
- \b(?:We|we|Our|our|Us|us)\b
|
|
1240
|
+
google/self-reference-terms:
|
|
1241
|
+
severity: warn
|
|
1242
|
+
message: Use "this document" instead of "%s" when referring to the current document (Google).
|
|
1243
|
+
link: https://developers.google.com/style/word-list#documentation
|
|
1244
|
+
scope: summary
|
|
1245
|
+
fix: false
|
|
1246
|
+
assertions:
|
|
1247
|
+
pattern:
|
|
1248
|
+
tokens:
|
|
1249
|
+
- \bthis article\b
|
|
1250
|
+
- \bthis topic\b
|
|
1251
|
+
- \bthis doc\b
|
|
1252
|
+
- \bthis page\b
|
|
1253
|
+
ignoreCase: true
|
|
1254
|
+
google/sentence-length:
|
|
1255
|
+
severity: error
|
|
1256
|
+
message: Sentence is %s %s long; Google recommends fewer than 26 words (max %s).
|
|
1257
|
+
link: https://developers.google.com/style/accessibility
|
|
1258
|
+
scope: sentence
|
|
1259
|
+
fix: false
|
|
1260
|
+
assertions:
|
|
1261
|
+
length:
|
|
1262
|
+
unit: words
|
|
1263
|
+
max: 25
|
|
1264
|
+
google/sha1-form:
|
|
1265
|
+
severity: warn
|
|
1266
|
+
message: 'Use "%s" instead of "%s" (Google: fixed acronym/abbreviation form).'
|
|
1267
|
+
link: https://developers.google.com/style/word-list
|
|
1268
|
+
scope: summary
|
|
1269
|
+
fix: false
|
|
1270
|
+
assertions:
|
|
1271
|
+
swap:
|
|
1272
|
+
pairs:
|
|
1273
|
+
(?<!-)\bSHA1\b: SHA-1
|
|
1274
|
+
wordBoundary: false
|
|
1275
|
+
keysAreRegex: true
|
|
1276
|
+
google/single-h1:
|
|
1277
|
+
severity: error
|
|
1278
|
+
message: 'Only use a level-1 heading once on a page (Google: heading structure).'
|
|
1279
|
+
link: https://developers.google.com/style/headings
|
|
1280
|
+
scope: all
|
|
1281
|
+
fix: false
|
|
1282
|
+
assertions:
|
|
1283
|
+
single-h1: {}
|
|
1284
|
+
google/single-space-sentences:
|
|
1285
|
+
severity: warn
|
|
1286
|
+
message: Leave only one space between sentences (Google).
|
|
1287
|
+
link: https://developers.google.com/style/periods
|
|
1288
|
+
scope: summary
|
|
1289
|
+
fix: false
|
|
1290
|
+
assertions:
|
|
1291
|
+
pattern:
|
|
1292
|
+
tokens:
|
|
1293
|
+
- \. +\S
|
|
1294
|
+
google/spell-out-ordinals:
|
|
1295
|
+
severity: warn
|
|
1296
|
+
message: Spell out ordinal numbers; avoid "%s" (Google).
|
|
1297
|
+
link: https://developers.google.com/style/numbers
|
|
1298
|
+
scope: summary
|
|
1299
|
+
fix: false
|
|
1300
|
+
assertions:
|
|
1301
|
+
pattern:
|
|
1302
|
+
tokens:
|
|
1303
|
+
- \b\d+(?:st|nd|rd|th)\b
|
|
1304
|
+
google/strong-style:
|
|
1305
|
+
severity: warn
|
|
1306
|
+
message: Use double asterisks for bold, not underscores (Google).
|
|
1307
|
+
link: https://developers.google.com/style/text-formatting
|
|
1308
|
+
scope: all
|
|
1309
|
+
fix: false
|
|
1310
|
+
assertions:
|
|
1311
|
+
strong-style:
|
|
1312
|
+
style: asterisk
|
|
1313
|
+
google/technical-jargon-precision:
|
|
1314
|
+
severity: warn
|
|
1315
|
+
message: 'Use a precise term such as "%s" instead of "%s" (Google: technical-jargon precision, not people).'
|
|
1316
|
+
link: https://developers.google.com/style/word-list#fat
|
|
1317
|
+
scope: summary
|
|
1318
|
+
fix: false
|
|
1319
|
+
assertions:
|
|
1320
|
+
swap:
|
|
1321
|
+
pairs:
|
|
1322
|
+
fat client: full-featured client
|
|
1323
|
+
fat connection: high-capacity network connection
|
|
1324
|
+
chubby: overextended
|
|
1325
|
+
ignoreCase: true
|
|
1326
|
+
wordBoundary: true
|
|
1327
|
+
google/time-format:
|
|
1328
|
+
severity: warn
|
|
1329
|
+
message: '"%s": use all-caps AM/PM with a space before it, and drop :00 on round hours (Google).'
|
|
1330
|
+
link: https://developers.google.com/style/word-list#AM,_PM
|
|
1331
|
+
scope: summary
|
|
1332
|
+
fix: false
|
|
1333
|
+
assertions:
|
|
1334
|
+
pattern:
|
|
1335
|
+
tokens:
|
|
1336
|
+
- \d\s?[ap]\.m\.
|
|
1337
|
+
- \d(?:am|pm)\b
|
|
1338
|
+
- \d(?:AM|PM)\b
|
|
1339
|
+
- \b\d{1,2}:00\s?(?:AM|PM|am|pm)\b
|
|
1340
|
+
google/ui-element-quotes:
|
|
1341
|
+
severity: warn
|
|
1342
|
+
message: 'Don''t put UI element names in quotation marks; use bold instead (Google): "%s"'
|
|
1343
|
+
link: https://developers.google.com/style/ui-elements
|
|
1344
|
+
scope: summary
|
|
1345
|
+
fix: false
|
|
1346
|
+
assertions:
|
|
1347
|
+
pattern:
|
|
1348
|
+
tokens:
|
|
1349
|
+
- '"[A-Z][a-zA-Z ]*"\s+(?:button|tab|menu|checkbox|option|link|field)\b'
|
|
1350
|
+
google/unsighted-visually-challenged:
|
|
1351
|
+
severity: warn
|
|
1352
|
+
message: Use "%s" instead of "%s" (Google inclusive language).
|
|
1353
|
+
link: https://developers.google.com/style/word-list#unsighted
|
|
1354
|
+
scope: summary
|
|
1355
|
+
fix: false
|
|
1356
|
+
assertions:
|
|
1357
|
+
swap:
|
|
1358
|
+
pairs:
|
|
1359
|
+
unsighted: person who is blind
|
|
1360
|
+
visually challenged: person who is visually impaired
|
|
1361
|
+
ignoreCase: true
|
|
1362
|
+
wordBoundary: true
|
|
1363
|
+
google/us-abbreviation:
|
|
1364
|
+
severity: warn
|
|
1365
|
+
message: 'Use "%s" instead of "%s" (Google: US is OK as an abbreviation for United States).'
|
|
1366
|
+
link: https://developers.google.com/style/word-list#US
|
|
1367
|
+
scope: summary
|
|
1368
|
+
fix: false
|
|
1369
|
+
assertions:
|
|
1370
|
+
swap:
|
|
1371
|
+
pairs:
|
|
1372
|
+
U.S.A.: US
|
|
1373
|
+
U.S.: US
|
|
1374
|
+
wordBoundary: false
|
|
1375
|
+
google/use-contractions:
|
|
1376
|
+
severity: warn
|
|
1377
|
+
message: Use "%s" instead of "%s" (Google recommends negation contractions).
|
|
1378
|
+
link: https://developers.google.com/style/contractions
|
|
1379
|
+
scope: summary
|
|
1380
|
+
fix: false
|
|
1381
|
+
assertions:
|
|
1382
|
+
swap:
|
|
1383
|
+
pairs:
|
|
1384
|
+
is not: isn't
|
|
1385
|
+
are not: aren't
|
|
1386
|
+
do not: don't
|
|
1387
|
+
does not: doesn't
|
|
1388
|
+
did not: didn't
|
|
1389
|
+
cannot: can't
|
|
1390
|
+
will not: won't
|
|
1391
|
+
have not: haven't
|
|
1392
|
+
has not: hasn't
|
|
1393
|
+
had not: hadn't
|
|
1394
|
+
should not: shouldn't
|
|
1395
|
+
would not: wouldn't
|
|
1396
|
+
could not: couldn't
|
|
1397
|
+
ignoreCase: true
|
|
1398
|
+
wordBoundary: true
|
|
1399
|
+
google/utilize:
|
|
1400
|
+
severity: warn
|
|
1401
|
+
message: Use "use" instead of "%s" unless referring to the quantity of a resource used (Google).
|
|
1402
|
+
link: https://developers.google.com/style/word-list#utilize
|
|
1403
|
+
scope: summary
|
|
1404
|
+
fix: false
|
|
1405
|
+
assertions:
|
|
1406
|
+
pattern:
|
|
1407
|
+
tokens:
|
|
1408
|
+
- \butiliz(?:e|es|ed|ing|ation)\b
|
|
1409
|
+
ignoreCase: true
|
|
1410
|
+
google/vague-link-text:
|
|
1411
|
+
severity: warn
|
|
1412
|
+
message: Avoid vague link text such as "%s"; describe the destination (Google).
|
|
1413
|
+
link: https://developers.google.com/style/cross-references
|
|
1414
|
+
scope: link
|
|
1415
|
+
fix: false
|
|
1416
|
+
assertions:
|
|
1417
|
+
pattern:
|
|
1418
|
+
tokens:
|
|
1419
|
+
- \b(?:this document|this article|this page|this topic|this doc|click here)\b
|
|
1420
|
+
ignoreCase: true
|
|
1421
|
+
google/vs-versus:
|
|
1422
|
+
severity: warn
|
|
1423
|
+
message: Use "%s" instead of "%s" (Google).
|
|
1424
|
+
link: https://developers.google.com/style/word-list
|
|
1425
|
+
scope: summary
|
|
1426
|
+
fix: false
|
|
1427
|
+
assertions:
|
|
1428
|
+
swap:
|
|
1429
|
+
pairs:
|
|
1430
|
+
\bvs\.: versus
|
|
1431
|
+
ignoreCase: true
|
|
1432
|
+
wordBoundary: false
|
|
1433
|
+
keysAreRegex: true
|
|
1434
|
+
|
|
1435
|
+
# ==============================================================================
|
|
1436
|
+
# Appendix — candidates NOT shipped by recheck/google (hand-maintained)
|
|
1437
|
+
# ==============================================================================
|
|
1438
|
+
# This file is appended verbatim to the generated example above by
|
|
1439
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs). Editing it
|
|
1440
|
+
# makes examples/google.yaml stale until you regenerate — the drift test's
|
|
1441
|
+
# failure message says so, so this doesn't read as a generator bug.
|
|
1442
|
+
#
|
|
1443
|
+
# Full detail, every candidate, and why: packages/recheck/presets/google/PROVENANCE.md
|
|
1444
|
+
#
|
|
1445
|
+
# ------------------------------------------------------------------------------
|
|
1446
|
+
# NOISY — real, guide-confirmed content, judged too broad to enforce
|
|
1447
|
+
# mechanically. Shown here as the rule it WOULD be if shipped, commented out,
|
|
1448
|
+
# so you can see the shape being avoided rather than just a name.
|
|
1449
|
+
# ------------------------------------------------------------------------------
|
|
1450
|
+
|
|
1451
|
+
# NOISY: a heading starting with an "-ing" word would also flag ordinary
|
|
1452
|
+
# tech-noun headings used as topics, not verb-form imperatives (Networking,
|
|
1453
|
+
# Logging, Caching, Monitoring, Testing) — Google names only two exceptions
|
|
1454
|
+
# (Billing, Pricing), itself evidence this needs more context than a
|
|
1455
|
+
# heading's first word.
|
|
1456
|
+
# google/no-gerund-headings:
|
|
1457
|
+
# severity: warn
|
|
1458
|
+
# scope: heading
|
|
1459
|
+
# message: 'Avoid starting a heading with a gerund (Google).'
|
|
1460
|
+
# assertions:
|
|
1461
|
+
# pattern:
|
|
1462
|
+
# ignoreCase: true
|
|
1463
|
+
# tokens: ['^\w*ing\b']
|
|
1464
|
+
|
|
1465
|
+
# NOISY: table cells often legitimately contain short labels, proper nouns,
|
|
1466
|
+
# or numeric/code values that don't fit sentence-case cleanly.
|
|
1467
|
+
# google/table-sentence-case:
|
|
1468
|
+
# severity: warn
|
|
1469
|
+
# scope: table.cell
|
|
1470
|
+
# message: 'Use sentence case for table cells (Google).'
|
|
1471
|
+
# assertions:
|
|
1472
|
+
# capitalization:
|
|
1473
|
+
# match: $sentence
|
|
1474
|
+
|
|
1475
|
+
# NOISY: slashes appear constantly in dates, paths, fractions, and URLs — a
|
|
1476
|
+
# blind "avoid slashes" pattern would flag nearly all of them.
|
|
1477
|
+
# google/no-slashes-general:
|
|
1478
|
+
# severity: warn
|
|
1479
|
+
# message: 'Avoid using slashes, except in code (Google).'
|
|
1480
|
+
# assertions:
|
|
1481
|
+
# pattern:
|
|
1482
|
+
# tokens: ['(?<!\/)\/(?!\/)']
|
|
1483
|
+
|
|
1484
|
+
# NOISY: confirmed guide content ("don't put code in quotes or angle
|
|
1485
|
+
# brackets"), but the draft that fed this preset already flagged both as
|
|
1486
|
+
# NOISY and they were never re-litigated — no safe anchor was found that
|
|
1487
|
+
# doesn't also match ordinary quoted/angle-bracketed prose unrelated to code.
|
|
1488
|
+
# google/no-quotes-around-code:
|
|
1489
|
+
# severity: warn
|
|
1490
|
+
# message: "Don't wrap code terms in quotation marks (Google)."
|
|
1491
|
+
# assertions:
|
|
1492
|
+
# pattern:
|
|
1493
|
+
# tokens: ['"`[^`]+`"']
|
|
1494
|
+
# google/no-angle-brackets-around-code:
|
|
1495
|
+
# severity: warn
|
|
1496
|
+
# message: "Don't wrap code terms in angle brackets (Google)."
|
|
1497
|
+
# assertions:
|
|
1498
|
+
# pattern:
|
|
1499
|
+
# tokens: ['<`[^`]+`>']
|
|
1500
|
+
|
|
1501
|
+
# ------------------------------------------------------------------------------
|
|
1502
|
+
# NEEDS HUMAN REVIEW — real guide content with no safe mechanical detection
|
|
1503
|
+
# (NOT-ENFORCEABLE). Recheck cannot check these; review them yourself:
|
|
1504
|
+
# ------------------------------------------------------------------------------
|
|
1505
|
+
# [ ] "Optional:" prefix on genuinely optional sections (requires knowing
|
|
1506
|
+
# whether a section is actually optional)
|
|
1507
|
+
# [ ] Text before a colon must be a complete sentence
|
|
1508
|
+
# [ ] Oxford comma (missing-comma detection needs real clause parsing)
|
|
1509
|
+
# [ ] Acronyms used as verbs ("ping the server") — needs POS tagging
|
|
1510
|
+
# [ ] Spell out an abbreviation on first mention (needs unbounded
|
|
1511
|
+
# first-mention tracking across the document)
|
|
1512
|
+
# [ ] Avoid linking the same destination from different link text (the
|
|
1513
|
+
# guide's own exceptions — different section, long page, multiple
|
|
1514
|
+
# entry points — need judgment a token rule can't apply)
|
|
1515
|
+
# [ ] External link icon (a rendered visual/CSS concern, not markdown text)
|
|
1516
|
+
# [ ] Drop "..." when quoting a UI element name (risks over- and
|
|
1517
|
+
# under-firing with a regex)
|
|
1518
|
+
# [ ] Directional language (above/below/right-hand side) as a spatial UI
|
|
1519
|
+
# reference vs. its equally common non-directional use
|
|
1520
|
+
# [ ] "A link isn't a button" — requires knowing what a referenced UI
|
|
1521
|
+
# element actually is
|
|
1522
|
+
# [ ] Generic he/him/his/she/her — requires knowing whether a pronoun
|
|
1523
|
+
# names a specific person or is used generically
|
|
1524
|
+
# [ ] Active voice, metaphor avoidance, and the "what belongs in code
|
|
1525
|
+
# font" table — all require holistic judgment about content/structure
|