Skip to content

requireDescription

PropertyValue
Config namerequireDescription
Default severity
ContextDocument + Schema
In recommendedNo

Require descriptions on type definitions.

# ❌ Bad — type without description
type User {
id: ID!
}
# ✅ Good — type with description
"Represents a registered user"
type User {
id: ID!
}

Each option is a boolean that opts a specific AST kind into the description requirement. All options default to true when no options object is provided.

OptionTypeDefaultDescription
typesbooltrueRequire descriptions on type definitions: ObjectTypeDefinition, InterfaceTypeDefinition, EnumTypeDefinition, ScalarTypeDefinition, InputObjectTypeDefinition, UnionTypeDefinition.
rootFieldbooltrueRequire descriptions on fields defined directly on root types (Query, Mutation, Subscription).
FieldDefinitionbooltrueRequire descriptions on all field definitions.
InputValueDefinitionbooltrueRequire descriptions on input fields and arguments.
EnumValueDefinitionbooltrueRequire descriptions on enum values.
DirectiveDefinitionbooltrueRequire descriptions on directive definitions.
OperationDefinitionbooltrueRequire descriptions (via # comment) on operation definitions.
extensions:
graphql-analyzer:
lint:
rules:
requireDescription: warn
# Enable only specific kinds
requireDescription:
- warn
- types: true
FieldDefinition: true
EnumValueDefinition: false
OperationDefinition: false