Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



    Mashup allows you to blend two or more git repositories into one project.

    Install this globally in order to access the mashup command anywhere on your system.

    npm install -g mashup


    Getting started with mashup is pretty straight forward. There is one core command you should be aware of mashup generate or simply mashup will guide you through a series of prompts allowing you to pull multiple git repos and combine them into one project.

    Generating on the fly

    Running mashup generate or mashup will present you with the following prompts:

    1. Enter a git url (http or ssh)
    2. Enter a destination folder
    3. Enter files to be cleaned out after cloning (follows mini-match standards), comma delimited
    4. Would you like to clone another? (repeat step 1)
    5. Once you respond 'no' to prompt you will be asked for a remote git url to push your new project to. This step is optional.

    Generating from a registry

    A registry is beneficial when you repeatedly need to blend the same repos or would like to automate the creation of projects. For instance, one repo can be the HTML 5 Boilerplate while the other may contain your grunt configuration. A registry is just a json file uploaded to a server which follows the format below:


    Once a registry has been added to mashup projects can be generated from the registry using the following command mashup generate [registry:template]. Power users can pass in the remote git with mashup generate [registry:template] --remote [git] or skip the remote git prompt entirely with mashup generate [registry:template] --no-remote.


    • Git urls can be either http or ssh
    • If destination folder does not exist it will be created
    • Repos are cloned into a temporary directory and then moved to their final destination
    • Any files with the same name being moved to the same destination folder will be overridden
    • In order to clone into the current working directory use a '.' as the destination

    Adding a registry

    By running mashup register you will be guided through a series of prompts allowing you to add a new registry. Power users can bypass the prompts with mashup register [name] [jsonURL].


    Generate with prompts

    mashup generate
    mashup -g

    Generate from registry with remote git url prompt

    mashup generate registry:template1
    mashup -g registry:template1

    Generate from registry skipping remote git url prompt

    mashup generate registry:template1 --no-remote

    Generate from registry passing in a remote git url

    mashup generate registry:template1 --remote

    Add new registry with prompts

    mashup register
    mashup -r

    Add new registry bypassing prompts

    mashup register myregistry http://mydomain/path/registry.json
    mashup -r myregistry http://mydomain/path/registry.json

    List available registries

    mashup list
    mashup -l

    List available templates within a registry

    mashup list myregistry
    mashup -l myregistry




    npm i mashup

    Downloadsweekly downloads








    last publish


    • avatar