Sobre o Metalama

Estrutura de metaprogramação baseada em Roslyn para equipes C# e desenvolvedores solo.

Metalama is a modern Roslyn-based meta-programming framework designed for C# developers. It empowers you to reduce boilerplate, verify code against architecture, and provide coding assistance to team members. With Metalama you can reduce boilerplate by generating it dynamically during compilation. Your source code remains crystal clear. Verify code in real time against architecture, patterns, and conventions. No need to wait for code reviews. Provide coding assistance to your team with customized feedback and suggestions. Set your own rules, automate your own implementation patterns and architecture guidelines. Deliver clean code without boilerplate, strictly adhering to architecture.

Meta-programming is the practice of creating code that generates, modifies or validates other code, streamlining repetitive tasks and making code review more efficient.

With a focus on simplicity and safety, we have reimaginated aspect-oriented programming (AOP) for modern .NET applications.

Aspects and fabrics are special C# classes that execute inside the compiler or the IDE and:

  • Generate repetitive code at compile-time — your source code remaining crystal clear.
  • Verify source code against patterns and architecture rules, and report errors in real time.
  • Suggest code fixes and refactorings and provide guidance to developers.

Do it by your rules. Create your own code templates and verification rules easily and safely.

Feature: Metalama Free Metalama Starter Metalama Professional Metalama Ultimate
Technical Support Level
Professional Support allows for private tickets and gets high priority. We use desktop sharing and study your code or logs as needed. FUP applies.
Standard Standard Standard Professional
Aspect Types per Project
The max number of aspect types permitted per project regardless how many times each aspect is applied.
3 5 10 Unlimited
Build Servers Included
No license key is required on build server for any edition of Metalama.
       
Aspects: Reduce Boilerplate
Build aspects of any complexity. No limitation on transformation abilities of aspects in any edition.
       
Aspects: Architecture Validation
Validate your code against architecture rule and get warnings in real time directly in your editor.
       
Visual Studio Extension
See how aspects affect your code and diff your source code with the transformed code without leaving Visual Studio.
       
Fabrics: Configuration
Configure any aspect library from a fabric.
       
Fabrics: Architecture Validation
Validate your code against architecture rules from a fabric. Without this feature, you can still validate code using aspects.
       
Fabrics: Adding Aspects in Bulk
Add aspects in bulk using a LINQ-like API from a fabric. Without this feature, you can still add aspects in bulk using aspects.
       
Aspect Inheritance
Automatically add [Inheritable] aspects to derived classes. Without this feature, you need to add an aspect attribute to each type.
       
Transformed Code Debugging
Step into the transformed code and see exactly what gets executed. Without this feature, you can only debug the source code.
       
Custom Refactorings and Live Templates
Provide code refactorings and code fixes from your custom aspects or turn custom aspects into live templates.
       
Aspect Testing Framework
Easily create automated tests that verify how aspects transform source code. Without this feature, you can only test the run-time effects of aspects.
       
Extend Metalama using Roslyn
Get access from the full power of Roslyn from your aspects thanks to low-level syntax rewriters, custom metrics, or custom low-level services.