الإصدار 1.0.8 · MIT · من XYCODE LLC

Flutter Forge

مجموعة لتوليد المعمارية والكود لـ Flutter. أنشئ هيكل Clean Architecture وإدارة الحالة ووحدات الميزات من داخل VS Code وبيئات JetBrains وAndroid Studio وAntigravity وCursor وWindsurf.

VS Code
1,000+ تثبيت
JetBrains
800+ تنزيل
التقييم
5.0 / 5
التثبيت من سطر الأوامر
$ code --install-extension AbdalluhEssamElsayed.flutter-forge
✓ Extension 'flutter-forge' v1.0.8 was successfully installed.

# then, in the command palette
› Flutter Forge: Generate New Project

لماذا أنشأناه

في مشاريع Flutter لعملائنا، كان إعداد Clean Architecture — عقود المستودعات وحالات الاستخدام وعميل Dio وحقن الاعتماديات بـ GetIt — يستغرق من 30 إلى 45 دقيقة من الكتابة اليدوية المعرّضة للأخطاء في كل مشروع جديد. وكانت المعمارية تختلف أيضًا من مهندس لآخر داخل الفريق.

بنينا Flutter Forge ليحوّل هذا الإعداد إلى نافذة واحدة داخل بيئة التطوير. يكتب كودًا منظّمًا يجتاز قواعد الفحص وجاهزًا للاختبارات من أول commit — ونستخدمه في كل مشروع نُطلقه.

نتولّى أيضًا الاستشارات وبناء الأدوات المخصّصة — أخبرنا عن مشروعك.

عروض توضيحية

عرضان توضيحيان: إنشاء مشروع من الصفر، وكيف تترابط الطبقات المولَّدة.

دليل شامل قوائم بيئة التطوير ومدخلات النافذة وإعداد الحزم وبناء هيكل Clean Architecture.
شرح معمّق كيف يطبّق الكود المولَّد مبادئ SOLID ويربط إدارة الحالة عبر الطبقات.

المميزات

إنشاء هيكل المشروع
يحدّد معالج اسم المشروع والمؤسسة والمعمارية والتوجيه والاعتماديات، ثم يكتب pubspec.yaml وشجرة المجلدات ونقطة البداية.
توليد الميزات
يكتشف إن كان المشروع يستخدم Clean Architecture أو MVVM أو MVC، ويضيف ميزة بطبقات مطابقة — الكيانات وحالات الاستخدام والواجهة. الاختصار Ctrl+Alt+F / Cmd+Alt+F.
تكامل واجهات البرمجة
يقرأ مواصفات Swagger / OpenAPI ويولّد نماذج Dart محددة الأنواع وDTOs وخدمات عميل Dio — دون تحليل JSON يدويًا.
إعداد التصميم المتجاوب
يُعِدّ flutter_screenutil مسبقًا مع تحجيم الخطوط والمسافات المتجاوبة ومكيّفات تخطيط الهاتف والتابلت.
معرّف الحزمة والأيقونات
يغيّر معرّف الحزمة وأيقونات التطبيق على Android (build.gradle وmanifest) وiOS (Info.plist وproject.pbxproj) معًا.
فحص المعمارية
يكشف مخالفات الطبقات — كملف عرض يستورد مصدر بيانات — ويقترح إصلاحًا آليًا.

المعماريات

يدعم أربعة أنماط، لتتكيّف الأداة مع الفريق لا العكس.

Clean Architecture

موصى به للتطبيقات الكبيرة

ثلاث طبقات: العرض (الواجهة والحالة) ← المجال (الكيانات وحالات الاستخدام وعقود المستودعات) ← البيانات (النماذج ومصادر البيانات والتنفيذ). قابلة للاختبار بمصادر بيانات وهمية ومستقلة عن اختيارات الواجهة وقاعدة البيانات.

lib/features/<feature>/{presentation,domain,data}/

MVVM

ربط تفاعلي للواجهة

تعرض ViewModels حالة قابلة للمراقبة أو value notifiers تستهلكها الواجهات مباشرة. طبقات أقل وتسليم أسرع، مع دعم ChangeNotifier وStateNotifier.

lib/{view_models,views,models}/

MVC

خفيف

تتوسّط المتحكمات بين النماذج والواجهات. أقل تعقيدًا للتطبيقات الصغيرة والنماذج الأولية، وسهل على المهندسين المبتدئين.

lib/{controllers,views,models}/

نمط GetX

متكامل

متحكمات وربط ومسارات ومتغيرات .obs تفاعلية، مع توجيه وحقن اعتماديات مدمجين.

lib/{bindings,controllers,views}/

إدارة الحالة

اختر أداة إدارة الحالة التي تناسب المشروع؛ وتُولَّد كل واحدة بربطها الخاص.

