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