Welcome to the documentation of Metalama, an open-source patterns and architecture toolkit for C#. Define your team's patterns once: the compiler writes the repetitive code at build time and enforces your architecture rules as you type.
Tip
Using an AI coding agent? Install the Metalama plugin for Claude Code or OpenAI Codex, and your agent gets this entire documentation—concepts, API reference, and samples—at its fingertips. See Configuring AI agents.
How to navigate this documentation
There are two types of Metalama users:
- If you're using aspects written by others, start with Using Metalama.
- If you're developing your own aspects, start with Getting started with Metalama for a quick overview, then move to Using Metalama and continue to Creating simple aspects.
Each article has a complexity level: 100, 200, or 300, following the U.S. school system. Before reading a level 200 article, make sure you understand level 100. We avoid adding complex details to basic-level articles. You may need to read several articles to get comprehensive information on a topic.
Documentation structure
| Book | Description |
|---|---|
| Getting started with Metalama | A quick "Hello, world" walkthrough showing how to create a logging aspect and apply a simple architecture validation rule. |
| Conceptual documentation | Comprehensive reference documentation. |
| Commented examples | Commented examples with varying complexity. |
| Metalama API | API documentation generated from source code. |
Getting help
If you have any questions, start a discussion on GitHub.
The source code for this documentation (excluding the API documentation) is open-source and hosted at https://github.com/metalama/Metalama.Documentation. You can:
- Open an issue or
- Submit a PR with your proposed improvements.