← Return Home

Have a single infrastructure

A unified development effort should have a single infrastructure control all similar projects. Classes of similar projects include React components, Hapi plugins, Node.js servers, etc.

There are many different ways of implementing your projects and builds, and without being too preachy, the goals should be:

  • Declare infrastructure (build, test, qa) tasks and dependencies for those tasks in a single place.
  • Ensure new projects of the same type use that same infrastructure.

This can be accomplished with many separate repositories (“multi-repo”) or a single repository with many internal packages (“monorepo”).

Some different technology tools to get you there:

Tool Strategy Example Notes
builder multi-repo builder-victory-component Control tasks, configs, dependencies
multibot multi-repo Craft parallel repository code changes
lerna monorepo babel Multiple package.json, single repo