# Manual quickstart

**Using Claude Code?** Start with the [Vatio plugin](https://vatio.ai/docs/integrations/claude-code)
and describe the agent you want. `vatio-init` handles the steps below for you.
This page is for working directly with the CLI.

You need **Node.js 20 or newer** and a Vatio account. The examples use `acme`
as a workspace slug; replace it with yours.

## Install the skills

From the root of your project:

```bash
npx @vatio-ai/skills
```

That copies the Vatio skills into `.agents/skills/` and `.claude/skills/`, so
the coding agent working in the project — Claude Code, Codex, Cursor or any
other — knows how to start a Vatio agent, improve it, and share a session
with the Vatio team. With them in place you can skip the rest of this page and
ask it to build one; see [Claude Code](https://vatio.ai/docs/integrations/claude-code).

## Install the CLI

```bash
npm install -g @vatio-ai/cli@latest
vatio --help
```

## Create a workspace

Run these commands in the repository where you want to keep your agent:

```bash
mkdir support-agent
cd support-agent
vatio init acme
```

`init` writes `vatio.yml` in the **current directory** and asks for no account:
you can write the whole agent without signing up for anything. If you are
already logged in, it also creates the remote workspace (or uses yours, if it
exists).

The account turns up at `vatio push`, which is the first thing that makes
something run on a server. There the CLI opens your browser on Vatio's
sign-in page for this terminal (or prints the link, on a machine without a
browser). Sign in with your email — we mail you a link that creates your
account if it did not exist — or with Google or GitHub, check that the page
shows the code your terminal printed, and confirm. That authorizes this
terminal and takes you to the inbox at `inbox.vatio.ai`, whose **Start** page
waits for the push; **Test** is where you then try it. If the wait is cut off,
run `vatio push` again: it picks up the same sign-in page instead of starting
over.

## Define the agent

Replace the starter contents of `vatio.yml` with:

```yaml
workspace: acme
agent:
  name: Acme Support
  instructions: |
    Help visitors understand Acme's warehouse robotics.
    Ask what they need help with. If you do not have the information
    to answer, say so. Never invent product details or prices.
  personality: Warm, concise, and clear.
```

`workspace` selects the remote workspace. `agent.instructions` defines what
its single agent does. The other fields in this example are optional. The
business the agent works for — its name, description and opening hours — is set
by whoever runs it on the [Business](https://vatio.ai/docs/channels/inbox#business) page of the
inbox, and the widget's look in **Channels → Web widget** in the inbox, not in
this file.

## Deploy and test

```bash
vatio push
vatio chat "What does Acme do?"
```

`push` validates your files and deploys to `preview`. Open the link it prints
after `Try it:`, the inbox's **Test** page, to chat on the web, WhatsApp or
Instagram, or continue the conversation with another `chat` command.

```bash
vatio chat "Can you tell me the price?"
vatio chat show
vatio chat --new "Hi, who am I talking to?"
```

Check that the agent answers from the supplied context and acknowledges what
it does not know. `chat show` reads the current CLI chat with every tool call; `--new` starts a
new one as a visitor the agent never met.

## Publish

When the preview is ready for customers:

```bash
vatio publish
```

Live is what answers customers through the [widget](https://vatio.ai/docs/channels/widget) on your
site, [WhatsApp](https://vatio.ai/docs/channels/whatsapp), [Instagram](https://vatio.ai/docs/channels/instagram) or the
[SDKs](https://vatio.ai/docs/sdk/). `vatio rollback` restores the previous live deployment.

Next, [add knowledge](https://vatio.ai/docs/knowledge), [connect your API](https://vatio.ai/docs/tools), or
[embed the widget](https://vatio.ai/docs/channels/widget).
