ARE.Core 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ARE.Core --version 1.0.0
                    
NuGet\Install-Package ARE.Core -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ARE.Core" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ARE.Core" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ARE.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ARE.Core --version 1.0.0
                    
#r "nuget: ARE.Core, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ARE.Core@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ARE.Core&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ARE.Core&version=1.0.0
                    
Install as a Cake Tool

ARE — Action Rule Event Engine

Sıfır bağımlılık, cross-platform, hafif olay-kural-eylem motoru.

Oyun, web, mobil, masaüstü — tek motor, her yerde aynı mantık.

Event ───→ Middleware ───→ Rule Matching ───→ Action Execution
              │               │                    │
           before/after    conditions + matchMode  settings + context
                           priority + groups

Ne İşe Yarar?

Projelerde sürekli tekrar eden bir kalıp var: "Bir şey olduğunda, bazı koşullar sağlanıyorsa, şunları yap."

ARE bu kalıbı tek bir motorla çözer:

Kavram Açıklama Örnek
Event Olan biten şey order.created, player.died, user.login_failed
Rule Hangi event'te, hangi koşullarla, ne yapılacak "Sipariş 5000₺ üstüyse VIP mail gönder"
Condition Kuralın çalışıp çalışmayacağını belirler total > 5000, zone == "boss", attempts >= 3
Action Yapılacak iş E-posta gönder, hasar ver, stok güncelle, UI göster
Middleware Pipeline'a araya girer Loglama, auth kontrolü, audit
Context Akış boyunca paylaşılan veri Action'lar arası veri taşıma

Hızlı Başlangıç

C# (.NET)

var engine = new AreEngine();

engine.RegisterAction("send_email", async (ctx, s) =>
{
    Console.WriteLine($"Email: {s.Get("template")}");
});

engine.AddRule(
    Rule.Create("vip_order")
        .On("order.created")
        .WhenGreaterThan("total", 5000.0)
        .Then("send_email", s => s.Set("template", "vip_welcome"))
);

await engine.FireAsync("order.created", e => e.Set("total", 7500.0));
// → Email: vip_welcome

JavaScript / TypeScript

const { AreEngine, Rule } = require('are-core');

const engine = new AreEngine();

engine.registerAction('send_email', async (ctx, s) => {
  console.log('Email:', s.get('template'));
});

engine.addRule(
  Rule.create('vip_order')
    .on('order.created')
    .whenGreaterThan('total', 5000)
    .then('send_email', s => s.set('template', 'vip_welcome'))
);

await engine.fire('order.created', e => e.set('total', 7500));
// → Email: vip_welcome

Özellikler

  • Sıfır bağımlılık — Hiçbir harici paket kullanmaz
  • Fluent BuilderRule.Create().On().When().Then() zinciri
  • MatchModeAll (AND), Any (OR), None (NOT), ExactlyOne (XOR)
  • 9 karşılaştırma operatörü — Equal, GreaterThan, Contains, In vb.
  • Middleware — Before/after pipeline araya girme
  • Kural grupları — Toplu enable/disable
  • Öncelik sırası — Yüksek priority önce çalışır
  • Pipeline kontrolüStopPipeline, SkipRemainingActions
  • Dinamik yönetim — Runtime'da kural ekle/kaldır/aç/kapat
  • Sonuç raporlama — Hangi kurallar tetiklendi, hangileri neden atlandı
  • Async — Tamamen asenkron pipeline

Repo Yapısı

Klasör Açıklama
ARE.Core Ana motor — NuGet paketi (C#)
are-core JavaScript/TypeScript portu — npm paketi
ARE.Core.Tests xUnit testleri
ARE.Examples.Game Oyun senaryosu örneği
ARE.Examples.WebApi E-ticaret senaryosu örneği
ARE.Examples.Desktop POS / masaüstü senaryosu örneği

Platform Desteği

Platform Paket
WinForms / WPF / MAUI NuGet: ARE.Core
ASP.NET Core / Blazor NuGet: ARE.Core
Unity / Godot NuGet veya .dll (netstandard2.1)
Node.js / Express npm: are-core
React / Vue / Angular npm: are-core
React Native / Electron npm: are-core

Kurulum

C#:

dotnet add package ARE.Core

JavaScript:

npm install are-core

Dokümantasyon


Lisans

MIT

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net471 is compatible.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.7.1

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 123 2/19/2026
1.0.0 107 2/18/2026