أداة إدارة الحالة النمط الكود المتكرر الأنسب لـ
BLoC تدفقات تفاعلية (أحداث ← حالات) متوسط التطبيقات الكبيرة والتقنية المالية وسجلات التدقيق الصارمة
Cubit تدفقات مبسّطة (استدعاء دوال) منخفض معظم تطبيقات الإنتاج — قابلية اختبار BLoC بكود أقل
Riverpod مزوّدات تفاعلية وظيفية متوسط حالة آمنة وقت الترجمة دون BuildContext
Provider غلاف حول InheritedWidget منخفض الأساس في توثيق Flutter؛ ومشاريع MVVM
GetX متحكمات تفاعلية منخفض النماذج الأولية والفرق الصغيرة التي تريد أقل كود متكرر
بدون StatefulWidget وInheritedNotifier منخفض جدًا أدوات الشاشة الواحدة والتطبيقات دون اعتماديات

شجرة المجلدات المولَّدة

الهيكل الذي يكتبه Flutter Forge لمشروع Clean Architecture تمامًا. توضع الجوانب المشتركة في core/، وتحصل كل قدرة عمل على مجلد مستقل داخل features/.

  • core/ — عميل Dio وفاحص الشبكة والأخطاء والامتدادات والواجهات المشتركة ومحدّد خدمات GetIt.
  • features/ — طبقات العرض والمجال والبيانات لكل ميزة.
  • test/ — شجرة مطابقة جاهزة لـ Mockito أو Mocktail.
my_flutter_app/libClean Architecture
lib/
├── core/
│   ├── api/                 # Dio client, interceptors, BaseOptions
│   ├── network/             # connection checker & contracts
│   ├── error/               # ServerFailure, CacheFailure, exceptions
│   ├── extensions/          # context & string helpers
│   ├── widgets/             # AppButton, AppTextField, LoadingOverlay
│   ├── theme/               # light / dark ColorSchemes & TextThemes
│   ├── constants/           # endpoints, asset paths, storage keys
│   └── di/                  # GetIt service locator
├── features/
│   └── [feature_name]/
│       ├── presentation/
│       │   ├── screens/     # login_screen.dart
│       │   ├── widgets/     # login_form.dart
│       │   └── bloc/        # BLoC / Cubit / ViewModel
│       ├── domain/
│       │   ├── entities/    # UserEntity
│       │   ├── repositories/# AuthRepository (contract)
│       │   └── usecases/    # LoginUseCase
│       └── data/
│           ├── models/      # UserModel (fromJson / toJson)
│           ├── datasources/ # AuthRemoteDataSource
│           └── repositories/# AuthRepositoryImpl
├── routes/                  # GoRouter / AutoRoute
└── main.dart                # entry point, DI & ScreenUtil init

الأوامر

افتح لوحة الأوامر بـ Ctrl+Shift+P في VS Code أو Shift Shift في بيئات JetBrains.

الأمر الاختصار ماذا يفعل
Flutter Forge: Generate New Project Ctrl+Alt+N يفتح المعالج لإنشاء هيكل مشروع جديد.
Flutter Forge: Generate Feature Ctrl+Alt+F يضيف مجلد ميزة بطبقات العرض والمجال والبيانات.
Flutter Forge: Add Dependency لوحة الأوامر يبحث في pub.dev ويضيف الحزمة إلى pubspec.yaml ثم يشغّل flutter pub get.
Flutter Forge: Firebase Quick Setup لوحة الأوامر يُهيّئ مشروع Firebase عبر FlutterFire CLI.
Flutter Forge: API Integration Generator لوحة الأوامر يبني DTOs وخدمات Dio من مواصفات Swagger / OpenAPI.
Flutter Forge: Generate Custom Widgets لوحة الأوامر يولّد واجهات متجاوبة قابلة لإعادة الاستخدام — أزرار وحقول إدخال ونوافذ حوار.
Flutter Forge: Change Package ID لوحة الأوامر يحدّث معرّف الحزمة على Android وiOS في خطوة واحدة.
Flutter Forge: Error Detection لوحة الأوامر يفحص مخالفات طبقات المعمارية ويقترح الإصلاحات.

التثبيت

  1. 1 · VS Code

    افتح الإضافات (Ctrl+Shift+X)، وابحث عن Flutter Forge واضغط تثبيت — أو شغّل:

    code --install-extension AbdalluhEssamElsayed.flutter-forge
    افتحه في متجر VS Code ←
  2. 2 · بيئات JetBrains

    في Android Studio أو IntelliJ IDEA افتح Settings → Plugins → Marketplace، وابحث عن Flutter Forge، ثم ثبّته وأعد التشغيل.

    افتحه في متجر JetBrains ←
  3. 3 · من الكود المصدري

    انسخ المستودع وأنشئ ملف .vsix باستخدام npm:

    git clone https://github.com/AbdalluhEssam/flutter-forge.git
    cd flutter-forge && npm install && npm run compile
    اعرضه على GitHub ←

تحتاج نظامًا بـ Flutter أو أدوات مخصّصة؟

تبني XYCODE تطبيقات جوال للإنتاج وأنظمة تعمل دون اتصال وأدوات مطورين مثل هذه.