name: starter-style-guide description: Bu template'in tasarim sistemi referansi — renk (colorScheme + AppThemeColors semantic token'lari), tipografi (textTheme slotlari, Poppins/Inter), spacing/radius/golge/sure token'lari (AppPaddings, AppRadius, AppShadows, AppDurations, AppIconSizes), paylasilan widget katalogu (AppPrimaryButton, dort-durum widget'lari, AppTextField, sheet'ler), 8 varyantli light/dark tema ve easy_localization. Kullanici UI yazarken/duzenlerken "renkleri projeye gore kullan", "bu butonu projeye gore yaz", "hangi spacing/radius", "tasarim sistemine uydur", "style guide", "tema token'lari" dediginde kullan.
Tasarim Sistemi Referansi
UI'yi bu template'in kurallariyla yazmak icin hizli bakis. Baglayici kurallar widget_and_theme.md ve design_tokens.md'de — bu skill onlarin calisma anindaki checklist'i.
Uygula, icat etme. Eksik bir token varsa cagri yerine deger yazma; token dosyasina ekle.
Ne zaman calistir
- Herhangi bir ekran/widget yazarken veya restyle ederken.
- "hangi renk/spacing/radius", "tasarim sistemine uydur".
Ne zaman calistirma
- Butun feature iskelesi (cubit+state+view) →
starter-feature. - Yazilmis kodu denetleme →
starter-review.
Renk
- Once
Theme.of(context).colorScheme.*—primary,surface,onSurface,onSurfaceVariant,error,outline... - Varyanttan bagimsiz semantic tonlar:
context.appColors.*(app_theme_colors.dart). - ❌ View icinde
Color(0x...)/Colors.<ad>. Yeni renk gerekiyorsaAppThemeColors'a ekle — hem light hem dark degeriyle. - Tema 8 varyant × light/dark uretir; sabit renk yazmak varyant sistemini kirar.
Tipografi
Theme.of(context).textTheme.*. Slot tablosu: widget_and_theme.md.- Ozellestirme
copyWithile. ❌ InlineTextStyle(fontSize: ...). - Fontlar tema uzerinden gelir (Poppins: display/headline, Inter: title/label/body).
❌ Hardcoded
fontFamily—FontFamily.*uretilmis sabitleri var.
Spacing / radius / golge / sure
| Ihtiyac | Token |
|---|---|
| Padding, bosluk | AppPaddings.* |
| Kose yaricapi | AppRadius.* |
| Golge | AppShadows.card(context) gibi tema duyarli yardimcilar |
| Animasyon suresi | AppDurations.* |
| Ikon boyutu | AppIconSizes.* |
| Responsive olcek | context.r(...) / context.rf(...), genislik esigi context.isWide |
❌ Ham EdgeInsets.all(16), SizedBox(height: 24), BorderRadius.circular(12),
Duration(milliseconds: 300).
Column/Row icinde bosluk icin spacing: parametresini kullan.
Bilesenler — once katalogu kontrol et
- Buton:
AppPrimaryButton/AppSecondaryButton/AppTextButton(haptic dahil). - Ekran durumlari:
AppLoadingView,AppErrorView,AppEmptyView,AppStateView. - Form:
AppTextField+AppValidatorhiyerarsisi. - Sheet/dialog:
context.showAppBottomSheet,context.showConfirmDialog,AppSelectSheet,AppErrorSheet. - Geri bildirim:
context.showSuccessSnack/showErrorSnack/showInfoSnack. - Kabuk:
AppScaffold,KeyboardDismisser,AppSemantics.
Katalogda varsa yeniden yazma. Yoksa: uygulama geneli mi → product/widget/,
feature'a mi ozel → feature/<ad>/widget/.
Metin
Kullaniciya gorunen her metin LocaleKeys.*.tr(); anahtar hem tr.json hem
en.json'a eklenir, sonra ./script/lang.sh.
Ceviriye girmeyen sabitler (URL, teknik string) AppString.
Yeni ekran checklist
- [ ] Renk yalnizca
colorScheme/context.appColors - [ ] Metin stili yalnizca
textTheme(+copyWith) - [ ] Padding/radius/sure/ikon token'dan
- [ ] Butonlar ve durum widget'lari katalogdan
- [ ] Tum metinler
LocaleKeys - [ ] Asset'ler
Assets.* - [ ] Light ve dark'ta okunur
- [ ]
context.isWideile genis ekran kontrolu - [ ] Dort durum ele alindi (loading/error/empty/data)
Yapma → Yap
| Yapma | Yap |
|---|---|
| Colors.blue / Color(0xFF...) | colorScheme.primary / context.appColors.* |
| TextStyle(fontSize: 24) | textTheme.headlineSmall |
| EdgeInsets.all(24) | AppPaddings.allXxl |
| SizedBox(height: 16) | Column(spacing: AppPaddings.l, ...) |
| BorderRadius.circular(12) | AppRadius.md |
| Duration(milliseconds: 300) | AppDurations.short |
| Text('Kaydet') | Text(LocaleKeys.general_save.tr()) |
| Image.asset('assets/image/x.png') | Assets.image.x.image() |
| CircularProgressIndicator() | AppLoadingView() |
Bu skill referanstir. Gercek iskele kurmak icin starter-feature.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.