<p align="center">
<img src="https://raw.githubusercontent.com/felangel/mason/master/assets/mason_full.png" height="125" alt="mason logo" />
</p>

<p align="center">
<a href="https://github.com/felangel/mason/actions"><img src="https://github.com/felangel/mason/workflows/mason/badge.svg" alt="mason"></a>
<a href="https://github.com/felangel/mason/actions"><img src="https://raw.githubusercontent.com/felangel/mason/master/packages/mason/coverage_badge.svg" alt="coverage"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-purple.svg" alt="License: MIT"></a>
<a href="https://github.com/felangel/mason"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge" alt="Powered by Mason"></a>
</p>

---

A collection of packages that enable developers to create and consume reusable templates called bricks.

![Mason Demo][mason_demo]

## Packages

| Package                                                                             | Pub                                                                                                    |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| [mason](https://github.com/felangel/mason/tree/master/packages/mason)               | [![pub package](https://img.shields.io/pub/v/mason.svg)](https://pub.dev/packages/mason)               |
| [mason_api](https://github.com/felangel/mason/tree/master/packages/mason_api)       | [![pub package](https://img.shields.io/pub/v/mason_api.svg)](https://pub.dev/packages/mason_api)       |
| [mason_cli](https://github.com/felangel/mason/tree/master/packages/mason_cli)       | [![pub package](https://img.shields.io/pub/v/mason_cli.svg)](https://pub.dev/packages/mason_cli)       |
| [mason_logger](https://github.com/felangel/mason/tree/master/packages/mason_logger) | [![pub package](https://img.shields.io/pub/v/mason_logger.svg)](https://pub.dev/packages/mason_logger) |

## Quick Start

```sh
# 🎯 Activate from https://pub.dev
dart pub global activate mason_cli

# 🚀 Initialize mason
mason init

# 📦 Install your first brick
mason add hello

# 🧱 Use your first brick
mason make hello
```

## Documentation

View the full documentation [here](https://docs.brickhub.dev).

## Video Tutorials

|                        **Package of the Week** by [_Flutter_](https://www.youtube.com/c/flutterdev)                         |             **Observable Flutter: Building a Mason brick** by [_Flutter_](https://www.youtube.com/c/flutterdev)             |
| :-------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------: |
| [![mason (Package of the Week)](https://img.youtube.com/vi/qjA0JFiPMnQ/0.jpg)](https://www.youtube.com/watch?v=qjA0JFiPMnQ) | [![Observable Flutter: Building a Mason brick](https://img.youtube.com/vi/o8B1EfcUisw/0.jpg)](https://youtu.be/o8B1EfcUisw) |

|                   **Meet Mason: Flutter Vikings 2022** by [Flutter Community](https://www.youtube.com/@FlutterCommunity)                    |  **Felix Angelov Demos Mason** by [_Very Good Ventures_](https://www.youtube.com/channel/UCMEL3IZanJyEmU9ycwnAGNA)   |
| :-----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------: |
| [![Meet Mason: Intro to Templating and Custom Code Generation](https://img.youtube.com/vi/LXhgiF5HiQg/0.jpg)](https://youtu.be/LXhgiF5HiQg) | [![Mason Video Tutorial](https://img.youtube.com/vi/G4PTjA6tpTU/0.jpg)](https://www.youtube.com/watch?v=G4PTjA6tpTU) |

[mason_demo]: https://raw.githubusercontent.com/felangel/mason/master/assets/mason_demo.gif

## Badge

Add a markdown badge to indicate your project is powered by `mason` →
[![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason)

```md
[![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason)
```
