StylesPath = styles MinAlertLevel = suggestion Vocab = geant-jargon Packages = proselint, Microsoft [*.{py,md}] ; Replacing a ... with … shouldn't be holding back the entire CI pipeline proselint.Typography = warning ; Same applies for not using contractions, the custom package actually lints in the opposite direction Microsoft.Contractions = NO custom.Contractions = YES ; Found to be too intrusive Microsoft.Passive = NO ; We are not a general audience Microsoft.GeneralURL = NO Microsoft.We = NO Microsoft.Vocab = NO [*.py] ; We only lint .rst and .py files BasedOnStyles = Vale, proselint, Microsoft ; Some headers are generated and we have no real influence over them Microsoft.Headings = NO ; It's okay to leave TODOs in the code, that's what they're for proselint.Annotations = NO ; Using a "regular" - instead of an en dash is totally fine Microsoft.Negative = NO Microsoft.RangeFormat = NO Microsoft.SentenceLength = NO ; This statement ignores the names of parameters in docstrings, the four spaces that prepend it and the one following it ; are necessary. TokenIgnores = \S+: [*.md] BasedOnStyles = Vale, proselint, Microsoft [formats] py = rst