# CLI referansı

> @primdb/cli’yi kur, kimlik doğrula ve projeleri, deployları, veriyi, env’i, logları ve notları terminalden sür.

`primdb` CLI, projeleri, deployları, ortam değişkenlerini, logları, veri servislerini ve geri bildirim notlarını yönetmek için birincil geliştirici arayüzüdür. Hedef makinede çalışma zamanı bağımlılığı olmayan, tek bir Bun-derlemeli ikili dosyadır.

## Kurulum

```bash
npm install -g @primdb/cli
# or
bun install -g @primdb/cli
```

Yapılandırma ve kimlik bilgileri `~/.primdb/` altında yaşar (token makineye özel bir anahtarla beklemede şifreli, dosyalar `chmod 600`, asla buluta senkronlanmaz).

## Auth

```bash
primdb login                 # interactive browser login
primdb login --token primdb_...  # non-interactive (CI/CD)
primdb logout                # delete stored credentials
primdb whoami                # print the authenticated user
```

## Projeler

Her komut etkin projeyi şu sırayla çözer: `--project` bayrağı, sonra geçerli dizindeki `.primdb.json`, sonra `~/.primdb/config.json` içindeki `defaultProject`.

```bash
primdb init                  # create a new project + write .primdb.json
primdb link                  # link an existing project (picker)
primdb link --project <id|slug>  # link non-interactively
```

## Komut grupları

| Grup | Ne yapar |
| --- | --- |
| `deploy` / `deployments` / `promote` / `rollback` | Buildleri tetikle, deployları listele, önizlemeleri onayla, geri al. [Deploy](https://primdb.com/tr/docs/deploy) bölümüne bak. |
| `dev` | Geri bildirim katmanı enjekte edilmiş şekilde yerel bir porta açık bir tünel aç. [Önizleme geri bildirimi](https://primdb.com/tr/docs/preview-feedback) bölümüne bak. |
| `env` | Ortam değişkenlerini ayarla, listele, kaldır, çek ve it. |
| `logs` | Üretim ya da deploy başına logları akıt (SSE) ya da son N satırı yazdır. |
| `db` / `redis` / `storage` | Postgres, Redis ve nesne depolama ile çalış. [Veri](https://primdb.com/tr/docs/data) bölümüne bak. |
| `notes` | Geri bildirim notlarını listele, çöz ve dışa aktar. [Önizleme geri bildirimi](https://primdb.com/tr/docs/preview-feedback) bölümüne bak. |
| `domains` | Özel alan adları ekle, doğrula ve kaldır (DNS doğrulandığında Let’s Encrypt ile TLS). |
| `users` | Deploy ettiğin uygulamanın son kullanıcılarını yönet. [Auth](https://primdb.com/tr/docs/auth) bölümüne bak. |

## Ortam değişkenleri

```bash
primdb env set KEY=VALUE            # set a variable
primdb env set KEY=VALUE --secret   # mark as secret (masked in dashboard + logs)
primdb env list                     # list all vars (values masked)
primdb env list --reveal            # list with values visible
primdb env rm KEY                   # delete a variable
primdb env pull                     # download all vars to .env.local
primdb env push                     # upload vars from .env.local
```

## Global bayraklar

| Bayrak | Kısa | Açıklama |
| --- | --- | --- |
| `--project <id|slug>` | `-p` | Projeyi geçersiz kıl (varsayılan: `.primdb.json`’dan) |
| `--token <token>` |  | Auth token’ını geçersiz kıl (varsayılan: `~/.primdb/credentials.json`’dan) |
| `--json` |  | Biçimli metin yerine ham JSON çıkışı (betikleme/CI için) |
| `--no-color` |  | ANSI renk kodlarını kapat |
| `--debug` |  | Ayrıntılı loglama (istekler, yanıtlar, zamanlama) |

## Çıkış kodları

| Kod | Anlam |
| --- | --- |
| `0` | Başarılı |
| `1` | Genel hata (build başarısız, kaynak bulunamadı vb.) |
| `2` | Auth hatası (giriş yapılmadı, token süresi doldu ya da iptal edildi) |
| `3` | Ağ hatası (röleye ulaşılamıyor, zaman aşımı) |
| `4` | Doğrulama hatası (kötü argümanlar, eksik zorunlu bayraklar) |

## CI/CD

Bir depo gizli anahtarıyla etkileşimsiz kimlik doğrula, sonra deploy et ve bekle. Çıkış kodu build sonucunu yansıtır.

```yaml
- name: Deploy to PrimDB
  env:
    PRIMDB_TOKEN: ${{ secrets.PRIMDB_TOKEN }}
  run: |
    primdb login --token $PRIMDB_TOKEN
    primdb deploy --wait
```

---

Source: https://primdb.com/tr/docs/cli
