Help us shape the future of Go! Take the 2026 Go Developer Survey

rules

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NoAnonymousObjects

type NoAnonymousObjects struct{}

NoAnonymousObjects validates that standalone schemas do not contain anonymous inline object definitions. All objects within properties must use $ref to reference a named schema rather than defining type: object with inline properties.

func (*NoAnonymousObjects) Name

func (r *NoAnonymousObjects) Name() string

func (*NoAnonymousObjects) VisitSchema

func (r *NoAnonymousObjects) VisitSchema(filePath string, schema *linter.SchemaDocument) []linter.Violation

type OperationIDNamingConvention

type OperationIDNamingConvention struct{}

OperationIDNamingConvention validates that all operationId values follow camelCase convention (e.g., createEndpoint) and that every operation has an operationId defined.

func (*OperationIDNamingConvention) Name

func (*OperationIDNamingConvention) VisitOperation

func (r *OperationIDNamingConvention) VisitOperation(path string, method string, op *v3high.Operation) []linter.Violation

func (*OperationIDNamingConvention) VisitPath

func (r *OperationIDNamingConvention) VisitPath(_ string, _ *v3high.PathItem) []linter.Violation

func (*OperationIDNamingConvention) VisitSchema

func (r *OperationIDNamingConvention) VisitSchema(_ string, _ *base.Schema) []linter.Violation

type PathNamingConvention

type PathNamingConvention struct{}

PathNamingConvention validates that all API path segments (excluding path parameters and well-known standard segments) use kebab-case.

func (*PathNamingConvention) Name

func (r *PathNamingConvention) Name() string

func (*PathNamingConvention) VisitOperation

func (r *PathNamingConvention) VisitOperation(_ string, _ string, _ *v3high.Operation) []linter.Violation

func (*PathNamingConvention) VisitPath

func (r *PathNamingConvention) VisitPath(path string, _ *v3high.PathItem) []linter.Violation

func (*PathNamingConvention) VisitSchema

func (r *PathNamingConvention) VisitSchema(_ string, _ *base.Schema) []linter.Violation

type PropertyCamelCase

type PropertyCamelCase struct{}

PropertyCamelCase validates that all property names within standalone schemas use camelCase. Properties prefixed with x- (OpenAPI extensions) are excluded.

func (*PropertyCamelCase) Name

func (r *PropertyCamelCase) Name() string

func (*PropertyCamelCase) VisitSchema

func (r *PropertyCamelCase) VisitSchema(filePath string, schema *linter.SchemaDocument) []linter.Violation

type RequestResponseRequiresExample

type RequestResponseRequiresExample struct{}

RequestResponseRequiresExample validates that every request body and response media type includes an example or examples field.

func (*RequestResponseRequiresExample) Name

func (*RequestResponseRequiresExample) VisitOperation

func (r *RequestResponseRequiresExample) VisitOperation(path string, method string, op *v3high.Operation) []linter.Violation

func (*RequestResponseRequiresExample) VisitPath

func (r *RequestResponseRequiresExample) VisitPath(_ string, _ *v3high.PathItem) []linter.Violation

func (*RequestResponseRequiresExample) VisitSchema

func (r *RequestResponseRequiresExample) VisitSchema(_ string, _ *base.Schema) []linter.Violation

type SchemaNamingConvention

type SchemaNamingConvention struct{}

SchemaNamingConvention validates that all schema component names follow PascalCase.

func (*SchemaNamingConvention) Name

func (r *SchemaNamingConvention) Name() string

func (*SchemaNamingConvention) VisitOperation

func (r *SchemaNamingConvention) VisitOperation(_ string, _ string, _ *v3high.Operation) []linter.Violation

func (*SchemaNamingConvention) VisitPath

func (r *SchemaNamingConvention) VisitPath(_ string, _ *v3high.PathItem) []linter.Violation

func (*SchemaNamingConvention) VisitSchema

func (r *SchemaNamingConvention) VisitSchema(schemaName string, _ *base.Schema) []linter.Violation

type SchemaPropertyCamelCase

type SchemaPropertyCamelCase struct{}

SchemaPropertyCamelCase validates that all property names within schema components use camelCase. Properties defined by external standards (e.g., OAuth RFC fields) and OpenAPI extension properties (x-*) are excluded.

func (*SchemaPropertyCamelCase) Name

func (r *SchemaPropertyCamelCase) Name() string

func (*SchemaPropertyCamelCase) VisitOperation

func (r *SchemaPropertyCamelCase) VisitOperation(_ string, _ string, _ *v3high.Operation) []linter.Violation

func (*SchemaPropertyCamelCase) VisitPath

func (r *SchemaPropertyCamelCase) VisitPath(_ string, _ *v3high.PathItem) []linter.Violation

func (*SchemaPropertyCamelCase) VisitSchema

func (r *SchemaPropertyCamelCase) VisitSchema(schemaName string, schema *base.Schema) []linter.Violation

type SchemaRequiresDescription

type SchemaRequiresDescription struct{}

SchemaRequiresDescription validates that every schema component has a non-empty description field.

func (*SchemaRequiresDescription) Name

func (*SchemaRequiresDescription) VisitOperation

func (r *SchemaRequiresDescription) VisitOperation(_ string, _ string, _ *v3high.Operation) []linter.Violation

func (*SchemaRequiresDescription) VisitPath

func (r *SchemaRequiresDescription) VisitPath(_ string, _ *v3high.PathItem) []linter.Violation

func (*SchemaRequiresDescription) VisitSchema

func (r *SchemaRequiresDescription) VisitSchema(schemaName string, schema *base.Schema) []linter.Violation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL