Design Standards · API Governance Rules
Design Standards API Rules
Spectral linting rules defining API design standards and conventions for Design Standards.
0 Rules
Spectral Ruleset
name: Design Standards Rules
description: Rules for adopting and operating design standards across products, interfaces, and APIs.
version: 1.0.0
created: 2026-04-28
modified: 2026-04-28
rules:
- id: DS-001
name: Publish a Single Source of Truth
severity: error
description: Maintain one canonical, versioned design standards document referenced by all teams.
rationale: Multiple competing copies guarantee drift and contradicting guidance.
- id: DS-002
name: Standards Must Be Machine-Checkable
severity: warning
description: Express each standard so that a linter, schema, or test can enforce it.
rationale: Human-only review is inconsistent; automation enforces evenly across teams.
- id: DS-003
name: Use RFC 2119 Keywords
severity: warning
description: State requirements with MUST, SHOULD, MAY, and their negations from RFC 2119.
rationale: Precise requirement levels remove ambiguity from compliance reviews.
- id: DS-004
name: Define Naming Conventions
severity: error
description: Standardize casing for resources, properties, query parameters, and headers (kebab-case URLs, snake_case or camelCase fields, consistently).
rationale: Mixed casing increases cognitive load and breaks code generation.
- id: DS-005
name: Adopt ISO Date and Currency Formats
severity: error
description: Use ISO 8601 for dates and times, ISO 4217 for currency, and ISO 3166 for country codes.
rationale: International standards interoperate with libraries, locales, and partner systems.
- id: DS-006
name: Specify Authentication Standard
severity: error
description: Mandate a single authentication scheme (OAuth 2.0, OIDC, or signed JWT) for production APIs.
rationale: One scheme reduces integration cost and centralizes security review.
- id: DS-007
name: Define Error Response Shape
severity: error
description: Adopt RFC 7807 problem+json or an equivalent typed error object.
rationale: Consistent errors let consumer SDKs handle failures without per-API special cases.
- id: DS-008
name: Mandate API-First Development
severity: warning
description: Specifications (OpenAPI, AsyncAPI, JSON Schema) must exist before implementation begins.
rationale: API-first surfaces design issues cheaply and produces durable contracts.
- id: DS-009
name: Version with SemVer
severity: warning
description: Use semantic versioning for published specifications and SDKs.
rationale: SemVer signals breaking change intent in a single number.
- id: DS-010
name: Document Deprecation Policy
severity: warning
description: Reference a deprecation policy that defines notice windows, headers, and migration support.
rationale: Standards without an exit lifecycle compound technical debt.
- id: DS-011
name: Accessibility Conformance
severity: error
description: Visual and interactive standards must meet WCAG 2.1 AA at minimum.
rationale: Accessibility is a baseline product requirement, not an enhancement.
- id: DS-012
name: Style Guide Linting
severity: warning
description: Run Spectral or equivalent lint rules against every specification in CI.
rationale: Continuous linting prevents regressions and shortens review cycles.
- id: DS-013
name: Standards Governance
severity: info
description: Designate an owning body, RFC process, and review cadence for standards changes.
rationale: Without governance, standards stagnate or fragment.