typefirst
Typefirst is a software development approach that treats type information and data contracts as primary artifacts in the design process. In typefirst practice, developers define explicit types, schemas, and interfaces before implementing behavior, using these contracts to drive API design, data validation, and code generation. The goal is to reduce ambiguity and enable tooling such as type checkers, validators, and client libraries to verify correctness early.
Key principles include starting with schemas or interface definitions (for example OpenAPI schemas or GraphQL types),
Applications and examples: In API design, teams draft JSON schemas or OpenAPI contracts before implementing endpoints.
Origin and reception: The term "typefirst" is informal and not standardized; it arises from broader trends toward
See also: Type-driven development, API-first design, Contract-first design, OpenAPI, GraphQL, Protocol Buffers.