# Azion CLI link

:::note
No caso de um ou mais campos obrigatórios não serem informados através das flags específicas, uma mensagem interativa será exibida, solicitando essas informações.
:::

## link

O processo de vinculação adapta o projeto para que seja vinculado à Azion e possa ser implantado como uma application. Ele cria as configurações necessárias para posterior construção e implantação da aplicação no edge.

:::note 
É necessário executar o comando dentro da pasta raiz do seu projeto.
:::

### Uso

```sh
azion link
```

### Saída 

Confirme se deseja vincular o projeto à Azion:

```sh 
? Do you want to link /cli-examples/effervescent_moon to Azion? (y/N) 
```

Insira o nome desejado para sua application:

```sh
? (Hit enter to accept the suggested name in parenthesis) Your application's name:  (nimble-tyrion) 
```

Escolha o *preset*:

```sh 
? Choose a preset:  [Use arrows to move, type to filter]
> Angular
  Astro
  Docusaurus
  Eleventy
  Emscripten
  Gatsby
  Hexo
  Html
  Hugo
  Javascript
  Jekyll
  Next
  React
  Rustwasm
  Svelte
  Typescript
  Vitepress
  Vue
```

Agora a aplicação estará vinculada à Azion. Diferentes processos serão executados dependendo do preset 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 localmente em outro momento, execute 'azion deploy'. Sua aplicação não estará disponível no edge até que seja implantada.
:::

:::tip
Opcionalmente, você pode executar `npm i azion` para instalar [Azion Lib](https://www.npmjs.com/package/azion). Essas bibliotecas fornecem ferramentas para interagir com os serviços Azion e habilitam configurações personalizadas para sua application. Verifique a [referência do arquivo azion.config.js](/pt-br/documentacao/devtools/cli/configs/azion-config-js/) para mais informações. 
:::

### Flags opcionais

#### auto

A opção `--auto` opode ser especificada,mas não é obrigatória. Se for informada, todo fluxo do comando é executado sem interrupções.

#### 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.

#### mode

A opção `--mode` pode ser especificada, mas não é obrigatória. Os valores esperados são `deliver` e `compute`.

#### preset

A opção `--preset` pode ser especificada, mas não é obrigatória. Os valores esperados são:

- Angular
- Astro
- Docusaurus
- Eleventy
- Emscripten
- Gatsby
- Hexo
- Html
- Hugo
- Javascript
- Jekyll
- Next
- React
- Rustwasm
- Svelte
- Typescript
- Vitepress
- Vue

#### remote 

A opção `--remote`, seguida por um link para um repositório git, especifica o projeto a ser clonado e vinculado a uma application durante o processo.

#### package-manager

A opção `--package-manager` permite que você especifique o gerenciador de pacotes a ser usado. Exemplo: `npm`, `yarn`, `pnpm`. Se não for informado, o gerenciador de pacotes será definido automaticamente com base em `package-lock.json` ou `yarn.lock`. Se nenhum dos arquivos for encontrado, então `npm` será o padrão.

#### help

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