@studnicky/interface-suffix
Requires every interface declaration's name to end with Interface, with no exemptions — including interfaces declared inside a namespace. The suffix makes interfaces visually distinct from type aliases and classes at every call site, so a reader never has to check the declaration to know what kind of symbol they're looking at.
Fixable: No · Options: No · Suggested severity: error
✗ Incorrect
ts
// top-level interface missing the Interface suffix
interface Foo { readonly x: number; }ts
// namespace-nested interface missing the suffix — no namespace exemption
namespace X {
interface Foo { readonly x: number; }
}✓ Correct
ts
// interface name ends with Interface
interface FooInterface { readonly x: number; }ts
// namespace-nested interface with the suffix — not flagged
namespace X {
interface FooInterface { readonly x: number; }
}