- Rule: typed-rocks/max-depth
- Prevents usage of overly complex or deeply nested TypeScript types.
 - Encourages maintainable, readable, and simple type definitions.
 - Helps teams enforce a maximum type complexity policy.
 - integrated 
--fixcommand to restructure and properly organize your types. 
 
// ❌ Too complex:
// ❌ No reusable types:
type Teams = {
  frontend: {
    members: {
      name: string;
      age: number;
      address: {
//      ^^^ Type is too deeply nested (4). Max allowed is 3
        street: string;
        postalCode: string;
        city: string;
        country: string;
      };
      skills: {
//      ^^^ Type is too deeply nested (4). Max allowed is 3
        area: string;
        level: number;
      }[];
    }[];
  };
};// ✅ Simpler, more maintainable
// ✅ Reusable
// ✅ No duplication
type Teams = {
  frontend: {
    members: {
      name: string;
      age: number;
      address: Address;
      skills: Skills[];
    }[];
  };
};
type Skills = {
  area: string;
  level: number;
};
type Address = {
  street: string;
  postalCode: string;
  city: string;
  country: string;
};npm install eslint-plugin-typed-rocks --save-devAdd typed-rocks to your ESLint plugins and enable the rule:
{
  "plugins": ["typed-rocks"],
  "rules": {
    "typed-rocks/max-depth": ["warn", 3]
  }
}- Prevents hard-to-read and hard-to-maintain type definitions.
 - Encourages best practices in TypeScript codebases.
 - Makes code reviews and onboarding easier.
 
MIT License
