Remix.run Logo
npodbielski 2 days ago

For about two years I am working on dynamically configured, zero-downtime, low-code API and extenaible platform called Hamster Wheel. It is written in C# and today I released first one of few libraries that I developed while working on it:

https://github.com/npodbielski/HamsterWheel.FluentCodeGenera...

It is small helpful library that helps to write Roslyn source code generators using fluent API. Might be a bit niche use, but native Roslyn APIs are a bit complicated to get started writing source code generator. Fluent API helps with that greatly. In example:

- automatically emits using statements

- automatically format generated code

- helps with importing types

- helps with indentation and balancing parenthesis

- helps with adding, using parameters, async methods generation

- provides nicer to use wrappers to Roslyn IncrementalValueProvider

- allows to share pieces of code between files/classes (i.e. interfaces implementation)