# Quickstart (https://docs.vitrinka.ai/start/quickstart)



## A server to talk to [#server]

Everything below needs a deployment: a workspace on `app.vitrinka.ai`, or your own host — [installing on your own host](/operator/install) is one Compose file. The CLI and the recorders work identically against both.

## Get an account [#account]

No account yet? Sign up at [app.vitrinka.ai/auth/signup](https://app.vitrinka.ai/auth/signup) — the beta is open, the account is created on the spot, and the [login page](https://app.vitrinka.ai/auth/login) links there too. On your own host, your first sign-in creates your account, its organization and a first workspace.

## Install and set up [#install]

From the repository you are working in:

```bash
npm i -g @vitrinka/cli
vitrinka setup
```

One install for macOS, Linux and Windows. `vitrinka setup` signs this machine in through a browser approval — never a pasted secret — and keeps the write token that sign-in issues, installs the Claude Code / Codex plugin with its skills from the public `vitrinka-kit` marketplace, registers MCP (a secret-free HTTP entry that signs in with OAuth), binds this checkout to its project in a committed `vitrinka.config.json`, adds the agent hooks and, if you accept, the browser recorder extension. Flags and what is prompted for: [installing the CLI](/dev/cli/install).

## Pick a workspace [#bind]

Belong to more than one workspace? Bind this repository to the one its writes should land in:

```bash
vitrinka config bind acme --project myapp
```

The bind tells every future command — and every agent session in this repo — which workspace and project it belongs to.

## Put something on a board [#capture]

The fastest first board is an upload:

```bash
vitrinka board init                            # once per repo — names the set and prints its root
vitrinka board capture web --file shot.png --route /home --note "Home"  # adopt a screenshot into the set
vitrinka board push                            # publish the set to the server
vitrinka board create --title "First board"  # imports the set — prints the board URL
```

More files later go straight to the board: `vitrinka board upload ./next.png --board <slug>`.

Or let your agent do it: say "publish this" while it is building UI and the [capture skills](/dev/skills/overview) screenshot the work and hand back a board URL. Recording a whole manual-testing journey is the [browser recorder](/qa/extension).

## Annotate it [#annotate]

Open the board URL. Draw a region on the thing that is wrong and write one sentence. That is the entire report — the screen, the region and the branch are already attached.

## Watch it get fixed [#fix]

In the app's repository, an agent session runs `/vitrinka:listen`. Each annotation wakes it: it fixes the code, hangs the after-shot beside your region, and replies in the thread. You accept the fix on the board.

<Callout type="warn">
  The listener runs in the repo that owns the code, not wherever you happen to be — annotations become work items scoped to that project and branch.
</Callout>

## Where next [#next]

* [SaaS or self-hosted](/start/deployments) — which deployment fits.
* [QA & Testing](/qa) — recording instead of reporting.
* [Developer](/dev) — the CLI, MCP and skills in depth.
