TypeScript
No Catch Unknown Annotation
Disallow redundant unknown type annotations on catch clause variables because TypeScript already defaults the binding to unknown.
No Explicit Any
Disallow usage of the any type and require unknown with type guards or a specific named type to maintain full type-level safety.
No Inline Type Annotation
Disallow inline type annotations in code files and require named type aliases imported from dedicated 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 to keep access patterns consistent.
Require Type Naming
Require type alias names in definition files to start with the class name prefix derived from the file path for consistent naming.