All projects

Generated reactive state

ReactiveGenerator

Keep reactive view models expressive while generated code carries the ceremony.

StatusMaintained
TierMaintained
DomainTools
Repositorywieslawsoltes/ReactiveGenerator

A Roslyn source generator, analyzer, and code-fix package for reactive properties, computed observable properties, and change notification.

ReactiveGenerator moves property notification, ReactiveUI helpers, and migration diagnostics into a Roslyn pipeline. Application code keeps readable partial properties while analyzers, code fixes, and deterministic generation provide the repetitive implementation.

01

INotifyPropertyChanged and ReactiveUI patterns

02

ObservableAsProperty generation

03

Analyzers and bulk code fixes

04

Deterministic design-time output

Where it fits.

  • ReactiveUI and MVVM application teams
  • Codebases migrating hand-written notification properties
  • Roslyn users studying production source generation
.NET

9.0+

C#

13 partial properties

ReactiveUI

Supported

INotifyPropertyChanged

Supported

Real output,
not a mockup.

ReactiveGenerator GitHub repository preview
The repository includes generators, analyzers, code fixes, demos, integration tests, and verified generated-source snapshots.

Clear layers.
Replaceable seams.

01

Attributes

Class and property annotations declare reactive and computed intent.

02

Analysis

Roslyn validates partial declarations, inheritance, accessors, generics, and nullability.

03

Generation

Incremental generators emit notification, helpers, and cached event infrastructure.

04

Migration

Analyzers and code fixes convert existing boilerplate at file, project, or solution scope.

3 lanesgenerate, analyze, fix
2 modelsstandard and ReactiveUI
Deterministicsnapshot-tested output
LiveGitHub metadata

One repository.
Multiple serious systems.

Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.

From package
to first frame.

Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.

01 · Install
Terminal
dotnet add package ReactiveGenerator
02 · Use · csharp
QuickStart.cs
[Reactive]
public partial class SearchViewModel : ReactiveObject
{
public partial string SearchTerm { get; set; }
[ObservableAsProperty]
public partial bool HasQuery { get; }
}

Start focused.
Compose as needed.

The repository is the source of truth.

Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.

StaticViewLocator

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…