Features
Core Features
Code Generation
Dynamically generate C# code and seamlessly integrate it with handcrafted logic.
Code Validation
Report errors and warnings at design time directly into the editor, or as part of the build process.
Immediate Editor Feedback
Get immediate feedback on your code as you type. No need to recompile your code.
Code Fix Toolkit
Leverage custom code fixes and code factorings to your team using Metalama's simple API.
Productivity Features
Ready-to-Use Aspect Libraries
Accelerate development with open-source extensions and ready-to-use aspects and avoid reinventing the wheel.
Visual Studio Tooling
Boost productivity with T# syntax highlighting, CodeLens, Aspect Explorer, and Aspect Diff.
Test Frameworks
Test that your aspects generate code and report warnings as expected using our xUnit-compatible test framework.
Transformed Code Debugging
Choose whether to step into the transformed code or stick to the source code during debugging.
Extensibility Features
Roslyn Extensibility
Overcome Metalama's limitations with the full power of Roslyn.
Code Query API
Query your code and dependencies in application. Includes a LINQPad driver.
Divorce
Metalama gracefully accepts when it's time to part ways and makes the breakup process as smooth as possible.
When to Use
Principles at Work
Clean Code
Maintain a streamlined, concise codebase devoid of redundant boilerplate.
SOLID & DRY Principles
Take SOLID and DRY principles to the next level with aspects and code verification.
Aspect-Oriented Programming
Metalama doesn't just improve on AOP — it reinvents it in a pragmatic approach tailored to modern C#.
Architecture Verification
Ensure that both manually written and AI-assisted code adhere to strict architectural standards.
Refactoring
Enhance developer productivity with intelligent tooling and built-in safety nets.
Applications
Classic Patterns
Implement time-tested design patterns like Singleton, Memento, Abstract Factory, and Builder with ease.
UI Patterns
Streamline UI features such as INotifyPropertyChanged, dependency properties, commands, and undo/redo.
Classic Object Services
Stop writing boilerplate for ToString methods, equality contracts, cloning, and more.
Defensive Programming
Enforce preconditions, postconditions and invariants with ease, ensuring robust code and reliable behavior.
DevOps
Logging & Tracing
Automatically infuse comprehensive logging across your codebase with a single line.
Metrics
Gain deep operational insights with method-level performance metrics.
Caching
Implement robust caching across diverse topologies, including seamless Redis integration.
Exception Handling
Streamline exception management with a zero-boilerplate approach that integrates seamlessly with Polly.
Security
Authorization, audit and encryption.
Docs & Support
Getting Started
Learn how to install Metalama and jumpstart your projects.
Conceptual Documentation
Deep dive into the principles and concepts behind Metalama.
Commented Examples
Explore a range of Metalama examples from basic to advanced.
Issue Tracker
Report bugs and feature requests on GitHub, and check their status.
Enterprise Support
Benefit from high-priority support, direct access to core developers, and dependable long-term maintenance.
Community
Libraries & Extensions
Accelerate development with open-source extensions and ready-to-use aspects.
Contributing
Learn how to shape the future of Metalama with your contributions.
Blog
Official announcements, opinions, showcases, and tips from the Metalama team and contributors.
Newsletter
Receive important announcements and monthly updates straight to your inbox.
GitHub Forums
Ask anything and showcase your aspects on GitHub Discussions.
Premium
Metalama Search