add use flags and generalize puppet-infra-project keyword