# viv CLI — Deploy AI Skills to Vivgrid

Deploy AI skills to Vivgrid's global network with the viv CLI: commands for deploy, upload, create, status, logs, and vivgrid.yml configuration.

`viv` is the command-line interface (CLI) tool for deploying your Managed Skills on Vivgrid. It provides a convenient way to manage your deployments and skill instances globally.

## [Installation](/content/docs/viv#installation/index.html)

To install `viv`, you can use the following command:

```
curl "https://bina.egoist.dev/vivgrid/cli?file=viv&name=viv" | sh
```

## [Usage](/content/docs/viv#usage/index.html)

`viv --help` to see all sub-commands.

General Options:

- `--secret`: The application secret of your Vivgrid project.
- `--tool`: The name of your skill.
- `--api`: The URL of the Vivgrid Zipper Service endpoint, the default value is `https://hosting.vivgrid.com`.
- `--env`: The environment variables for your skill. you can pass multiple `--env` options like `viv deploy . --env OPENWEATHERMAP_API_KEY=token --env GITHUB_API_KEY=token`.

You can create a `vivgrid.yml` file in the root of your project to configure the deployment settings instead of passing the options every time.

### [viv deploy \[FILE\]...](/content/docs/viv#viv-deploy-file/index.html)

This command will deploy your skill to Vivgrid hosting.

```
viv deploy . --env KEY=VALUE
```

### [Manage skill deployment](/content/docs/viv#manage-skill-deployment/index.html)

Your skill code will be uploaded to Vivgrid and compiled by `viv upload` command, after that, you can create the deployments by `viv create` command.

#### [viv upload](/content/docs/viv#viv-upload/index.html)

This command will compile your skill after uploading to Vivgrid hosting.

```
viv upload .
```

#### [viv create](/content/docs/viv#viv-create/index.html)

This command will create the deployments.

```
viv create
```

#### [viv remove](/content/docs/viv#viv-remove/index.html)

This command will delete the deployments.

```
viv remove
```

### [Manage skill state](/content/docs/viv#manage-skill-state/index.html)

Once the deployment is created, you can manage its state. Requests will be automatically routed to the nearest region through the Vivgrid Geo-distributed Network.

#### [viv status](/content/docs/viv#viv-status/index.html)

This command will show the status of the deployments.

```
viv status
```

#### [viv help](/content/docs/viv#viv-help/index.html)

This command displays all available sub-commands and their usage.

```
viv help
```

### [Observability](/content/docs/viv#observability/index.html)

#### [viv logs](/content/docs/viv#viv-logs/index.html)

This command will show the real-time logs of skill instances across all regions.

```
viv logs
```

Terminate the logs by pressing `Ctrl + C`.

## [`vivgrid.yml` Configuration File](/content/docs/viv#vivgridyml-configuration-file/index.html)

You can create a `vivgrid.yml` file in the root of your project to configure the deployment settings.

```
zipper: zipper.vivgrid.com:9000
secret: <APP_SECRET>
tool: your_tool_name
```

- `zipper` (optional): The URL of the Vivgrid Zipper Service endpoint, the default value is `zipper.vivgrid.com:9000`.
- `secret`: The application secret of your Vivgrid project.
- `tool`: The name of your skill.

## [Set Environment Variables](/content/docs/viv#set-environment-variables/index.html)

You can set environment variables for your skill by passing the `--env` option.

```
viv deploy . --env KEY1=VALUE1 --env KEY2=VALUE2
```

[Observability\
\
Vivgrid's observability features provide deep insights into AI agent performance, enabling developers to monitor, analyze, and optimize their agents effectively.](/content/docs/observability/index.html)
