---
lang: en
title: 'Application generator'
keywords: LoopBack 4.0, LoopBack 4
tags:
sidebar: lb4_sidebar
permalink: /doc/en/lb4/Application-generator.html
summary:
---

### Synopsis

Creates a new LoopBack4 application using REST API.

```
lb4 [app] [options] [<name>]
```

### Options

`--applicationName`
: Application name.

`--description`
: Description of the application.

`--outDir`
: Project root directory for the application.

`--tslint`
: Add TSLint to LoopBack4 application project.

`--prettier`
: Add Prettier to LoopBack4 application project.

`--mocha`
: Add Mocha to LoopBack4 application project.

`--loopbackBuild`
: Add @loopback/build module's script set to LoopBack4 application project.

{% include_relative includes/CLI-std-options.md %}

### Arguments

`<name>` - Optional name of the application given as an argument to the command. 
If provided, the tool will use that as the default when prompting for the name.

### Interactive Prompts

The tool will prompt you for:

- Name of the application as will be shown in `package.json`.
If the name had been supplied from the command-line, the prompt is skipped and the application is built with the name from the command-line argument.
Must follow npm naming conventions.

- Description of the application as will be shown in `package.json`.

- Name of the directory in which to create your application.
Defaults to the name of the application previously entered.

- Name of the Application class in `application.ts`.
Defaults to <code><i>name</i>Application</code>.

- Optional modules to add to the application. These modules are helpful tools to help format, test, and build a LoopBack4 application.
Defaults to `true` for all of the modules.
The prompted modules are:

  - [`tslint`](https://www.npmjs.com/package/tslint)
  - [`prettier`](https://www.npmjs.com/package/prettier)
  - [`mocha`](https://www.npmjs.com/package/mocha)
  - [`@loopback/build`](https://www.npmjs.com/package/@loopback/build)

### Output

The core scaffold of a LoopBack4 application generated by the CLI consists of the following files and directories:

```
.
├── src/
|   ├── controllers/
|   |   └── ping.controller.ts
|   ├── datasources/
|   ├── models/
|   ├── repositories/
|   ├── application.ts
|   ├── index.ts
|   └── sequence.ts
├── test/
└── package.json
```

`ping.controller.ts` is a file used to provide the application with a responsive endpoint.
It contains logic to respond with a greeting message when the appliaction receives a `GET` request from endpoint `/ping`.

`cd` to the application's newly created directory and run `npm start` to see the application running at `localhost:3000`.
Go to `localhost:3000/ping` to be greeted with a message.

Once the application has been created, additional generators such as [controller generator](Controller-generator.md) can be run from the application's root directory to further scaffold the application.
