> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Ortam ve yapılandırma

Tüm çalışma alanı için tek doğrulanmış şema.

## Bir konfigürasyon değişikliği yapın ve kontrol edin

Çalışan bir Web uygulamasıyla başlayın. Düzenleyicide apps/web/.env.local'yi açın; yoksa Web eğitimini kullanarak .env.example dosyasını buraya kopyalayın. Zararsız bir ilk kontrol için EMAIL_PROVIDER=local'yi bulun ve yerel bırakın. Bu ayar, ürün e-postasını gerçek bir gelen kutusu yerine yerel önizlemeye gönderir. KEY=value hatlarını terminale yapıştırmayın.

Etkinleştirdiğiniz her hizmet için, o sağlayıcının kurulum kılavuzunu izleyin, yalnızca adı geçen değerleri değiştirin, dosyayı kaydedin, Web sunucusunu Ctrl + C ile durdurun ve aşağıdaki komutla yeniden başlatın. Doğrulamada eksik bir anahtar belirtilirse bu dosyayı yeniden açın ve bu anahtarı sağlayıcı kılavuzuyla karşılaştırın. Root .env dosyasını yalnızca veritabanı geçişleri tarafından kullanılan değerler için senkronize tutun; tek başına kopyalamak Next.js'yi yapılandırmaz.

[Bir yapılandırma anahtarı arayın](https://supastack.dev/tr/docs/web/project-structure.md)

[Bir komutu nasıl çalıştıracağınızı ve bir dosyayı nasıl düzenleyeceğinizi öğrenin](https://supastack.dev/tr/docs/web/terminal-basics.md)

```
corepack pnpm --filter @supastack/web dev
```


## Ortam örneğiyle başlayın

Kök .env.example yapılandırma envanteridir. Paylaşılan doğrulama packages/config'de yaşar. Seçilen uygulama ortamını ve sağlayıcı modlarını birlikte gözden geçirin; yerel bir arayüz, üretim kimlik bilgisi stratejisi değildir.

Kimlik bilgisi gerektirmeyen referans modu, yerel/test uygulama yapılandırması ve sahte/yerel sağlayıcılar gerektirir. Bir üretim sağlayıcısı seçmek çalışma zamanı gereksinimlerini değiştirir.


## Gizli anahtarları API'nin arkasında tutun

Kimlik doğrulama sırları, veritabanı kimlik bilgileri, sağlayıcı anahtarları, Stripe sırları ve Trigger kimlik bilgileri yalnızca sunucudadır. Onlara asla NEXT_PUBLIC_ ya da EXPO_PUBLIC_ öneki eklemeyin. Kurulum sırasında yazdırmayın ya da hata yanıtlarına dahil etmeyin.

Tarayıcı, herkese açık yapılandırmayı ve izin verilen model takma adlarını alır. Çalışma alanı sahipliği, yetkilendirme kararları, bütçeler ve sağlayıcı seçimi sunucuda uygulanır.


## Değişikliği kullanmadan önce kontrol edin

Yapılandırmayı mevcut config paketi üzerinden doğrulayın ve ilgili deterministik testleri çalıştırın. Gerçek entegrasyonları doğrulamaya hazır olduğunuzda ayrıca etkinleştirilen sağlayıcı smoke yolunu kullanın.

```
corepack pnpm test
corepack pnpm check
corepack pnpm build
```


## Kurulum ve yapılandırma

packages/config, process.env'i ayrıştıran tek yerdir: zod şeması tipli ServerConfig ve PublicConfig üretir ve sağlayıcı seçimi türler olarak ifade edilir — providers.ai, providers.billing, providers.email, providers.jobs, providers.storage her biri adlandırılmış bağdaştırıcı ve gerekli alanlarına çözülür.

Sağlayıcıyı etkinleştirmek kimlik bilgilerini zorunlu kılar: sosyal girişi, s3 depolama türünü ya da resend e-posta türünü açmak, eksik değişkeni adıyla belirterek başlangıcı başarısız kılar; sonra çalışma zamanı sürprizi yaşatmaz.

```
STORAGE_PROVIDER=s3
STORAGE_BUCKET=kit
STORAGE_ENDPOINT=https://s3.example
STORAGE_PUBLIC_BASE_URL=https://cdn.example
# → config rejects the env if a required field is missing
```


## Uygulama iş akışı

Yapılandırmayı sunucu sınırında parseServerConfig üzerinden okuyun ve tipli değeri içeri geçirin — özellik kodu içinde process.env'e dokunmayın. Herkese açık yapılandırma, istemciye serileştirmesi güvenli, bilinçli olarak küçük ayrı bir nesnedir.

Ürüne özgü ortam, tüketen ürünün kendi şemasına aittir. Kit şemasını tek ürünün ihtiyaçları için büyütmeye direnin.


## Doğrulama ve sorun giderme

Şemayı değiştirdikten sonra config paketi testlerini çalıştırın ve eksik zorunlu değişkenin hata içinde kendini adlandırdığını kontrol edin. Yerelde ayrışan ama üretimde ayrışmayan ortam genellikle belgelenmemiş zorunlu alan demektir.


## Sonraki

[i18n modülü](https://supastack.dev/tr/docs/modules/i18n.md)
