# Overview

Padrino provides generator support for quickly creating new Padrino
applications. This provides many benefits such as constructing the recommended
Padrino application structure, auto-generating a Gemfile listing all starting
dependencies and guidelines provided within the generated files to help orient a
new user to using Padrino.

One important feature of the generators is that they were built from the ground
up to support a wide variety of tools, libraries and gems for use within your
Padrino application.

This means that Padrino generators do **not** lock you into using any particular
database, ORM, testing framework, templating engine or JavaScript library. In
fact, when generating an application you can actually tell Padrino which
components you would like to use!

When a generator fails, for example on an unknown component or when it is run
outside a project, it exits with status 1, so scripts and CI can stop on it.

- [Projects](/guides/generators/projects "Projects")
- [Plugins](/guides/generators/plugins "Plugins")
- [Controllers](/guides/generators/controllers "Controllers")
- [Models](/guides/generators/models "Model")
- [Migrations](/guides/generators/migrations "Migrations")
- [Mailers](/guides/generators/mailers "Mailers")
- [Sub-Applications](/guides/generators/sub-applications "Sub-Applications")
- [Tiny Skeleton](/guides/generators/tiny-skeleton "Tiny Skeleton")
- [Admin](/guides/generators/admin "Admin")
- [Components](/guides/generators/components "Components")
- [Tasks](/guides/generators/tasks "Tasks")


