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 currently still in active development however 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 to add your project to the list.

License#

See LICENSE for more information.