Use TSLint to create custom lint rules for your Typescript codebase to enforce arbitrary constraints on code style, patterns, etc... using static analysis. Covers the basics of ASTs (abstract syntax trees), using the ASTexplorer web app, and debugging in VScode.