DocuCommit

Changes

Comparing empty160dc49.

@@ -1,0 +1,63 @@
1+---
2+title: Installation
3+sort: 1
4+---
5+
6+# Installation
7+
8+## Get the CLI
9+
10+The CLI is a single Go binary, signed and notarised on macOS, signed via Authenticode on Windows.
11+
12+```bash
13+# macOS — Homebrew
14+brew install zephyrcart/tap/zephyr
15+
16+# Linux — apt
17+curl -fsSL https://pkg.zephyrcart.io/apt/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/zephyr.gpg
18+echo "deb [signed-by=/usr/share/keyrings/zephyr.gpg] https://pkg.zephyrcart.io/apt stable main" \
19+ | sudo tee /etc/apt/sources.list.d/zephyr.list
20+sudo apt update && sudo apt install -y zephyr-cli
21+
22+# Windows — Scoop
23+scoop bucket add zephyr https://github.com/zephyrcart/scoop-bucket
24+scoop install zephyr
25+```
26+
27+Confirm:
28+
29+```bash
30+zephyr --version
31+# zephyr 1.18.3 (build 7c2a91f, 2026-05-19)
32+```
33+
34+## Authenticate
35+
36+```bash
37+zephyr login
38+```
39+
40+The CLI opens your browser, you sign into the dashboard, and the OAuth dance writes a token to
41+`~/.config/zephyr/credentials.toml`. The token is scoped to a single tenant and a single role.
42+
43+For CI use a project-level API key instead — see [API keys](../api-reference/index.md#api-keys).
44+
45+## Pick a region
46+
47+ZephyrCart runs in four regions. Pick the closest to your customers; latency from anywhere else is
48+the latency budget you spend forever.
49+
50+| Region key | Location | Status |
51+|------------------|--------------------|--------|
52+| `eu-frankfurt` | Frankfurt, Germany | GA |
53+| `eu-dublin` | Dublin, Ireland | GA |
54+| `us-east` | Virginia, USA | GA |
55+| `ap-singapore` | Singapore | GA |
56+
57+Set the default:
58+
59+```bash
60+zephyr config set region eu-frankfurt
61+```
62+
63+Now jump to [Creating your first product](first-product.md).