create-new-monorepo
v1.11.2
Published
A CLI for RAD (Rapid Application Development), helps you to start a Node.js Monorepo projects.
Downloads
155
Maintainers
Readme
Create new monorepo
This project is a starter CLI for scaffold new monorepos in a simpler way. It follows the Rapid Application Development (RAD) philosophy.
The resulting monorepo will be managed by npm but you can set any application you want (even with apps in PHP or Python).
Usage
You don't need to install anything.
Simply run this command on your terminal and answer the questions:
npm create new-monorepo <project-name>Then, after the scaffold simply run:
npm startIt will launch the frontend and backend server.

Available options
You can pass options preceded by -- to avoid interactivity:
npm create new-monorepo <project-name> -- -b django -f reactThis will create a django app under /backend and a react app under /frontend directory.
The available options are:
| Command | shorthand | example |
|:--------------:|:---------:|------------------------------------------------------------------------------------------------------------------------|
| --project | -p | npm create new-monorepo -- -p my-project Alternatively use an argument:npm create new-monorepo my-project |
| --frontend | -f | npm create new-monorepo my-project -- -f react |
| --backend | -b | npm create new-monorepo my-project -- -b django |
| --tooling | -t | npm create new-monorepo my-project -- -t (skips prompt, enables linting and formatting) |
Available templates:
At the moment this are the available templates:
| Frontend |
|-------------------------------------------------------------------------------|
| vanilla, react, vue, svelte, solid, qwik, preact, lit, none |
| Backend |
|-------------------------------------------------------------------------------|
| laravel, django, fastify, none |
Linting and Formatting
During setup, you'll be asked if you want basic linting and formatting tools. If you answer yes (or use --tooling), the CLI will:
- Install ESLint, Prettier, and Lefthook as dev dependencies
- Generate configuration files (
.prettierrc.json,.prettierignore,eslint.config.js,lefthook.yml) - Add npm scripts:
normalize,lint,check, andsetup:githooks
Enabling Git Hooks
Lefthook will automatically format and lint your code before each commit.
It will be installed as devDependency. To enable the git hooks (pre-commit linting/formatting), run:
npm run setup:githooksNote: this will work only if you initialize the project with git. If you use npm, the hooks will also be enabled automatically whenever you run npm install (lefthook has a built-in postinstall hook in its package.json).
Notes:
If you choose django or laravel as a backend service you will need to have installed the requirements (either django-admin or php composer in the device). This CLI will check if they are installed and exit with an error explanation if not. Due to this checking process (that uses POSIX-compliant system) this CLI will not work on Windows at the moment (in the future proper compatibility will be implemented).
