Intellivega.FeatureFlags 1.0.0

Intellivega.FeatureFlags

Reusable .NET 10 and EF Core 10 feature flags with environment-aware behavior, per-user overrides, and optional tags.

The library has no dependency on Ion. A consuming application supplies an EF Core context and its current-user adapter.

Installation

Until the package is published to NuGet, reference the project directly:

<ProjectReference Include="path/to/Intellivega.FeatureFlags/src/Intellivega.FeatureFlags/Intellivega.FeatureFlags.csproj" />

After publication:

dotnet add package Intellivega.FeatureFlags

Configure the database

Implement IFeatureFlagDbContext on the application's EF Core context, then add the library model configuration:

public sealed class ApplicationDbContext : DbContext, IFeatureFlagDbContext
{
    public DbSet<FeatureFlag> FeatureFlags => Set<FeatureFlag>();
    public DbSet<UserFeatureFlag> UserFeatureFlags => Set<UserFeatureFlag>();
    public DbSet<FeatureFlagTag> FeatureFlagTags => Set<FeatureFlagTag>();
    public DbSet<FeatureFlagTagAssignment> FeatureFlagTagAssignments =>
        Set<FeatureFlagTagAssignment>();

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.AddFeatureFlags();
    }
}

The consuming application owns migrations and any relationship from UserFeatureFlag.UserId to its user entity.

Register the service

Implement IFeatureFlagUserContext for the current user and register both adapters:

services.AddFeatureFlags<ApplicationDbContext, CurrentUserContext>();

Inject FeatureFlagService and query flags by their application-defined names:

if (await featureFlags.IsEnabledAsync("NewCheckout"))
{
    // Run the flagged behavior.
}

Stable flags always evaluate as enabled. In production, flags that are not ready are hidden and disabled. Per-user values apply only to flags marked as user-overridable.

Build and test

dotnet build Intellivega.FeatureFlags.slnx
dotnet test Intellivega.FeatureFlags.slnx
dotnet pack src/Intellivega.FeatureFlags/Intellivega.FeatureFlags.csproj

No packages depend on Intellivega.FeatureFlags.

Version Downloads Last updated
1.0.0 9 09/10/2026