https://github.com/fsgreco/create-new-monorepo
A CLI for RAD (Rapid Application Development), helps you to start a Node.js Monorepo projects.
https://github.com/fsgreco/create-new-monorepo
boilerplate cli django laravel monorepo node prototype rad react starter template
Last synced: 5 months ago
JSON representation
A CLI for RAD (Rapid Application Development), helps you to start a Node.js Monorepo projects.
- Host: GitHub
- URL: https://github.com/fsgreco/create-new-monorepo
- Owner: fsgreco
- Created: 2023-08-06T15:39:57.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-11-14T09:53:05.000Z (7 months ago)
- Last Synced: 2025-11-14T11:34:00.385Z (7 months ago)
- Topics: boilerplate, cli, django, laravel, monorepo, node, prototype, rad, react, starter, template
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/create-new-monorepo
- Size: 572 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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:
```sh
npm create new-monorepo
```
Then, after the scaffold simply run:
```sh
npm start
```
It will launch the frontend and backend server.

## Available options
You can pass options preceded by `--` to avoid interactivity:
```sh
npm create new-monorepo -- -b django -f react
```
This 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`, and `setup: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:
```sh
npm run setup:githooks
```
Note: 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).