š Welcome! This tool can help you easily create new web projects and automatically make advanced codebase modifications, with more features coming soon.
Reliverse is a CLI tool designed to streamline the setup of JavaScript, TypeScript, and other types of projects, with a primary focus on Next.js templates, though it is not limited to them.
It allows you to effortlessly bootstrap projects, including the Relivator Next.js template or any other template from GitHub or other Git-based sources. Additionally, Reliverse assists in managing configuration files and resolving potential conflicts between tools like ESLint, Prettier, and Biome.
Reliverse is more than just the easiest way to install Relivator. Itās also the most convenient new way to download any repository from GitHub and automatically prepare it for work. Especially if itās a project from the JavaScript ecosystem.
The mission of this project is not only to help you install templates in seconds. It is also a desire to make web development more accessible to everyone. Itās a commitment to fixing many things that donāt work in the ecosystem. Itās a wish to share templates, libraries, and tools with the world that deserve attention. Itās also a drive to motivate developers to become contributors to various projects that need and deserve it.
Things are too overwhelming in our world. Let's make everything easier.
Reliverse CLI allows you:
- Install the pre-configured Relivator.
- Build your own Relivator from scratch.
- Install any web-related repository from GitHub.
- Add shadcn/ui components to your React/Vue/Svelte project.
- Run code modifications on the existing codebase.
- Update your GitHub clone with the latest changes.
- Add, remove, or replace the Relivator's features.
It's a single tool for everything. At its current stage, Reliverse CLI is a powerful website builder and project bootstrapper, right in your terminal. However, it wonāt be only a website builder in the future, it will be a tool for building anything. Even now, you can start from scratch or with a template, setting everything up automatically or customizing it to your exact preferences. With all the tools pre-configured and ready to go, you can build exactly what you envision.
Remember the feeling of empowerment when you first used a website builder like WordPress? It gave you the freedom to create. But eventually, you hit limitsāPageSpeed Insights flagged issues, performance lagged, and the bloated size of your site became hard to ignore.
Thatās where Reliverse comes in. Reliverse is designed to fix the problems of traditional website builders, offering a universal toolset that lets you create anything you can imagineāefficiently and with ease.
Reliverse is still in its early stages, but it already allows you to bootstrap websites quickly. Soon, advanced customization options will be available, along with other exciting features. You're going to love what's coming.
By the way, you might think that a CLI doing so many things would become bloated, like an elephant in the room, but donāt worryāitās going to be lean. This is the dream of a creator, a dream that must become reality. Everything has to be perfect.
You should install Git, VSCode, and Node.js LTS first. Then use one of the following commands to install Reliverse:
- With [bun ](https://bun .sh):
bun i -g reliverse
- With pnpm:
bun add -g reliverse
- With yarn:
yarn global add reliverse
- With npm:
npm i -g reliverse
Once installed, you can use Reliverse CLI to create new projects or manage existing ones. Navigate to the root of your desired directory and run:
reliverse
Temporary issue: It seems that currently if you build and publish a project using bun , then the project does not run with a global installation, so now wherever README.md says to use
bun
, please usepnpm
instead.
Bun doesn't install the latest version of Reliverse CLI. What should I do?
bun pm cache rm -g
bunx reliverse
Why you don't use monorepo?
Our mission is to make web development accessible and understandable for everyone. By everyone, we also mean any tool. Unfortunately, not every web tool works perfectly with monorepo, including Bun, which is critical for us. Strange things can sometimes happen with a monorepo codebase. But it depends on the vision of the project. If there is a real need for monorepo and all the tools work well, we will be free to switch to it. There has already been an attempt to switch to a monorepo structure, the developments were saved and available as a monorepo bootstrap using Reliverse CLI itself.
Reliverse Addons, also called as extensions or plugins, are projects that extend the functionality of Reliverse ecosystem. They are created by Reliverse core team and community. Not all of them are included in the Reliverse monorepo and can be installed separately. Reliverse Extension API is coming soon. Projects that are using Reliverse Addons may be selected and featured in the @reliverse/awesome showcase. You can build your own Reliverse Addons using Reliverse Helper CLI. This CLI will help you to build your own Reliverse Addons. This CLI is currently under development and not available yet. Please check back later.
- Create Projects: Easily build new projects from scratch, including your own version of the Relivator Next.js template, or install any other templates directly from GitHub.
- JavaScript/TypeScript Support: Designed primarily for React and Next.js projects but compatible with a wide range of JavaScript and TypeScript libraries.
- Automatic Configuration Management: Manages project configurations for ESLint, Biome, Putout, GitHub, and IDE settings automatically.
- Conflict Resolution: Detects existing configurations and guides you through file conflicts, giving you control over which files to retain or replace.
- Interactive Setup: Customize your setup with interactive prompts that let you choose specific file categories to include.
- Template-Driven Initialization: Instantly clone and set up templates from GitHub to jumpstart your development.
- Versatile Functionality: Not just for templates! Planning to clone a JS library or experiment with new setups? Reliverse can support it all.
- Enhanced shadcn/ui CLI Integration: [W.I.P] The Reliverse CLI integrates with the shadcn/ui CLI, enabling seamless addition of components and dependencies to your project. With added features and support for shadcn-vue and shadcn-svelte (community-led ports for Vue and Svelte), you can easily add shadcn/ui components to React, Vue, and Svelte projects. Checkboxes let you select and install multiple components at once. Note: Reliverse and these community-supported ports are not affiliated with @shadcn.
- Future Expansion: While currently optimized for JavaScript and TypeScript projects (e.g., React, Astro, Vue, Svelte), Reliverse is envisioned to grow beyond web development into a comprehensive toolset youāll love. This is the founderās vision for Reliverseāto become the single tool for everything.
The Reliverse CLI offers a series of interactive prompts to streamline your project setup:
- Create a New Project: Start from scratch or use predefined templates for a quick setup.
- Install GitHub Templates: Easily install any JavaScript or TypeScript project by providing a GitHub repository URL.
- Manage Configurations: The CLI detects existing configuration files and helps you resolve any conflicts.
- Select Configuration Categories: Choose from a range of configuration options for your setup, including ESLint, Biome, Putout, GitHub settings, and IDE preferences.
- Ongoing Support: Reliverse supports you throughout your entire development process. You can run
reliverse
even on an existing project, and if your projectāspackage.json
contains anappts
script, it acts as a local instance ofreliverse
within your project.
Hereās an example session of using Reliverse CLI:
$ reliverse
? How do you want to proceed?
1. I want to build my own Relivator from scratch
2. I just want to install a template from GitHub
? Select the file categories you want to download:
ā eslint, biome, putout
ā GitHub
ā IDE
ā Reliverse configs
? Do you want to replace all existing files? (N opens Conflict Management menu) (y/N)
When setting up a project, you can choose from the following file categories:
- eslint, biome, putout
.eslintrc.js
,biome.json
,.putout.json
- GitHub
.github
,README.md
- IDE
.vscode
- Reliverse configs
reliverse.config.ts
,reliverse.info.ts
Reliverse CLI helps you handle configuration conflicts for existing files such as .eslintrc.cjs
or prettier.config.js
. It prompts you with options to:
- Remove: Delete the existing file.
- Rename: Rename the file (e.g., add
.txt
to disable it). - Do Nothing: Keep the existing file.
? .eslintrc.cjs file exists. Do you want to remove or rename it?
1. Remove
2. Rename to .eslintrc.cjs.txt
3. Do nothing
? prettier.config.js found. Biome will be installed, so Prettier is not necessary.
1. Remove
2. Rename to prettier.config.js.txt
3. Do nothing
You can install any JavaScript/TypeScript project (not just Next.js templatesāanything, including JS libraries) from a GitHub repository by providing the repository URL during the interactive setup:
$ reliverse
? How do you want to proceed?
1. I want to build my own Relivator from scratch
2. I just want to install a template from GitHub
3. I want to clone a library/tool from GitHub
? Enter the GitHub repository link: (e.g., `https://github.com/user/repo`)
Reliverse will then clone the repository and set up the project.
You can use Reliverse itself to install it locally! š
Visit the Installation section and select Tools Installation when choosing to Clone Reliverse Repository for Local Development.
To contribute to Reliverse CLI, you can clone the repository and install the dependencies:
git clone https://github.com/reliverse/cli.git
cd reliverse
bun i # OR bun i OR yarn install OR npm i
To run the CLI locally for development purposes, use:
bun run dev
# or
bun run dev
# or
yarn dev
# or
npm dev
We welcome contributions! Feel free to open issues or submit pull requests. Please ensure your code adheres to our linting guidelines by running bun appts
before submitting.
Temporary issue: It seems that currently if you build and publish a project using bun , then the project does not run with a global installation, so now wherever README.md says to use
bun
, please usepnpm
instead.
Reliverse takes a different, non-standard approach compared to other bootstrappers. The author has observed many CLIs handling project bootstrapping, some of which are quite impressive. However, their repositories often contain numerous files that are eventually bundled into a single index.js
, functioning like an installer wizard. This leads to cluttered repositories, typically set up as monorepos, adding complexity. In contrast, the reliverse/cli
repository downloads specific files from existing repositories and only copies or generates files when absolutely necessary.
This project is licensed under the MIT Licenseāsee the LICENSE file for more details.
Reliverse is a CLI tool designed to streamline the setup of JavaScript, TypeScript, and other types of projects, with a primary focus on Next.js templates, though it is not limited to them. It allows you to effortlessly bootstrap projects, including the Relivator Next.js template or any other template from GitHub or other Git-based sources. Additionally, Reliverse assists in managing configuration files and resolving potential conflicts between tools like ESLint, Prettier, and Biome.