node package manager


Red Hot

Monorepo management for TypeScript projects

Features and Design Goals

  • Manage many interlinks or closely related packages with ease
  • First Class Support for TypeScript 2.x
  • Manage commit messages
  • Generate Documentation that is GitHub Pages compatible
  • Automatic Semantic Versioning
  • Automated Deployment
  • Automated Changelog generation
  • Support for npm 3+ only
  • Useful out-of-box with configuration
  • Convention over configuration


redhot init

Initialized your new redhot managed project with default configurations. Will generate the following files for you.

  • redhot.json
  • tsconfig.json
  • tslint.json
  • package.json
  • (MIT)
  • .travis.yml
  • .github/
  • .github/
  • .gitignore

redhot create [packageName]

Scaffolds and sets up a new managed package. Generates a folder named packageName and generates the following files inside

  • package.json
  • src/index.ts
  • test/index.ts

redhot commit

Used to enforce good commit messages that are used to follow semantic versioning as well as generate changelogs. It will bring you through a series of prompts to generate your awesome commit messages in a nice and easy manner.

redhot build

Builds all managed packages with tsc. Configurable via tsconfig.json

redhot lint

Lints all managed packages with tslint configured via tslint.json

redhot test

Runs tests for all managed packages with mocha and ts-node

redhot release

Publishes all modified packages to NPM following semantic versioning. Recursively updates packages that depend upon them as long as there are no breaking changes included. Generates changelogs and updates documentation.

redhot exec -- [command]

Runs a command inside of all managed packages

redhot labels

If you are using GitHub, this will generate issue labels that correspond your configured packages.


The configuration for all of your monorepo needs

  "packages": [
  "scripts": {
    "clean": "rimraf lib",


An array of all the directories you'd like to manage