Definition: A monorepo is a standard Version Control System, or VCS (such as Git, Subversion or CVS) repository, which instead of containing just one application or unit of software (applications, libraries, micro services, modules…), contains all the components that a project (or company) needs to operate.
At first glance, it sounds counterintuitive to host more than one unit of software in a single repository, but there are few advantages on having all components stored in the same place: