Davet et, 1 ay ücretsiz Pro kazanNasıl çalışır?

Codex ile Flutter Geliştirme: Kapsamlı Pratik Rehber

Codex’i Flutter projenizde etkili kullanın: AGENTS.md kurulumu, widget ve state yönetimi görevleri, test doğrulama, sık hatalar ve pratik komutlar.

Solviera Teknoloji 5 dk okuma

Ajanı proje klasöründe codex komutuyla başlatın; Flutter işlerinde en iyi sonuç, ajanı doğrudan widget ağacı, test komutları ve state yönetimi kurallarıyla beslediğinizde gelir. Codex, AGENTS.md dosyanızı okuyup flutter analyze ve flutter test çıktılarına göre ilerler. Bu rehber, günlük Flutter geliştirme döngüsüne Codex’i sokan pratik bir çalışma düzeni sunar.

Neden Codex Flutter işine uygundur

Codex, yalnızca kod parçası üretmez; proje klasöründeki pubspec.yaml, lib/ ve test/ yapısını okuyarak karar verir. Komut satırından flutter analyze, flutter test ve gerekirse dart format çalıştırabilir. Flutter’ın hızlı hata geri bildirimi sayesinde ajan, hatalı widget veya eksik import’u kendi denemesiyle düzeltebilir. Ayrıca Provider, Riverpod veya Bloc gibi desenleri bilir; siz AGENTS.md içinde hangisini kullandığınızı ve dosyalama kuralını net belirtirseniz, tutarlı kod üretme olasılığı artar.

Flutter projelerinde hatalar hızlı görünür; flutter analyze statik kontrolü, flutter test ise widget ağacını gerçek bir test ortamında çalıştırır. Codex bu iki komutu kendi döngüsüne katabildiği için yazdığı kodu denetleyebilir. Örneğin eksik bir const veya yanlış BuildContext kullanımı analizde uyarı üretir; ajan uyarıyı okuyup düzeltebilir. Dart’ın güçlü tip sistemi de ajanın parametre ve dönüş tiplerini hızlı doğrulamasına yardımcı olur. Daha genel kullanım için Codex sayfasına bakabilirsiniz.

Projeyi ajan için hazırlama ve AGENTS.md

Codex’in en büyük kaldıracı bağlamdır. Flutter projesinde AGENTS.md dosyasına şunları yazın: kullanılan state yönetimi, klasör düzeni, çalıştırma komutları, test politikası, kod üretiminde uyulması gereken Flutter kuralları. Aşağıdaki örnek, orta ölçekli bir proje için başlangıç noktasıdır:

# AGENTS.md

## Komutlar
- Bağımlılıklar: flutter pub get
- Analiz: flutter analyze
- Test: flutter test
- Tek test: flutter test test/widgets/user_card_test.dart
- Format: dart format lib test

## Klasör düzeni
- lib/core: tema, sabitler, yardımcılar
- lib/features/<feature>/presentation: widget'lar
- lib/features/<feature>/application: Riverpod provider'lar
- lib/features/<feature>/domain: modeller ve servis arayüzleri
- test/features/<feature>: widget ve birim testleri

## Flutter kuralları
- State yönetimi Riverpod kullan; setState yalnızca geçici UI durumu için.
- Widget'ları 150 satırın altında tut; tekrar eden parçaları private widget'a çıkar.
- const constructor kullanılabilecek her yerde kullan.
- Asenkron metotlarda await sonrası context kullanmadan önce `if (!mounted) return;` ekle.
- Yeni özellik eklerken önce başarısız bir widget testi yaz, sonra kodu düzelt.
- Platform kanalı eklerken MethodChannel adını sabitler dosyasında tut.

Bu dosyayı projenin köküne koyun. Codex her görev öncesi bu kuralları okur; böylece setState fırtınası, test’siz özellik veya dağınık klasör gibi tipik Flutter sorunlarını daha az üretir. AGENTS.md kısa ve komut odaklı olmalı; uzun stil rehberleri ajanın dikkatini dağıtır. Platform kanalları için Android ve iOS klasörlerine müdahale gerekiyorsa, ajanın önce plan sunmasını isteyin; çünkü platform tarafı değişiklikleri Flutter tarafındaki hatalara göre daha az görünür. Bağlam mühendisliği ilkeleri için Bağlam mühendisliği rehberi yazısına göz atabilirsiniz.

