#3 Add CI and coverage configuration