---
title: What does assemble do?
---

**What can I do with {%= name %}?**

* **init complete projects**: automate the creation of entire projects using answers to prompts, stored defaults and environmental variables to determine directory structure, files and contents.
* **generate a single file**: generate a single file, or pick the files you want to generate.
* Rapidly create a new project
* Generate a single file from a template
* Create new sections of a project, like a new controller with unit tests
* Create modules or packages
* Bootstrapping new services
* Enforcing standards, best practices and style guides
* Promote new projects by letting users get started with a sample app