Çalışma döngüsü ve örnek komutlar

Codex ile verimli döngü şöyledir: önce ajanın plan yapmasını isteyin, sonra tek dosyayı değiştirmesini söyleyin, ardından test ve analiz çıktısını okutun, en son diff’i inceleyip kabul edin veya düzeltme isteyin. Tek seferde ‘tüm uygulamayı yeniden yaz’ demek yerine küçük adımlar verin. İyi bir görev tanımı üç şey içerir: hedef dosya veya özellik, kısıtlar ve doğrulama komutu.

Örnek Flutter görev prompt’ları:

  1. lib/features/auth/presentation/login_page.dart dosyasını incele. Mevcut setState kullanımlarını listele ve Riverpod’a taşıma planı çıkar; henüz kod değiştirme.
  2. UserCard widget’ına loading ve error durumlarını ekle. Önce test/features/user/user_card_test.dart dosyasına başarısız iki test yaz, sonra widget’ı güncelle ve flutter test test/features/user/user_card_test.dart çalıştır.
  3. flutter analyze çıktısındaki uyarıları tek tek düzelt. Her düzeltmeden sonra sadece ilgili dosyayı değiştir ve dart format uygula.
  4. Platform kanalı ile batarya seviyesini okuyan bir servis yaz. MethodChannel adını lib/core/constants/channels.dart içine koy, Android ve iOS tarafı için gerekli adımları ayrı ayrı açıkla, kod yazmadan önce planı listele.
  5. git diff çıktısını özetle ve test kapsamı dışında kalan widget davranışlarını işaretle.

Her adımda git diff’i inceleyin. Ajan testleri geçse bile widget ağacı performansını, const kullanımını ve state geçişlerini siz kontrol edin. Bu döngüde en çok zaman kazandıran adım, ajanın test çıktısını okuyup kendi hatasını düzeltmesidir; siz devreye yalnızca diff incelemesinde girin.

Codex’in iyi yaptığı Flutter işleri ve dikkat edilmesi gerekenler

Codex, tek bir widget’ın eklenmesi, mevcut modelin alanlarını kullanma, repository arayüzüne uyum, flutter analyze hatalarını giderme gibi sınırları belirli işlerde başarılıdır. Buna karşılık büyük mimari geçişlerinde ajanın tüm setState’leri tek seferde değiştirmesine izin vermek kırılgan sonuçlar doğurabilir.

Flutter’a özgü dikkat noktalarını hızlı değerlendirmek için şu tablo işe yarar:

GörevGüvenilir prompt deseniDikkat edilecek nokta
Widget eklemeMevcut tema ve spacing’e uyarak …Tasarım sistemi yoksa ajan kendi sabitlerini uydurabilir
State yönetimi geçişiÖnce plan, sonra tek providerTek seferde tüm sayfaları değiştirirse diff büyür
Test yazmaWidget’ı verilen durum için test etSahte test veya aşırı pumpAndSettle kullanabilir
Platform kanalıMethodChannel adını sabitlerden alAndroid ve iOS tarafını manuel doğrulayın

Ajan, özel tasarım sisteminizi bilmeden SizedBox(height: 16) gibi sabitler uydurabilir; bu yüzden AGENTS.md’ye spacing, renk ve typography kurallarını ekleyin. Ayrıca büyük refactorlarda git diff --stat ile değişen dosya sayısını kontrol edin; 10 dosyadan fazla değişiklik varsa ajanı durdurup işi bölmesini isteyin. Diff’i yakından incelemeniz gereken diğer noktalar: BuildContext’in asenkron boşluktan sonra kullanımı, AnimationController veya TextEditingController’ın dispose edilmesi, ListView.builder yerine Column içinde liste oluşturma, const atlanması ve state yönetimi kütüphanesinin güncellenmiş API’si.

