CleanArch.Generator 1.0.118

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global CleanArch.Generator --version 1.0.118
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local CleanArch.Generator --version 1.0.118
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=CleanArch.Generator&version=1.0.118
                    
nuke :add-package CleanArch.Generator --version 1.0.118
                    

🧱 Clean Architecture Template for .NET

هذا القالب يُنشئ مشروعًا مبنيًا على معمارية نظيفة (Clean Architecture) باستخدام .NET، مع فصل واضح بين الطبقات، مما يسهل تطوير المشاريع، صيانتها، واختبارها على المدى الطويل.


🚀 المميزات

  • معمارية واضحة ومنظمة (API, Application, Domain, Infrastructure).
  • 📦 هيكل مجلدات احترافي يدعم الفصل المنطقي للمسؤوليات.
  • 🧪 جاهزية عالية للاختبار وإضافة الوحدات (Unit Testing).
  • ⚙️ مبني باستخدام أحدث إصدار من .NET (net8.0).
  • 🧰 يدعم التوسعة والتخصيص لأي نوع من التطبيقات (Web API، Microservices، إلخ).

🗂️ الهيكل العام للمشروع

MyNewProject/
└── src/
    ├── MyNewProject.API/               # طبقة العرض (Controllers + Middleware)
    │   ├── Controllers/
    │   │   └── BaseController.cs
    │   ├── Middleware/
    │   │   └── ExceptionMiddleware.cs
    │   └── MyNewProject.API.csproj
    │
    ├── MyNewProject.Domain/            # الكيانات وواجهات التجريد
    │   ├── Entites/
    │   │   └── BaseEntity.cs
    │   ├── Interface/
    │   │   ├── IRepository.cs
    │   │   └── IUnitOfWork.cs
    │   └── MyNewProject.Domain.csproj
    │
    ├── MyNewProject.Application/       # منطق الأعمال، الخدمات، DTOs
    │   ├── Base/
    │   │   └── BaseService.cs
    │   ├── Interface/
    │   │   └── IService.cs
    │   ├── Implement/
    │   │   └── Service.cs
    │   ├── DTOs/
    │   │   ├── RequestDTO.cs
    │   │   └── ResponseDTO.cs
    │   └── MyNewProject.Application.csproj
    │
    ├── MyNewProject.Infrastructure/    # تنفيذ المستودعات، DbContext
    │   ├── Data/
    │   │   └── AppDbContext.cs
    │   ├── Repository/
    │   │   ├── Repository.cs
    │   │   └── UnitOfWork.cs
    │   └── MyNewProject.Infrastructure.csproj
    │
    └── MyNewProject.sln                # ملف الحل الأساسي


🧩 شرح الطبقات
| الطبقة             | الوصف                                                                   |
| ------------------ | ----------------------------------------------------------------------- |
| **API**            | الطبقة المسؤولة عن العرض وتلقي الطلبات HTTP (Controllers + Middleware). |
| **Domain**         | تعريف الكيانات الأساسية والعقود (Interfaces) للمستودعات ووحدة العمل.    |
| **Application**    | المنطق الوظيفي للتطبيق (الخدمات، الـ DTOs، تطبيق الواجهات).             |
| **Infrastructure** | تنفيذ الواجهات، إعداد قاعدة البيانات، المستودعات، و`DbContext`.         |

⚙️ التثبيت والاستخدام:
1. تثبيت القالب
لتثبيت القالب على جهازك، نفّذ الأمر التالي باستخدام .NET CLI:
    dotnet new --install CleanArch.Template::1.0.0

2. إنشاء مشروع جديد
بعد تثبيت القالب، يمكنك إنشاء مشروع جديد بتنفيذ الأمر:
    dotnet new cleanarch-gen --name MyNewProject --framework net8.0
        💡 يمكنك تغيير الاسم والإطار كما يناسب مشروعك.

💡 ملاحظة:

إذا لم تحدد إطار العمل (--framework)، سيتم استخدام أحدث إصدار افتراضيًا.

يمكنك تحديد اسم المشروع والإطار المستهدف كما في المثال أعلاه.

3. ماذا يحدث بعد التنفيذ؟
سيتم إنشاء مجلد جديد يحتوي على هيكل المشروع التالي:

    Core

    Application

    Infrastructure

    WebApi

كما يتم تجهيز ملفات التشغيل مثل Program.cs وتهيئة ASP.NET Core.

4. تشغيل المشروع
لتشغيل المشروع:
    cd MyNewProject
    dotnet run
ثم افتح المتصفح على:
    http://localhost:5000

🧪 التوسعة والاختبارات
أضف مشروعًا جديدًا للاختبارات (مثل: MyNewProject.Tests) لتغطية Application وInfrastructure.

استخدم أدوات مثل xUnit أو NUnit مع Moq لإجراء الاختبارات الوحدوية.

📌 ملاحظات إضافية
القالب مناسب للفرق التي ترغب في فصل الاهتمامات (Separation of Concerns) وتطبيق أفضل الممارسات في تطوير البرمجيات.

يمكنك تعديل القالب وتخصيصه ليتناسب مع بيئة العمل أو الفريق.

📬 المساهمة
مرحبًا بجميع أنواع المساهمات، سواء كانت تحسينات على القالب أو اقتراحات أو إصلاحات.

📄 الرخصة
هذا المشروع مرخّص تحت MIT License. يمكنك استخدامه وتعديله وتوزيعه بحرية مع الإبقاء على إشعار الحقوق.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.128 82 8/22/2025
1.0.127 84 8/22/2025
1.0.126 206 8/8/2025
1.0.125 173 5/18/2025
1.0.124 149 5/18/2025
1.0.123 149 5/18/2025
1.0.122 149 5/18/2025
1.0.121 168 5/16/2025
1.0.120 161 5/16/2025
1.0.119 171 5/16/2025
1.0.118 181 5/16/2025
1.0.117 170 5/16/2025
1.0.116 178 5/16/2025
1.0.114 180 5/16/2025
1.0.113 178 5/16/2025
1.0.112 178 5/16/2025
1.0.111 184 5/16/2025