@reliverse/cli v1.5.12
@reliverse/cli: Bootstrap Templates in Seconds
๐ฏ @reliverse/cli is a website builder inside your terminal. You can start from scratch or use a template. You can set everything up automatically or configure everything exactly the way you like. You can have it all, with all the tools already prepared for you.
Welcome to Reliverse! This CLI helps you bootstrap and deploy new web apps in a matter of seconds.
The project focuses on Next.js, but support for other frameworks and additional features will be available soon. Happy coding!
More features coming soon!
For more detailed usage instructions, API documentation, and examples, please visit the Reliverse Docs website. If you find that the page for this library is missing, please notify us or consider contributing to add it.
Installation
To launch this CLI, run:
pnpm add @reliverse/cli@latestor with Bun:
bun add @reliverse/cli@latestFeatures
- ๐ Bootstrap slim edition of Relivator -> Versator, a Next.js starter
- ๐ Comprehensive and powerful code and no-code website builder (coming soon)
- ๐จ Beautiful and fast sites and web apps by default
- ๐ Exciting features planned (currently not all are implemented), including Next.js 14, Tauri Apps UI, Solito Expo, i18n, Stripe, Shadcn, Tailwind, Drizzle Zod Trpc, TypeScript, Resend, Auth, Lucide CSS Radix UI, Responsive React Server, TS ORM, Intl App Router Docs, User Actions Kit, SaaS Commerce Shop, and Fullstack Turborepo
CLI Installation
To install Reliverse CLI, follow these steps:
- Make sure you have Node.js installed on your system.
Run one of the following commands to install Reliverse CLI globally:
pnpm add -g reliverse # pnpm bun add -g reliverse # bun yarn global add reliverse # yarn npm install -g reliverse # npmOnce the installation is complete, you can start using Reliverse CLI.
If global installation fails, try these commands:
pnpx reliverse # pnpm
bunx reliverse # bun
yarn reliverse # yarn
npx reliverse # npmCLI Usage
To create a new project using Reliverse CLI, follow these steps:
- Open your terminal and navigate to the directory where you want to create your project.
Run the following command:
reliverseFollow the interactive prompts to configure your project options.
- Once the configuration is complete, Reliverse CLI will bootstrap your project with the selected options.
CLI Development
CLI Ts Edition:
# Build & run
pnpm start:cli
# Build only
pnpm build:cliCLI Go Edition:
# Install Go lang โ https://go.dev/dl
# Open Reliverse in terminal and run:
go run .Monorepo Development
To build all apps and packages, run the following command:
cd reliverse
pnpm run buildTo develop all apps and packages, run the following command:
cd reliverse
pnpm run devMonorepo Structure
This project includes the following packages/apps:
Apps and Packages
reliverse: a Reliverse CLInextjs: a Next.js app with App Router- coming soon
expo: a Solito app Expo Router - coming soon
tauri: a Tauri app with Tauri UI @repo/eslintconfig:eslinttool configurations (includeseslint-config-next)@repo/tailwind-config/@repo/tsconfig/@repo/jsconfig: tools used throughout the monorepo@repo/primitives: a stub React component library shared by the entire application@repo/tsconfig:tsconfig.jsons used throughout the monorepo- ...and much more!
Each package/app is 100% TypeScript.
Utilities
This project has some additional tools already set up for you:
- TypeScript for static type checking
- ESLint for code linting
- Biome for code formatting and linting
- ...and much more!
Remote Caching
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching, you will need an account with Vercel. If you don't have an account, you can create one, then enter the following commands:
cd reliverse
bunx turbo login
bunx turbo linkThis will authenticate the Turborepo CLI with your Vercel account and link your Turborepo to your Remote Cache.
Useful Links
Learn more about the power of Turborepo:
Roadmap
- Publish Reliverse CLI as a package on NPM and JSR
- Add all Relivator features to Reliverse CLI TS Edition
- Complete all items on the Relivator roadmap
- Release Relivator 1.0.0 version
Frequently Asked Questions
Why does the VSCode terminal exhibit unexpected behavior when interacting with CLI like Turbo and Reliverse?
[Use arrows to move, type to filter] โบ [B[A[BThis is a known issue. Please use an external terminal instead. For Windows users, PowerShell 7 is recommended.
How can I fix the error: ENOWORKSPACES command does not support workspaces?
To resolve this error, run the following command:
bunx next telemetry disableContributing
We welcome contributions to improve Reliverse! If you have any ideas, suggestions, or bug reports, please open an issue on the GitHub repository. If you'd like to contribute code, please follow these steps:
Fork the repository to your GitHub profile or run the following command:
bunx create-turbo@latest -e https://github.com/blefnk/reliverseInstall dependencies:
cd reliverse pnpm install(Experimental) Run the following command to check if the current project state meets the deploy best practices standards:
pnpm apptsTip: You can also use
ctrl+shift+bto run theapptsscript.
Adding New Options to Reliverse CLI
If you want to contribute a new option to Reliverse CLI, follow these steps:
- Add the option to the
CliFlagsandCliResultsinterfaces insrc/cli/index.ts. - Update the
defaultOptions.flagsanddefaultOptionsconst insrc/cli/index.tswith the new option. - Add prompts for the new option in the
runClifunction (findreturn p.confirm) to ask the user if they want to include the option. - Add the option to the
const availablePackagesandconst buildPkgInstallerMapinsrc/installers/index.ts. - Create a new installer file for the option in
src/installers/optionNameInstaller.ts. - Place the necessary files to be copied in
template/extras/*. - List the library in
const dependencyVersionMapinsrc/installers/dependencyVersionMap.ts. - Find
if (project.and add your option correspondingly. - In the return statement, add the option in the format:
optionName: project.optionName as "none" | "option1" | "option2". - If needed, find the relevant section (e.g., "Install the selected i18n package") and add your option accordingly.
- Update
const selectLayoutFileandconst selectPageFileinsrc/installers/index.tsif required. - Add final log notes in
logNextSteps.tsfile for your option. - Update the required environment variables in
envVars.tsfile if necessary. - Update the scripts in
base/package.jsonif needed.
Credits
This project is created by @blefnk Nazarii Korniienko. Many thanks to the t3-oss team for create-t3-app and create-t3-turbo, as this project is greatly inspired by their work. Reliverse has almost everything they have, so you can migrate to Relivator very easily.
License
This project is licensed under the MIT License.
How to Use This Library
To use @reliverse/cli, ensure that your project is set up as an ES module by including "type": "module" in your package.json file. Since this package is structured as an ES module, you'll need to use import statements instead of require.
The library primarily relies on the async versions of fs functions, so you need to add the await keyword before the utils from our library.
Here's an example of how to import and use a function from this package:
import { fileExists } from "@reliverse/cli";
const someFile = "path/to/file.ts";
export async function checkFile() {
await fileExists(someFile);
}Please refer to the source files located in the src folder to learn about the currently implemented functions.
This package adopts the ES module format, with files compiled to dist/.js (formerly known as dist/.mjs). This approach aligns with the Node.js team's recent recommendations, encouraging the JavaScript/TypeScript community to transition to the ES module standard. If your project still requires CommonJS (CJS) support, you may fork this repository and modify the build process to generate dist/.cjs files. For guidance or community support, join the Reliverse Discord community.
Documentation and Support
If you encounter any issues, need help, or want to contribute, you can:
- Join the Reliverse Discord community to ask questions and engage with other users and developers.
- For usage instructions, API documentation, and examples, please visit the Reliverse Docs website.
- Report bugs or suggest features by opening an issue on our GitHub repository.
Sponsors
Love using this project? If you find it useful, Iโd greatly appreciate a cup of coffee! By supporting this project, you'll gain access to Reliverse Pro, exclusive access to @reliverse/addons-pro, private repositories, pre-release downloads, and even the ability to influence projects planning. Click on the donation platforms below to learn more. Thank you all for your support!
We're Growing Fast! A Huge Thanks to All Our Supporters!
Developing something as ambitious as @reliverse/addons takes a huge amount of time, especially since the project is primarily developed by one person. The development could be significantly accelerated by bringing on additional developers. Therefore, @blefnk (Nazar Kornienko), the author of this project, would be immensely grateful to anyone who can contribute financially in any amount. A big thank you in advance to everyone who supports this effort!
Visit the "Donate to Relivator" page to see our current donors and learn more.
๐ GitHub Sponsors ๐ฉต PayPal ๐งก Patreon ๐ Buy Me a Coffee ๐ฉท Ko-fi
Contributing
We welcome contributions! If youโd like to contribute to the development of this package, please follow these steps:
- If you are a beginner: Familiarize yourself with Git by following The Detailed Git Guide created by @blefnk and @reliverse.
- Fork this repository.
- Create a new branch for your feature (e.g.
git checkout -b feature-branch). - Make your changes in the new branch.
- Commit your changes with a descriptive message (e.g.
git commit -m 'Add new feature'). - Push your changes to your branch (e.g.
git push origin feature-branch). - Open a pull request for our review.
Please ensure that your code follows the existing code style and includes appropriate tests. Your code should successfully pass the pnpm appts command.
License
This project is developed by Reliverse and @blefnk (Nazar Kornienko) and is licensed under the MIT License. For more information, please refer to the LICENSE file.
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
12 months ago
12 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
11 months ago
10 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
11 months ago
9 months ago
9 months ago
9 months ago
11 months ago
9 months ago
11 months ago
11 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
9 months ago
8 months ago
11 months ago
8 months ago
11 months ago
8 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
8 months ago
10 months ago
10 months ago
8 months ago
10 months ago
8 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
10 months ago
11 months ago
9 months ago
11 months ago
9 months ago
11 months ago
9 months ago
9 months ago
9 months ago
9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago