# Create Application via CLI

In the ACC, applications are not standalone entities that can be launched independently. Instead, they must be associated with a specific project using `ProjectApp`. Whether an application is created by the user or another party, it can be added into a project.

In addition to the instructions provided for using the Akinon CLI, you can also explore the comprehensive guide available on the [My Applications](https://app.gitbook.com/s/IbwGN7KwvYi0iLbjtnXz/acc/how-to-create-manage-build-and-deploy-applications-in-acc) tutorial page to understand how applications are created on the ACC screens.

## <mark style="color:red;">Creating an Application</mark>

* `akinoncli projectapp add {project_id} {app_id}`

Adds the application with the provided ID to the project with the provided ID and creates `ProjectApp`.

| Parameter   | Description    | Mandatory |
| ----------- | -------------- | --------- |
| project\_id | Project ID     | Yes       |
| app\_id     | Application ID | Yes       |

***

* `akinoncli projectapp list {project_id}`

It lists applications linked to the project. If the application is issued, then there will be a link in the `URL` field.

| Parameter   | Description | Mandatory |
| ----------- | ----------- | --------- |
| project\_id | Project ID  | Yes       |

### Environment Parameters

It is possible to launch applications in different projects with different settings. These data can be accessed in the`ENV Variables` column in the application list. For instance, default language setting can be different for the same application in different projects.

***

* `akinoncli projectapp add-env {project_id} {app_id} {ENV_KEY} {ENV_VALUE}`

Adds environment parameter to the application.

| Parameter   | Description                     | Mandatory |
| ----------- | ------------------------------- | --------- |
| project\_id | Project ID                      | Yes       |
| app\_id     | Application ID                  | Yes       |
| ENV\_KEY    | Key for the relevant parameter  | Yes       |
| ENV\_VALUE  | Value of the relevant parameter | Yes       |

It can be updated by launching the same command.

**Example**

```
$ akinoncli projectapp add-env 1 32 DEFAULT_LANG TR_TR`
```

***

* `akinoncli projectapp remove-env {project_id} {app_id} {ENV_KEY}`

Removes environment parameter from the application.

| Parameter   | Description                    | Mandatory |
| ----------- | ------------------------------ | --------- |
| project\_id | Project ID                     | Yes       |
| app\_id     | Application ID                 | Yes       |
| ENV\_KEY    | Key for the relevant parameter | Yes       |

## <mark style="color:red;">Issuing an Application</mark>

In order for an application to be issued, the version to be issued needs to be compiled. This process is explained in the Applications chapter.

***

* `akinoncli projectapp deploy {project_id} {app_id} {tag}`

It issues the related version for the linked project application. This process might take a while. You can view issue status by listing the issues of the application.

| Parameter   | Description    | Mandatory |
| ----------- | -------------- | --------- |
| project\_id | Project ID     | Yes       |
| app\_id     | Application ID | Yes       |
| tag         | Version Label  | Yes       |

***

* `akinoncli projectapp deployments {project_id} {app_id}`

It lists issues so far of the application in question. You can get information on the relevant issue in the `status` column.

| Parameter   | Description    | Mandatory |
| ----------- | -------------- | --------- |
| project\_id | Project ID     | Yes       |
| app\_id     | Application ID | Yes       |
