A Roslyn-based meta-programming framework for code generation, architecture validation and aspect-oriented programming in C#.
$ dotnet add package Metalama.FrameworkA Roslyn-based meta-programming framework for code generation, architecture validation and aspect-oriented programming in C#.
Metalama lets you write cleaner, more maintainable .NET code by automating repetitive patterns at compile time using aspects, templates, and compile-time logic. It integrates tightly with the Roslyn compiler, providing full control over how your code is built.
Metalama is ideal for:
It's main use cases are:
Metalama is released under the MIT license.
Some optional extensions and IDE tooling are released under a proprietary license. 💎
Add the Metalama.Framework package to your project:
dotnet add package Metalama.Framework
Optionally, install Metalama Tools for Visual Studio Extension. It's free for individuals, non-commercial uses, and companies with up to 3 users.
Explore the Metalama Marketplace for ready-made aspects or examples.
Follow the Getting Started guide to create your first aspect.
Please check instructions here.
We welcome contributions! Here's how you can help:
For more details, see Contributing to Metalama.
Metalama.Extensions.Validation, implements concrete rules for architecture verification.Metalama.Framework, most of them open-source.