Is there any documentation and i see a codegen folder, does it automatically generate types? How would i use this library