makeup icon indicating copy to clipboard operation
makeup copied to clipboard

💅🏽💄 A local development tool to replace docker-compose, based on Make

💅🏽 Makeup

A local development tool to replace Docker Compose, based on Make.

Makeup uses Makefiles to create a faster development workflow for microservices (when compared to Docker and docker-compose). It uses locally installed tools and a version-checking mechanism to get reasonably repeatable builds, and configures + runs things (like multiple microservices) in parallel, a la docker-compose.

The makeup command builds all of the components of your application and runs them together without needing containers.

To use makeup, you'll create:

  • The main.mk file (which includes tool version checks).
  • Individual component .mk files (with build, run, test, env, and clean targets).
  • Optional autogenerated Makefile, which allows anyone who isn't using makeup to build and run your project just as easily (by running make up).

The makeup tool is required to get started (and to get the best experience), but not required for anyone else to use your project (which might be the best part).

✨ Check out the full usage instructions

Commands

Implemented:

  • makeup: builds each component sequentially, and then runs your entire project
  • makeup test : tests each component sequentially
  • makeup clean : cleans each of the components in the project

In progress:

  • makeup generate : generates the main Makefile for anyone to use.

Here's an example (from this repo!):

Screen Shot 2022-03-28 at 6 02 12 PM

That's it for now.

Copyright Connor Hicks and external contributors, 2023. Apache-2.0 licensed, see LICENSE file.