TypeScript
No Catch Unknown Annotation
Disallow redundant unknown type annotations on catch clause variables because TypeScript defaults them to unknown.
No Explicit Any
Disallow usage of the any type and require unknown with type guards or a specific type instead.
No Inline Type Annotation
Disallow inline type annotations in code files and require named type aliases from definition files instead.
No Shared Type Import
Disallow importing shared type files in code files to enforce type layering where shared types flow through domain type files.
Require Bracket Property Access
Require bracket notation instead of dot notation for property access on project-defined plain objects.
Require Type Naming
Require type alias names in definition files to start with the class name prefix derived from the file path.