TinkerType is a pragmatic framework for compact and modular description of formal systems
(type systems, operational semantics, logics, etc.). A family of related systems is broken down
into a set of clauses – individual inference rules – and a set of features controlling the inclusion
of clauses in particular systems. Simple static checks are used to help maintain consistency
of the generated systems. We present TinkerType and its implementation and describe
its application to two substantial repositories of typed lambda-calculi. The first repository
covers a broad range of typing features, including subtyping, polymorphism, type operators
and kinding, computational effects, and dependent types. It describes both declarative and
algorithmic aspects of the systems, and can be used with our tool, the TinkerType Assembler, to
generate calculi either in the form of typeset collections of inference rules or as executable ML
typecheckers. The second repository addresses a smaller collection of systems, and provides
modularized proofs of basic safety properties.