# Comandos init, build e deploy da Azion CLI

Veja os comandos que permitem a inicialização, a construção e a implantação de applications na plataforma da Azion.

---

## Init

O processo de inicialização oferece uma jornada interativa que possibilita: 

- Inicializar
- Construir
- Implantar 
- Rodar a application localmente.

:::note 
Quando o comando `azion` é utilizado, ele funciona como um atalho para o comando `init`, oferencendo a mesma jornada ao usuário.
:::

### Uso

```sh
  azion init
```

Ao inicializar a application, você pode aceitar o nome sugerido ou escrever um diferente:

```sh 
(Hit enter to accept the suggested name in parenthesis) Your applications name:  (resilient_zeus) 
```

Saída: 

```sh 
Getting templates available
```

Selecione o template desejado: 

```sh
  Choose a template for your project: (Use arrow keys)
❯ Angular 
  Astro 
  Hexo 
  Next 
  React 
  Vue 
  Vite 
```

Diferentes processos serão executados dependendo do template escolhido. É necessário responder as interações do processo.

Escolha se você deseja rodar o projeto localmente:

```sh
? Do you want to start a local development server? (y/N) 
```

:::note 
Se você desejar rodar o projeto localmente em outro momento, execute 'azion dev'.
:::

```sh
? Do you want to deploy your project? No
```

:::note 
Se você desejar implantar o projeto em outro momento, execute 'azion deploy'
:::

É necessário estar dentro da pasta raíz do projeto para execução correta de qualquer comando.


### Flags opcionais

#### name

A opção `--name` pode ser especificada, mas não é obrigatória. Se não for informado, o nome do seu projeto será gerado automaticamente.

#### help

A opção `--help` exibe mais informações sobre o comando `build`.

:::note 
O comando `init` possui uma jornada interativa. Ele perguntará se você deseja inicializar um servidor de desenvolvimento local e implantar o projeto.
:::

---

## build

```bash
  azion build
```

### Flags opcionais

#### help

A opção `--help` exibe mais informações sobre o comando `build`.

#### mode

A opção `--mode` pode ser especificada se for necessário mudar o modo durante o processo de construção, mas não é obrigatória. Os valores esperados são `deliver` ou `compute`.

#### preset

A opção `--preset` pode ser especificada se for necessário alterar o preset durante o processo de criação, mas não é obrigatória. Os valores esperados são:

- Html
- Javascript
- Typescript
- Angular
- Astro
- Hexo
- Next 
- React
- Vue
- static

---

## deploy 

O comando `deploy` implanta sua application na Azion Web Platform.

### Uso

```bash
  azion deploy
```

### Flags opcionais

#### path 

A opção `--path` é usada quando é necessário informar o caminho do arquivo para a aplicação estática que está sendo implantada.

#### help

A opção `--help` exibe mais informações sobre o comando `deploy`.

---

## Flags herdadas

Existem algumas opções globais que são herdadas pelos comandos `init`, `build` e `deploy`. Confira-as:

```sh
-c, --config string      Define a pasta de configuração da Azion apenas para o comando atual, sem alterar as configurações persistentes.
-d, --debug              Exibe logs em nível de depuração
-l, --log-level string   Exibe logs em nível de depuração (padrão "info")
-s, --silent             Silencia completamente os logs; geralmente usado para fins de automação
-t, --token string       Salva um personal token fornecido localmente para autorizar comandos do CLI
-y, --yes                Responde automaticamente a todas as interações sim/não com sim
```


---