GitPedia

Mad

⚡ MAD: Managing Application Dependencies LING/UNIX

From synrc·Updated June 1, 2026·View on GitHub·

A simple rebar-compatible dependency manager and developer tool with plugins for Windows, Linux and Mac. The project is written primarily in Erlang, distributed under the Other license, first published in 2014. Key topics include: beam, erlang, escript, peg, ports.

Latest release: 7.1January 2020
January 8, 2020View Changelog →

MAD: Manage Dependencies

Actions Status
Build Status
Hex pm

A simple rebar-compatible dependency manager and developer
tool with plugins for Windows, Linux and Mac.

MAD

Goals

It shall:

  • be compatible with rebar configuration.
  • be as small and fast as possible.

Features

  • Support rebar.config
  • Support OTP releases and directory structure
  • Fast deps resolving and cycles detecting
  • Fast compilation
  • Small codebase: 1K LOC
  • DTL/YECC/LEEX/PORT/SCRIPT/APP/ERL compilation
  • BEAM bundles (single-file escriptized app)
  • BEAM releases (faster and smaller than RELX)
  • Start/Stop/Attach
  • Static files generation with node.js tools

Build

sh
$ make

And put mad to PATH.

Building OTP Release

Releases are bundles made by release_handler module of sasl applications.
It has it own fat bootstripts along with erlang runtime included.
This allows you to distribute you applications with copy deploy
without Erlang prerequisite.

sh
$ ./mad app web sample $ cd sample $ ../mad dep com pla rel

Documentation

If you are new or need to determine whether the MAD architecture and
philosophy is a fit for your project

  • Official MAD brochure PDF

Credits

  • Maxim Sokhatsky
  • Sina Samavati
  • Vladimir Kirillov
  • Taras Taraskin

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from synrc/mad via the GitHub API.Last fetched: 6/27/2026