centralize build logic
fix lint setup