From 001b96ea262f2e5b13d136e7c7fd3f8484435ccc Mon Sep 17 00:00:00 2001 From: stuckvgn Date: Wed, 25 Feb 2026 23:56:19 +0530 Subject: [PATCH] docs: add vale rules for animal-derived language alternatives Introduce suggestion-level substitution rules that flag common animal-derived phrases and offer clearer alternatives. --- docs/codeql/.vale.ini | 2 +- .../vale-styles/Speciesism/AnimalIdioms.yml | 32 +++++++++++++++++++ .../Speciesism/AnimalMetaphors.yml | 14 ++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 docs/codeql/vale-styles/Speciesism/AnimalIdioms.yml create mode 100644 docs/codeql/vale-styles/Speciesism/AnimalMetaphors.yml diff --git a/docs/codeql/.vale.ini b/docs/codeql/.vale.ini index c7bd5aa87dc3..3b25dc1c9a60 100644 --- a/docs/codeql/.vale.ini +++ b/docs/codeql/.vale.ini @@ -18,7 +18,7 @@ MinAlertLevel = suggestions # Vale comes with three built-in styles: write-good, proselint, and Joblint. # You could enable all rules in the "Microsoft" style guide as follows: # BasedOnStyles = Microsoft -BasedOnStyles = Semmle +BasedOnStyles = Semmle, Speciesism # Initially, we only want to run a few rules, so we'll specify them individually # Style.Rule = {YES, NO} to enable or disable a specific rule diff --git a/docs/codeql/vale-styles/Speciesism/AnimalIdioms.yml b/docs/codeql/vale-styles/Speciesism/AnimalIdioms.yml new file mode 100644 index 000000000000..9a9728b27726 --- /dev/null +++ b/docs/codeql/vale-styles/Speciesism/AnimalIdioms.yml @@ -0,0 +1,32 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'. This phrase normalizes violence toward animals." +link: https://doi.org/10.1007/s43681-023-00380-w +level: suggestion +ignorecase: true +swap: + 'kill two birds with one stone': accomplish two things at once + 'killing two birds with one stone': accomplishing two things at once + 'killed two birds with one stone': accomplished two things at once + 'beat a dead horse': belabor the point + 'beating a dead horse': belaboring the point + 'flog a dead horse': belabor the point + 'flogging a dead horse': belaboring the point + 'bring home the bacon': bring home the results + 'bringing home the bacon': bringing home the results + 'brought home the bacon': brought home the results + 'more than one way to skin a cat': more than one way to solve this + 'many ways to skin a cat': many ways to approach this + 'let the cat out of the bag': reveal the secret + 'letting the cat out of the bag': revealing the secret + 'open a can of worms': create a complicated situation + 'opening a can of worms': creating a complicated situation + 'opened a can of worms': created a complicated situation + 'wild goose chase': pointless pursuit + 'take the bull by the horns': face the challenge head-on + 'taking the bull by the horns': facing the challenge head-on + 'took the bull by the horns': faced the challenge head-on + 'like shooting fish in a barrel': extremely easy + 'straight from the horse''s mouth': directly from the source + 'from the horse''s mouth': from a reliable source + 'whack-a-mole': recurring problem + 'whack a mole': recurring problem diff --git a/docs/codeql/vale-styles/Speciesism/AnimalMetaphors.yml b/docs/codeql/vale-styles/Speciesism/AnimalMetaphors.yml new file mode 100644 index 000000000000..cbc0987b4bd8 --- /dev/null +++ b/docs/codeql/vale-styles/Speciesism/AnimalMetaphors.yml @@ -0,0 +1,14 @@ +extends: substitution +message: "Consider using '%s' instead of '%s'. This term references animals as objects or tools." +link: https://doi.org/10.1007/s43681-023-00380-w +level: suggestion +ignorecase: true +swap: + 'guinea pig': test subject + 'sacred cow': unquestioned belief + 'sacred cows': unquestioned beliefs + 'scapegoat(?:ed|ing)?': wrongly blamed + 'dog-eat-dog': ruthlessly competitive + 'dog eat dog': ruthlessly competitive + 'rat race': competitive grind + 'red herring': false lead