Melos
A tool for managing Dart projects with multiple packages.

About#

Melos is a CLI tool used to help manage Dart projects with multiple packages (also known as mono-repos). It is in active development and is in use on projects such as FlutterFire.

Splitting up large code bases into separate independently versioned packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories gets complicated. Melos helps solve these issues by allowing multiple packages to work together within one repository, whilst being totally independent of each other. Features include:

  • Automatic versioning & changelog generation.
  • Automated publishing of packages to pub.dev.
  • Local package linking and installation.
  • Executing simultaneous commands across packages.
  • Listing of local packages & their dependencies.

Melos also works great on CI/CD environments to help automate complex tasks and challenges.

Projects using Melos#

The following projects are using Melos:

Submit a PR if you'd like to add your project to the list. Update the README.md and the docs.

You can also add a README badge to your projects README to let others know about Melos 💙.

README Badge#

Using Melos? Add a README badge to show it off:

melos

[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos)

License#

See LICENSE for more information.