# Quickstart

Install the CLI, get an answer, and know what to do when a step does not work. Budget ten
minutes.

**If you only want to see it work, you do not need this page yet.** Go to
[saylek.com](https://saylek.com), enter your email, and open the sign-in link that comes
back. You land in a Circle seeded with our demo machines, so you can ask a question and
read a real answer with nothing installed, no hardware of your own, and no invitation.
Come back here when you want a machine of yours answering too.

Saylek pools GPUs across a Circle of people you trust. When your GPU is idle it covers your
Circle; when yours is busy, or you do not have one, your Circle covers you. No money
changes hands, and every served request leaves a signed record of where it ran.

Before you start, know one thing about the model you are joining: a request your own
machine cannot serve runs on a Circle-mate's GPU, which means your prompt is handled by
their computer. That is the trade Saylek makes. [Privacy and
egress](/docs/privacy-and-egress) explains it and how to turn it off.

## Before you begin

| You need | Detail |
|---|---|
| A supported machine | Released binaries target **Linux x86_64** and **macOS arm64** (Apple Silicon). |
| An account | Create one at [saylek.com](https://saylek.com) with your email. It opens straight away. **No invitation is needed**, here or anywhere else: an invitation grows a Circle you are already in, it is not the door. |
| Your install command | Sign in, then press **Set it up** on your home page. It hands you the command in step 1 with a download token already in it, bound to your account. |
| Outbound HTTPS | The installer fetches a signed release; the daemon reaches your Circle over HTTPS. |
| A GPU | **Only if you want to host.** Consuming from your Circle works fine with no GPU at all. |

You do **not** need Docker, a Rust or Python toolchain, or `sudo`. Everything runs from the
released binary.

## 1. Install

Paste the command your home page handed you. It has this shape, with a real token where
`<token>` sits:

```bash
curl -fsSL https://saylek.com/i/<token> | sh
```

This verifies the release signature, installs `saylek` under `~/.saylek/`, registers a
user-level service, and launches `saylek gpu wizard`.

**Prefer to read before you run?** The URL serves a plain shell script, so fetch it, read
it, then run it:

```bash
curl -fsSL https://saylek.com/i/<token> -o saylek-install.sh
less saylek-install.sh
sh saylek-install.sh
```

**You know it worked when** `saylek --version` prints a version.

## 2. Check the daemon is up

```bash
saylek status
```

**You know it worked when** status reports the daemon running. Add `--watch` to live-tail
the state while something is settling.

If it is not running, start it with `saylek start`. Note that **`saylek start` runs in the
foreground and holds the terminal** until you stop it, which surprises people who expect it
to return to the prompt. Either open a second terminal for the commands below, or background
it with `saylek start &`. On a normal install a service manager keeps the daemon up for you,
so you should rarely need to run it by hand at all.

## 3. Ask your first question

```bash
saylek call "what is a trust-pool, in one sentence?"
```

**You know it worked when** you get an answer back.

If nothing is set up to answer yet, `saylek call` says so in plain language and points at
the next step, such as `saylek start` when the daemon is down or `saylek gpu wizard` when
no model is loaded. It does not dead-end. Run it with no prompt for a built-in one-line
smoke test.

## 4. Pick where you go next

You are running. Choose by what you came for:

- **Use your Circle's capacity from an app**: [Connect your app](/docs/connect-your-app)
  for a local client, or [Use your Circle from anywhere](/docs/connect-openai) for the
  hosted endpoint.
- **Contribute your GPU**: [Hosting your GPU](/docs/hosting).
- **Bring someone in**: [Invite flow](/docs/invite-flow).
- **Understand what you joined**: [Concepts](/docs/concepts).

## If something went wrong

Common first-run stops, with the full list on [Troubleshooting](/docs/troubleshooting):

| Symptom | Likely cause | Fix |
|---|---|---|
| `model_not_found` on your first call | Daemon is up but no model is loaded yet | `saylek gpu wizard`, then `saylek model ls` |
| `saylek: command not found` after install | `~/.saylek/bin` is not on your `PATH` | Open a new shell, or add it to your shell profile |
| Calls fail with no Host available | No Host in your Circle is online right now | `saylek status`; try again when one is back |
| Everything fails after enabling local-only | Local-only means local, including when local cannot answer. It stops Saylek routing to another member; it does not override a proxy upstream you configured yourself | Unset `local_only`, or load a model you can serve |

## Uninstalling

Two different scopes, and it matters which you mean:

```bash
saylek wipe                       # remove this device's local files only
saylek settings account delete    # leave Saylek entirely (90-day soft delete)
```

`saylek wipe` says nothing about the server: your account and Circles remain. To step away
without deleting anything, `saylek settings account deactivate` is fully reversible. The
[CLI reference](/docs/cli-reference) has the whole table.

## Next steps

- [Concepts](/docs/concepts): Circle, Host, Guest, Pool, and receipts.
- [Privacy and egress](/docs/privacy-and-egress): what leaves your machine.
- [Troubleshooting](/docs/troubleshooting): when a step does not behave.
