{
    "executors": {
        "generate": {
            "implementation": "./src/executors/generate/executor",
            "schema": "./src/executors/generate/schema.json",
            "description": "Generate the architecture dependency graph and save it"
        },
        "visualize": {
            "implementation": "./src/executors/visualize/executor",
            "schema": "./src/executors/visualize/schema.json",
            "description": "Generate visual representations of the architecture graph"
        },
        "validate-no-architecture-cycles": {
            "implementation": "./src/executors/validate-no-architecture-cycles/executor",
            "schema": "./src/executors/validate-no-architecture-cycles/schema.json",
            "description": "Validate the architecture graph has no circular project dependencies"
        },
        "validate-architecture-unchanged": {
            "implementation": "./src/executors/validate-architecture-unchanged/executor",
            "schema": "./src/executors/validate-architecture-unchanged/schema.json",
            "description": "Validate the architecture graph matches the saved blessed graph"
        },
        "validate-no-skiplevel-deps": {
            "implementation": "./src/executors/validate-no-skiplevel-deps/executor",
            "schema": "./src/executors/validate-no-skiplevel-deps/schema.json",
            "description": "Validate no project has redundant transitive dependencies"
        },
        "validate-packagejson": {
            "implementation": "./src/executors/validate-packagejson/executor",
            "schema": "./src/executors/validate-packagejson/schema.json",
            "description": "Validate package.json dependencies match project.json build dependencies"
        },
        "validate-code": {
            "implementation": "./src/executors/validate-code/executor",
            "schema": "./src/executors/validate-code/schema.json",
            "description": "Combined validation for new methods, modified methods, and file sizes"
        },
        "validate-return-types": {
            "implementation": "./src/executors/validate-return-types/executor",
            "schema": "./src/executors/validate-return-types/schema.json",
            "description": "Validate methods have explicit return type annotations"
        },
        "validate-no-inline-types": {
            "implementation": "./src/executors/validate-no-inline-types/executor",
            "schema": "./src/executors/validate-no-inline-types/schema.json",
            "description": "Validate no inline type literals are used - prefer named types"
        },
        "validate-no-any-unknown": {
            "implementation": "./src/executors/validate-no-any-unknown/executor",
            "schema": "./src/executors/validate-no-any-unknown/schema.json",
            "description": "Validate no any/unknown keywords are used - use specific types instead"
        },
        "validate-no-implicit-any": {
            "implementation": "./src/executors/validate-no-implicit-any/executor",
            "schema": "./src/executors/validate-no-implicit-any/schema.json",
            "description": "Validate no implicit-any inferences on parameters, variables, or properties"
        },
        "validate-dtos": {
            "implementation": "./src/executors/validate-dtos/executor",
            "schema": "./src/executors/validate-dtos/schema.json",
            "description": "Validate DTO fields match Prisma Dbo model fields"
        },
        "validate-prisma-converters": {
            "implementation": "./src/executors/validate-prisma-converters/executor",
            "schema": "./src/executors/validate-prisma-converters/schema.json",
            "description": "Validate Prisma converter method patterns and Dto creation locations"
        },
        "validate-no-destructure": {
            "implementation": "./src/executors/validate-no-destructure/executor",
            "schema": "./src/executors/validate-no-destructure/schema.json",
            "description": "Validate no destructuring patterns are used - use explicit property access instead"
        },
        "validate-catch-error-pattern": {
            "implementation": "./src/executors/validate-catch-error-pattern/executor",
            "schema": "./src/executors/validate-catch-error-pattern/schema.json",
            "description": "Validate catch blocks follow standardized pattern: catch (err: unknown) { const error = toError(err); }"
        },
        "validate-no-unmanaged-exceptions": {
            "implementation": "./src/executors/validate-no-unmanaged-exceptions/executor",
            "schema": "./src/executors/validate-no-unmanaged-exceptions/schema.json",
            "description": "Validate try/catch blocks are not used outside chokepoints"
        },
        "validate-no-direct-api-resolver": {
            "implementation": "./src/executors/validate-no-direct-api-resolver/executor",
            "schema": "./src/executors/validate-no-direct-api-resolver/schema.json",
            "description": "Validate resolvers use services (not APIs) and components subscribe to observables (not route.snapshot.data)"
        },
        "validate-ts-in-src": {
            "implementation": "./src/executors/validate-ts-in-src/executor",
            "schema": "./src/executors/validate-ts-in-src/schema.json",
            "description": "Validate all .ts files in projects are inside the src/ directory"
        }
    }
}
