npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@reliverse/cli

v0.2.0

Published

@reliverse/cli is a website builder inside your terminal. You can start from scratch, or you can install a selected template. You can set everything up automatically, or configure everything the way you want. You can have it all. This world is yours, and

Downloads

134

Readme

@reliverse/cli: Bootstrap Templates in Seconds

👉 https://reliverse.org

🏯 @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@latest

or with Bun:

bun add @reliverse/cli@latest

Features

  • 🚀 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:

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

  2. 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 # npm
  3. Once 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 # npm

CLI 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
pnpm start:cli
# Build only
pnpm 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
pnpm run build

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

cd reliverse
pnpm 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
  • @repo/eslintconfig: eslint tool configurations (includes eslint-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 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

  • [x] 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
    pnpm install
  3. (Experimental) Run the following command to check if the current project state meets the deploy best practices standards:

    pnpm 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.


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:

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:

  1. If you are a beginner: Familiarize yourself with Git by following The Detailed Git Guide created by @blefnk and @reliverse.
  2. Fork this repository.
  3. Create a new branch for your feature (e.g. git checkout -b feature-branch).
  4. Make your changes in the new branch.
  5. Commit your changes with a descriptive message (e.g. git commit -m 'Add new feature').
  6. Push your changes to your branch (e.g. git push origin feature-branch).
  7. 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.