anchor.diff:  
   [[create-instance]]
   == Creating your own instance
  -Spring Initializr is split across three main modules:
  +Spring Initializr is split across several modules:
   
   * `initializr-generator`: standalone project generation library that can be reused in
   many environments (including embedded in your own project)
  +* `initializr-generator-spring`: contributors to generate a Spring-based project. This
  +module is necessary if you want to generate the same project structure as the one
  +available on start.spring.io. Alternatively, you can roll-out your own opinions.
  +* `initializr-metadata`: Configuration model.
   * `initializr-web`: API endpoints and web interface
   * `initializr-actuator`: optional module to provide additional information and statistics
   on project generation
  
positive.code: If you click on the "Switch to the full version" link, the two drop down lists now offer
  the options and default values defined above.
  
  Spring Initializr supports `java`, `groovy` and `kotlin` and additional languages can be
  added in your own customization.
  
  The available packagings are also configurable that way:
  
  
negative.code: Each type also defines one or more *tags* that provides additional metadata entries to
  qualify the entry. The following standard tags exist:
  
  * `build`: the name of the `BuildSystem` to use (e.g. `maven`, `gradle`)
  * `format`: the format of the project (e.g. `project` for a full project, `build` for just
  a build file).
  
  