Rug generators create new projects from an existing source project, where the source project itself is a working project in its own right. A Rug generator has two major components: the “model” project and the modifications needed to transform the model project into a new project. The model project can be any working project you want to use to create new projects. The transformations are encoded in the Rug generator script located under the project’s .atomist directory. Using these components, a generator does the followings:

  1. Copy the content of its host project, .atomist directory (and anything listed in .atomist/ignore) excluded, into the new target directory
  2. Runs the generator’s populate function against the contents of target directory