Flutter’da test ve doğrulama

Codex’e her görevi flutter test ve flutter analyze ile kapatmasını söyleyin. Ajan, CLI çıktısını okuyup hataları düzeltebilir; ancak siz testlerin anlamlı olduğunu doğrulayın. Widget testlerinde pumpAndSettle süresiz animasyonlarda asılı kalabilir, bu yüzden AGENTS.md’ye pump(const Duration(milliseconds: 300)) tercih edilmesini ekleyin. Golden testlerde platform farkı nedeniyle başarısızlık olursa, ajanın resim dosyasını yeniden oluşturmasına değil, farkı anlamasına izin verin; flutter test --update-goldens yalnızca bilinçli kullanılmalı. Ajan başarısız testin nedenini açıklayamıyorsa, ona hatayı küçük bir örnekle yeniden üretmesini isteyin. Flutter testleri bazen platformlar arası farklar nedeniyle yerel makinede geçip CI’da kalabilir; ajanın CI çıktısını da okumasını sağlayın. Flutter test komutlarını yönetmek için Codex CLI nasıl kullanılır? yazısındaki genel ilkeler de uyarlanabilir.

Birden fazla ajanı AgentVera ile çalıştırmak

AgentVera, Codex dahil birden fazla kodlama ajanını gerçek komut satırı araçlarıyla tek pencerede çalıştıran bir masaüstü uygulamasıdır. Flutter projesinde en değerli yönleri şunlardır: her ajan ayrı git worktree üzerinde çalışabilir, böylece aynı lib/features altındaki dosyalar çakışmadan paralel görevler yürür; bir ajanın işi bitince ikinci model otomatik kod incelemesi yapar ve widget yaşam döngüsü ya da state yönetimi hatalarını file:line ile işaretler; her turun checkpoint’i sayesinde kötü bir büyük refactor tek tıkla geri alınabilir; token bütçeleri ise uzun flutter test döngülerinde ajanın kontrolden çıkmasını önler. AgentVera nasıl kullanılır sayfasında kurulum ve ilk proje adımları anlatılıyor.

Kapanış

Codex, Flutter projesinde doğru bağlam ve küçük adımlarla güvenilir bir yardımcı olur. AGENTS.md’yi baştan yazın, her değişiklikte flutter analyze ve flutter test çalıştırın, diff’i mutlaka inceleyin. Karmaşık paralel işler için AgentVera’nın worktree ve checkpoint özellikleri büyük Flutter depolarında işi hızlandırır.

Sık sorulanlar

Codex Flutter projesinde nasıl başlatılır?

Proje klasöründe codex yazıp ajanı başlatın. İlk görevi vermeden önce AGENTS.md dosyasını Flutter komutları ve kurallarıyla doldurmanız, ajanın doğru kararlar vermesini sağlar.

Codex için AGENTS.md’ye neler yazılmalı?

flutter pub get, flutter test, flutter analyze gibi komutlar; lib/ ve test/ klasör yapısı; kullanılan state yönetimi kütüphanesi; widget testlerinde pumpAndSettle bekleme kuralı gibi projeye özel bilgiler.

Codex Flutter’da state yönetimi görevlerini güvenilir yapar mı?

Evet, özellikle Provider, Riverpod ve Bloc gibi yaygın desenlerde küçük ve net değişikliklerde iyi çalışır. Ancak geçişi tek seferde istemek yerine adım adım yaptırmalı ve testlerle doğrulamalısınız.

Codex ile Flutter testleri nasıl çalıştırılır?

Ajan, proje komutlarını kullanarak flutter test veya belirli bir test dosyasını çalıştırabilir. Başarısız testlerde hatayı kendi çıktısından okuyup düzeltebilir; siz de diff’i inceleyerek testin anlamlı olduğunu kontrol edin.

Ajanlarını bir masaya topla.

AgentVera’yı ücretsiz indir; kurulu CLI’ların hazır.

Diğer Codex rehberleri

Flutter için diğer ajanlar