Feature/generic pre commit