> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sertifikasitrainer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Docs Mintlify (publik)

> Deploy docs ke docs.sertifikasitrainer.com dan hilangkan halaman login.

Dokumentasi di-host di **Mintlify** (bukan Cloudflare Workers). Domain: [docs.sertifikasitrainer.com](https://docs.sertifikasitrainer.com).

Source code: folder `apps/docs` di monorepo. Konfigurasi utama: `docs.json`.

## Preview lokal

```bash theme={null}
bun run dev:docs
# atau: cd apps/docs && bun run dev
```

Buka [http://localhost:3333](http://localhost:3333) — lokal **tidak** pakai login (hanya production di dashboard Mintlify).

## Deploy ke Mintlify

1. Login [Mintlify Dashboard](https://dashboard.mintlify.com)
2. Hubungkan repo GitHub → path docs: **`apps/docs`**
3. Set custom domain: `docs.sertifikasitrainer.com` (DNS di Cloudflare mengarah ke Mintlify)
4. Setiap push ke `main` (yang mengubah `apps/docs`) → auto-redeploy

## Docs minta login — cara buka publik

Kalau buka `docs.sertifikasitrainer.com` di-redirect ke `/login`, penyebabnya **bukan** file di repo — melainkan pengaturan **Authentication** di dashboard Mintlify.

Situs saat ini memakai mode **Private** (Mintlify Auth / password / OAuth). Visitor wajib login dulu.

### Opsi A — Semua halaman publik (disarankan)

Untuk docs onboarding yang boleh dibaca siapa saja:

<Steps>
  <Step title="Buka Authentication">
    [dashboard.mintlify.com](https://dashboard.mintlify.com) → pilih deployment docs → **Authentication**\
    Atau langsung: [app.mintlify.com/products/authentication](https://app.mintlify.com/products/authentication)
  </Step>

  <Step title="Ubah site visibility">
    Di bagian **Authentication method**, ubah **Site visibility** dari **Private** menjadi **Public**.
  </Step>

  <Step title="Nonaktifkan metode login">
    Hapus / matikan:

    * **Authenticated** (Mintlify Auth — login akun org Mintlify)
    * **Password**
    * **Custom** (OAuth / JWT)
  </Step>

  <Step title="Save & tunggu redeploy">
    Klik **Save changes**. Tunggu deploy selesai (\~1–2 menit).
  </Step>

  <Step title="Verifikasi">
    ```bash theme={null}
    curl -sI https://docs.sertifikasitrainer.com | head -3
    ```

    Harus **tidak** redirect ke `/login`. Buka homepage di browser incognito — langsung tampil tanpa login.
  </Step>
</Steps>

<Warning>
  Pengaturan ini hanya bisa diubah di **Mintlify Dashboard**, tidak lewat `docs.json` atau GitHub Actions.
</Warning>

### Opsi B — Sebagian publik, sebagian private

Kalau tetap mau auth untuk halaman internal saja:

1. Biarkan site **Private** + metode auth aktif
2. Tandai halaman/grup yang boleh dibaca tanpa login di `docs.json`:

```json theme={null}
{
  "navigation": {
    "groups": [
      {
        "group": "Mulai",
        "public": true,
        "pages": ["introduction", "quickstart"]
      }
    ]
  }
}
```

Atau per halaman di frontmatter MDX:

```mdx theme={null}
---
title: "Quickstart"
public: true
---
```

Halaman tanpa `public: true` tetap butuh login.

## Cek cepat: login dari mana?

| Gejala                                           | Penyebab                                  |
| ------------------------------------------------ | ----------------------------------------- |
| URL `/login?redirect=...`                        | Mintlify Authentication (Private)         |
| Form password Mintlify                           | Password auth di dashboard                |
| Redirect ke `app.mintlify.com/api/end-user-auth` | Mintlify Auth (harus anggota org)         |
| Cloudflare Access / Zero Trust                   | Bukan Mintlify — cek Cloudflare dashboard |

## Validasi sebelum push

```bash theme={null}
cd apps/docs
bun run validate
bun run broken-links
```

Atau dari root: `bun run docs:validate`
