Skip to content

Reliverse is a powerful command-line tool that allows you to bootstrap popular React templates, like Relivator with Next.js, in seconds. It provides a seamless way to kickstart your projects with various options and configurations.

License

blefnk/reliverse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Reliverse CLI v0.4.0: Bootstrap Templates in Seconds

Welcome to Reliverse! This CLI helps you bootstrap and deploy new web apps in a matter of seconds. Currently, the project focuses on Next.js, but support for other frameworks and additional features will be available soon. Happy coding!

Features

  • πŸš€ Bootstrap Relivator, a Next.js starter, in seconds
  • 🌐 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, Subscriptions Payments, and Turbopack Full Stack

CLI Installation

To install Reliverse CLI, follow these steps:

  1. Make sure you have Node.js installed on your system.

  2. Run one of the following commands to install Reliverse CLI globally:

    bun add -g reliverse # bun
    pnpm add -g reliverse # pnpm
    yarn global add reliverse # yarn
    npm install -g reliverse # npm
  3. Once the installation is complete, you can start using Reliverse CLI.

If global installation fails, try these commands:

bunx reliverse # bun
pnpx reliverse # pnpm
yarn reliverse # yarn
npx reliverse # npm

Usage

To create a new project using Reliverse CLI, follow these steps:

  1. Open your terminal and navigate to the directory where you want to create your project.

  2. Run the following command:

    reliverse
  3. Follow the interactive prompts to configure your project options.

  4. Once the configuration is complete, Reliverse CLI will bootstrap your project with the selected options.

CLI Development

CLI Ts Edition

# Build & run
bun start:cli
# Build only
bun build:cli

CLI 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
bun run build

To develop all apps and packages, run the following command:

cd reliverse
bun run dev

Monorepo Structure

This project includes the following packages/apps:

Apps and Packages

  • reliverse: a Reliverse CLI
  • nextjs: a Next.js app with App Router
  • [coming soon] expo: a Solito app Expo Router
  • [coming soon] tauri: a Tauri app with Tauri UI
  • @tools/eslintconfig: eslint tool configurations (includes eslint-config-next)
  • @tools/tailwind-config / @tools/tsconfig / @repo/jsconfig: tools used throughout the monorepo
  • @packages/ui: a stub React component library shared by the entire application
  • @tools/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:

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 link

This 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[B 

This 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 disable

Contributing

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:

  1. Fork the repository to your GitHub profile or run the following command:

    bunx create-turbo@latest -e https://github.com/blefnk/reliverse
  2. Install dependencies:

    cd reliverse
    bun install
  3. (Experimental) Run the following command to check if the current project state meets the deploy best practices standards:

    bun appts

    Tip: You can also use ctrl+shift+b to run the appts script.

Adding New Options to Reliverse CLI

If you want to contribute a new option to Reliverse CLI, follow these steps:

  1. Add the option to the CliFlags and CliResults interfaces in src/cli/index.ts.
  2. Update the defaultOptions.flags and defaultOptions const in src/cli/index.ts with the new option.
  3. Add prompts for the new option in the runCli function (find return p.confirm) to ask the user if they want to include the option.
  4. Add the option to the const availablePackages and const buildPkgInstallerMap in src/installers/index.ts.
  5. Create a new installer file for the option in src/installers/optionNameInstaller.ts.
  6. Place the necessary files to be copied in template/extras/*.
  7. List the library in const dependencyVersionMap in src/installers/dependencyVersionMap.ts.
  8. Find if (project. and add your option correspondingly.
  9. In the return statement, add the option in the format: optionName: project.optionName as "none" | "option1" | "option2".
  10. If needed, find the relevant section (e.g., "Install the selected i18n package") and add your option accordingly.
  11. Update const selectLayoutFile and const selectPageFile in src/installers/index.ts if required.
  12. Add final log notes in logNextSteps.ts file for your option.
  13. Update the required environment variables in envVars.ts file if necessary.
  14. Update the scripts in base/package.json if 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.