requireDescription
| Property | Value |
|---|---|
| Config name | requireDescription |
| Default severity | — |
| Context | Document + Schema |
| In recommended | No |
What it checks
Section titled “What it checks”Require descriptions on type definitions.
Examples
Section titled “Examples”# ❌ Bad — type without descriptiontype User { id: ID!}# ✅ Good — type with description"Represents a registered user"type User { id: ID!}Options
Section titled “Options”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.
| Option | Type | Default | Description |
|---|---|---|---|
types | bool | true | Require descriptions on type definitions: ObjectTypeDefinition, InterfaceTypeDefinition, EnumTypeDefinition, ScalarTypeDefinition, InputObjectTypeDefinition, UnionTypeDefinition. |
rootField | bool | true | Require descriptions on fields defined directly on root types (Query, Mutation, Subscription). |
FieldDefinition | bool | true | Require descriptions on all field definitions. |
InputValueDefinition | bool | true | Require descriptions on input fields and arguments. |
EnumValueDefinition | bool | true | Require descriptions on enum values. |
DirectiveDefinition | bool | true | Require descriptions on directive definitions. |
OperationDefinition | bool | true | Require descriptions (via # comment) on operation definitions. |
Configuration
Section titled “Configuration”extensions: graphql-analyzer: lint: rules: requireDescription: warn
# Enable only specific kinds requireDescription: - warn - types: true FieldDefinition: true EnumValueDefinition: false OperationDefinition: false