~/talk

How GitHub uses linters

Talkat RubyConf 2021 · 2021-11-08..11-10· [ruby, developer-experience]
slides:none on file

Company-scale linters keep a 1.7+ million‑line Ruby monorepo coherent across 1000+ engineers: examples include about 100 sentinel nudges (regex pull‑request comments), hundreds of tests‑as‑linters (grep-based checks), and ~125 AST‑powered robocops (erb_lint + rubocop hooks) that run in the editor and support auto-correction in editor. Specific stories cover merge friction from global counters, an allowlist per-file improvement, and concrete instances where autocorrect and precise AST ranges actually fix code rather than just flag it.

AI-written summary · about

  1. 0:00Start
  2. 0:27Custom Linters
  3. 2:06Disclaimer
  4. 3:11What a Linter Is
  5. 3:35Why Do We Use Linters at Github
  6. 4:50Sentinel
  7. 5:15Prevent Leaking Information and Templates
  8. 6:37Trigger Pull Request Reviews
  9. 8:10Mini Tests
  10. 13:28Abstract Syntax Trees
  11. 15:51Run Method
  12. 17:10Custom Robocops
  13. 22:57Auto Correction
  14. 23:47Replace Method
  15. 26:00Conclusion
  16. 30:26Do I Have a Favorite Linter
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.