---
url: https://docs.sunlicense.com/cli/guide.md
description: >-
  A short interactive tour in your terminal on your own product and a test
  license of its own - issue, check, suspend, reinstate, machines, dashboard.
---

# The tour: `sunlicense guide`

After [`sunlicense init`](/cli/init), learn the everyday things by doing them, for real, on your own
product:

```bash
sunlicense guide
```

| Step | What it runs |
|---|---|
| 1. Issue a license key | `sunlicense licenses issue` to `tour@example.com` (the tour's own license, labelled as such) |
| 2. Check it the way your app does | `sunlicense validate`: VALID, and this computer is activated |
| 3. Suspend it | `sunlicense licenses suspend` |
| 4. Watch your app get refused | `sunlicense validate` again: SUSPENDED |
| 5. Reinstate it | `sunlicense licenses reinstate` |
| 6. See its machines and checks | `sunlicense licenses show` |
| 7. Free a machine | `sunlicense deactivate` frees this computer's slot |
| 8. Revoke | Explained only: revoking is permanent, so the tour never does it |
| 9. Open the dashboard | `sunlicense open` (the claim page, for a guest account) |
| 10. Keep your account | `sunlicense claim` (guest accounts only) |
| 11. Where next | Docs, templates and the Discord server |

Each step says what it's for in one sentence and shows the exact command, how to ask your AI assistant
for the same thing over [MCP](/cli/mcp), and its dashboard page.

| Key | Does |
|---|---|
| `enter` | Run the step (then `enter` again goes on) |
| `r` | Run it again |
| `n` / `p` (or `→` `←`, `↑` `↓`) | Next / previous step, without running |
| `c` | Copy the command (with the full key) |
| `o` | Open the step's dashboard page |
| `q` | Quit; your place is saved, `sunlicense guide` carries on |

The tour only ever touches its own license, never your customers'. It uses the API key `sunlicense init`
wrote to the project's `.env` (or `SUNLICENSE_API_KEY`); without one it creates a key named
`sunlicense guide`. `--product "Acme Editor"` tours another product, and `--restart` starts again.

Without a terminal (CI, an AI agent's shell) or with `--plain`, it prints the same steps as text, keys
masked; `--json` prints them as a list of `{id, title, why, command, mcp, dashboard, runs, done}`.
