# Quickstart

Install Doberman, wire it to your agent, and watch the first verdict.

## Install

```bash
pip install doberman-core
```

## Run the setup wizard

```bash
doberman setup
```

`doberman setup` walks you through a strength mode, guardrail tuning, and automatic hook
installation for Claude Code. It's interactive by default: it asks you to pick a strength mode
(Light, Balanced, Strict, or Paranoid), tunes the guardrail defaults to match, and wires the
hooks into your Claude Code settings. Pass `--yes` to accept the defaults with no prompts,
`--mode` to pick a mode directly, or `--global` to install the hooks for every project instead of
just this one. Basic protection works the moment the wizard finishes; there is no separate
activation step.

## Confirm it's healthy

```bash
doberman doctor
```

`doberman doctor` is read-only: it only diagnoses, it never changes state. It checks your hooks,
config, decision database, 2FA, and the fingerprint key, then prints a green or red checklist.
It exits non-zero if a critical check fails, so it's script-friendly: gate a setup script on
`doberman doctor && ...` and a broken install stops the script instead of running unprotected.

## Watch a verdict happen

```bash
doberman demo
```

`doberman demo` drives a scripted attack reel, including a secret-exfiltration attempt and a
destructive command, plus a couple of benign calls, through the real decision engine. Nothing is
ever executed against a real tool. You'll see genuine `PASS` / `AUTH` / `BLOCK` verdicts land, and
they're recorded in the decision log too. Add `--fast` to skip the pacing delay between
scenarios, or `--mode` to see how the same scripted calls play out under a stricter setting.

## Where to go next

To front an existing MCP tool server instead of Claude Code's built-in tools, run:

```bash
doberman serve -- <your tool server>
```

Add `--path` if the policy that should govern the proxy lives outside the current directory. See
[Setup](https://docs.trydoberman.dev/setup/) for the full wiring, including Claude Desktop, Cursor, and OpenClaw.

For a live view of verdicts as they land, `doberman dash` starts a localhost-only dashboard:
run it in one terminal and `doberman demo` in another to watch the attack reel fill the feed.
Before you rely on Doberman, set a possession factor with `doberman password set`, or enroll
two-factor with `doberman 2fa setup`. [Setup](https://docs.trydoberman.dev/setup/) covers both.

> **Note**
> Run `doberman uninstall --global` to remove Doberman from the whole machine instead of
> uninstalling `doberman-core` directly: it removes the writable hooks, project and device state,
> and enrolled factors before it removes the package with pip or pipx. pip alone cannot remove the
> hook entries, which leaves every tool call failing with `doberman: command not found`. Already
> hit that? Reinstall `doberman-core`, then run the global uninstall; `doberman doctor` flags any
> hook entry whose `doberman` is not on PATH.
