Set up an improved build system and properly lint code.