I already use ajv to do runtime validation but just learned from @arrowoodtech about https://github.com/sinclairzx81/typebox which simplifies creating the #TypeScript types for the consuming code after validation passes. #NodeCongress