generate a project with options