Насчёт макросов и распространения не скажу, но некоторые проекты расширяют те же правила линтера под себя, например OMR, часть ibm jvm openj9, написали правило для своего кода, у них надо к полям и методам обращаться не через this, а через self. Но как такое распространять и правда неясно если только научить линтер и компилятор загружать плагины из DLL, скорее всего так и делается.