Contributing Overview

First off, thank you for your interest in contributing to Metalama—we appreciate your support. Whether you’re fixing bugs, improving documentation, sharing aspects, or proposing features, your input helps make Metalama better for everyone.

This project revolves around compile-time code transformation in .NET, and contributions are expected to align with that philosophy: clean, predictable, well-documented code that integrates well with Roslyn and modern C#.

Before you dive in, please read the sections below to get up to speed with how we work and what we expect from contributors. Following the guidelines will save both your time and ours.

Let’s build something powerful.

How to contribute to Metalama?

  1. Spread the word.

    The most impactful way to contribute to Metalama today is to talk about it to your audience. The bigger the Metalama community becomes, the more viable it will be.

    Here are a few ideas:

    • Share your opinion about Metalama on your social networks.
    • Write a blog post about your experience with Metalama.
    • Record a video featuring Metalama.

    Don’t forget to ping us, so we can later share your work with the community, feature it in our newsletter, or cross-post your article on our blog.

  2. Reply to questions and issues.

    You can help out by replying to open questions in the GitHub discussions or issue tracker. Help people find a solution or workaround to their problems. Assist them in isolating the problem in a small, standalone project. Formulate a relevant feature request if you think there’s a feature gap.

  3. Share your aspects as a one-off release.

    If you’ve written an aspect that could be useful to others, release it as an open-source project. It doesn’t need to be a fully-fledged and supported project. It can be a one-off release that you will no longer maintain. Write us an email so we can index your aspect in the Metalama Marketplace.

  4. Build and maintain a community-driven aspect library or extension.

    If you can invest more time in your contribution, consider integrating it into the Metalama.Community repository. You can also improve and maintain contributions from other community members.

    For details, see how to contribute code.

  5. Contribute to the documentation.

    If you had a hard time understanding a feature of Metalama but finally cracked it, it’s a good idea to improve the documentation by submitting a PR against Metalama.Documentation. You can author a new sample and integrate it adequately.

    For details, see how to contribute documentation.

  6. Contribute to the core projects.

    You’re welcome to fix bugs (either new ones or already-reported ones) directly in the core projects. See how to contribute code for instructions. For new features, please first create a proposal and discuss it with the core maintainers.