This is an alpha, sneak peek of Monorepo Maestros. For this iteration, I'm getting all of my thoughts down. In the future, we'll have better information architecture, graphics, and other awesomeness. Your feedback is welcome!

Glossary

Application

The Workspaces of our monorepo that we will deploy. Applications are likely to consume other packages within our monorepo to take advantage of code reuse.

Atomic

A characteristic of a system where changes are "all or nothing". An "atomic" system can never end up in a "halfway" state. If a change to the system is started, it either fully completes or returns to the starting state.

Monorepo

See the Understanding Monorepos page. This is the opposite of a polyrepo.

Package

A self-contained code module in a monorepo to be used in other packages and applications. We use Workspaces to define where packages exist in our monorepo.

Polyrepo

Creating many different code repositories for your code. This is the opposite of a monorepo.

Workspace

See the Workspaces page.

Yolorepo

A monorepo that doesn't follow many of the rules laid out in this course. In a yolorepo, workspaces borrow code through pathing outside of their workspace boundaries, tasks use configuration from the root of the repository, and there aren't clear boxes drawn around workspaces.

Tooling becomes difficult to use. Tasks run way too slow compared to their potential. Making any serious changes in the repository hurts a lot. You're constantly battling your formatting and linting configurations.

You're in a yolorepo.