Skip to content

Commit db3d77f

Browse files
committed
complete migration to @reliverse/prompts
1 parent f022a02 commit db3d77f

24 files changed

+511
-253
lines changed

README.md

+49-30
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,48 @@
1-
# Reliverse
1+
# @reliverse/cli
22

33
[npmjs](https://npmjs.com/package/@reliverse/cli), [GitHub](https://github.com/reliverse/cli), [Discord](https://discord.gg/Pb8uKbwpsJ)
44

5-
![Reliverse Cover Image](./reliverse.webp)
5+
**Reliverse: Open-Source Full-Featured Product Launcher Tool & Assistant**.
66

7-
## Introduction
7+
![Reliverse Cover Image](./reliverse.webp)
88

9-
👋 Welcome! This tool can help you easily create new web projects and automatically make advanced codebase modifications, with more features coming soon.
9+
👋 Welcome! This superapp tool can help you easily create new web projects and automatically make advanced codebase modifications, with more features coming soon.
1010

1111
**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.
1212

13-
It allows you to effortlessly bootstrap projects, including the [Relivator Next.js template](https://github.com/blefnk/relivator-nextjs-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.
13+
## Installation
14+
15+
Please make sure you have [Git](https://git-scm.com), [VSCode](https://code.visualstudio.com), and [Node.js LTS](https://nodejs.org/en/download/package-manager) installed first.
16+
17+
Then use one of the following commands to install **Reliverse**:
18+
19+
- With [bun](https://bun.sh): `bun i -g @reliverse/cli`
20+
- With [pnpm](https://pnpm.io/installation#using-corepack): `pnpm add -g @reliverse/cli`
21+
- With [yarn](https://yarnpkg.com): `yarn global add @reliverse/cli`
22+
- With [npm](https://nodejs.org/en/learn/getting-started/an-introduction-to-the-npm-package-manager): `npm i -g @reliverse/cli`
23+
24+
## Usage
25+
26+
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:
27+
28+
```bash
29+
reliverse
30+
```
31+
32+
## Updating
33+
34+
```bash
35+
bun rm -g @reliverse/cli
36+
bun i -g @reliverse/cli
37+
# OR bun update --latest -g
38+
# OR use another package manager
39+
```
40+
41+
## Introduction
42+
43+
A single tool to launch a brand new thing from scratch? Yes.
44+
45+
Reliverse allows you to effortlessly bootstrap projects, including the [Relivator Next.js template](https://github.com/blefnk/relivator-nextjs-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.
1446

1547
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.
1648

@@ -20,7 +52,7 @@ The mission of this project is not only to help you install templates in seconds
2052

2153
Things are too overwhelming in our world. Let's make everything easier.
2254

23-
**Reliverse CLI allows you:**
55+
**@reliverse/cli allows you:**
2456

2557
1. Install the pre-configured Relivator.
2658
2. Build your own Relivator from scratch.
@@ -30,7 +62,7 @@ Things are too overwhelming in our world. Let's make everything easier.
3062
6. Update your GitHub clone with the latest changes.
3163
7. Add, remove, or replace the Relivator's features.
3264

33-
**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.
65+
**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.
3466

3567
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.
3668

@@ -42,28 +74,15 @@ Reliverse is still in its early stages, but it already allows you to bootstrap w
4274

4375
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.
4476

45-
## Installation
46-
47-
You should install [Git](https://git-scm.com), [VSCode](https://code.visualstudio.com), and [Node.js LTS](https://nodejs.org/en/download/package-manager) first. Then use one of the following commands to install **Reliverse**:
48-
49-
- With [bun](https://bun.sh): `bun i -g @reliverse/cli`
50-
- With [pnpm](https://pnpm.io/installation#using-corepack): `pnpm add -g @reliverse/cli`
51-
- With [yarn](https://yarnpkg.com): `yarn global add @reliverse/cli`
52-
- With [npm](https://nodejs.org/en/learn/getting-started/an-introduction-to-the-npm-package-manager): `npm i -g @reliverse/cli`
53-
54-
## Usage
55-
56-
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:
77+
See the [Installation](#installation) section for more details.
5778

58-
```bash
59-
reliverse
60-
```
79+
## Collaborate
6180

62-
> **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 use `pnpm` instead*.
81+
Reliverse team is open to partnerships and collaborations. If you are interested in working together, please contact us. Discord: <https://discord.gg/Pb8uKbwpsJ>.
6382

6483
## FAQ
6584

66-
**Bun doesn't install the latest version of Reliverse CLI. What should I do?**
85+
**Bun doesn't install the latest version of @reliverse/cli. What should I do?**
6786

6887
```bash
6988
bun pm cache rm -g
@@ -72,7 +91,7 @@ bunx reliverse # OR bunx reliverse@latest
7291

7392
**Why you don't use monorepo?**
7493

75-
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.
94+
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.
7695

7796
## Reliverse Addons
7897

@@ -87,12 +106,12 @@ Reliverse Addons, also called as extensions or plugins, are projects that extend
87106
- **Interactive Setup**: Customize your setup with interactive prompts that let you choose specific file categories to include.
88107
- **Template-Driven Initialization**: Instantly clone and set up templates from GitHub to jumpstart your development.
89108
- **Versatile Functionality**: Not just for templates! Planning to clone a JS library or experiment with new setups? Reliverse can support it all.
90-
- **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.
109+
- **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.
91110
- **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.
92111

93112
### Commands
94113

95-
The Reliverse CLI offers a series of interactive prompts to streamline your project setup:
114+
The @reliverse/cli offers a series of interactive prompts to streamline your project setup:
96115

97116
1. **Create a New Project**: Start from scratch or use predefined templates for a quick setup.
98117
2. **Install GitHub Templates**: Easily install any JavaScript or TypeScript project by providing a GitHub repository URL.
@@ -102,7 +121,7 @@ The Reliverse CLI offers a series of interactive prompts to streamline your proj
102121

103122
### Example Workflow
104123

105-
Here’s an example session of using **Reliverse CLI**:
124+
Here’s an example session of using **@reliverse/cli**:
106125

107126
```bash
108127
$ reliverse
@@ -135,7 +154,7 @@ When setting up a project, you can choose from the following file categories:
135154

136155
## Conflict Management
137156

138-
**Reliverse CLI** helps you handle configuration conflicts for existing files such as `.eslintrc.cjs` or `prettier.config.js`. It prompts you with options to:
157+
**@reliverse/cli** helps you handle configuration conflicts for existing files such as `.eslintrc.cjs` or `prettier.config.js`. It prompts you with options to:
139158

140159
- **Remove**: Delete the existing file.
141160
- **Rename**: Rename the file (e.g., add `.txt` to disable it).
@@ -188,7 +207,7 @@ Visit the [Installation](#installation) section and select **Tools Installation*
188207

189208
#### Classical Method
190209

191-
To contribute to **Reliverse CLI**, you can clone the repository and install the dependencies:
210+
To contribute to **@reliverse/cli**, you can clone the repository and install the dependencies:
192211

193212
```bash
194213
git clone https://github.com/reliverse/cli.git

biome.jsonc

-3
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
"complexity": {
4646
"noBannedTypes": "off",
4747
"noForEach": "off",
48-
"noUselessFragments": "off",
4948
"noUselessLoneBlockStatements": "off",
5049
"useArrowFunction": "off",
5150
"useFlatMap": "off",
@@ -92,9 +91,7 @@
9291
"style": {
9392
"useSingleVarDeclarator": "off",
9493
"useExponentiationOperator": "off",
95-
"useTemplate": "off",
9694
"useConst": "off",
97-
"noUnusedTemplateLiteral": "off",
9895
"noInferrableTypes": "off",
9996
"noNonNullAssertion": "off",
10097
"noParameterAssign": "off",

build.publish.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function showHelp() {
77
relinka.info(`Usage: bun build.publish.ts [options]
88
99
Options:
10-
no options Publish to npm registry
10+
no options Publish to NPM registry
1111
--jsr Publish to JSR registry
1212
--dry-run Perform a dry run of the publish process
1313
-h, --help Show help

bump.config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ import { defineConfig } from "bumpp";
33
export default defineConfig({
44
push: false,
55
commit: false,
6+
tag: false,
67
});

bun.lockb

6.41 KB
Binary file not shown.

cspell.json

+3
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"Doesnt",
5757
"Dont",
5858
"Downey",
59+
"ecommerce",
5960
"emojify",
6061
"envjs",
6162
"eslintcache",
@@ -64,6 +65,7 @@
6465
"Fireship",
6566
"Focusable",
6667
"forgetme",
68+
"frontends",
6769
"Geralt",
6870
"giget",
6971
"goroutines",
@@ -136,6 +138,7 @@
136138
"sisteransi",
137139
"Sprache",
138140
"subchoices",
141+
"superapp",
139142
"Targ",
140143
"Targaryen",
141144
"tasuku",

jsr.jsonc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@reliverse/cli",
3-
"version": "1.1.0",
3+
"version": "1.2.3",
44
"author": "blefnk",
55
"license": "MIT",
66
"exports": "./dist-jsr/main.ts",

package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@reliverse/cli",
3-
"version": "1.1.0",
3+
"version": "1.2.3",
44
"author": "blefnk",
55
"type": "module",
66
"description": "A CLI tool that offers a convenient way to bootstrap a new web project and prepare it for work.",
@@ -50,8 +50,8 @@
5050
"dependencies": {
5151
"@reliverse/core": "^0.1.0",
5252
"@reliverse/fs": "^0.6.0",
53-
"@reliverse/prompts": "^1.2.4",
54-
"@reliverse/relinka": "^1.2.2",
53+
"@reliverse/prompts": "^1.3.2",
54+
"@reliverse/relinka": "^1.2.3",
5555
"@sinclair/typebox": "^0.34.9",
5656
"c12": "^2.0.1",
5757
"cli-spinners": "^3.2.0",
@@ -64,7 +64,7 @@
6464
"magic-regexp": "^0.8.0",
6565
"node-emoji": "^2.1.3",
6666
"node-fetch": "^3.3.2",
67-
"nypm": "^0.3.12",
67+
"nypm": "^0.4.0",
6868
"ofetch": "^1.4.1",
6969
"open": "^10.1.0",
7070
"pathe": "^1.1.2",
@@ -87,9 +87,9 @@
8787
"eslint": "^9.15.0",
8888
"eslint-plugin-perfectionist": "^4.1.2",
8989
"globals": "^15.12.0",
90-
"knip": "^5.38.1",
90+
"knip": "^5.38.2",
9191
"magicast": "^0.3.5",
92-
"putout": "^36.13.1",
92+
"putout": "^36.14.0",
9393
"redrun": "^11.0.5",
9494
"strip-comments": "^2.0.1",
9595
"typescript": "^5.7.2",

src/main.ts

+34-32
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import { errorHandler } from "@reliverse/prompts";
44

5+
import { showReliverseMenu } from "./menu/modules/01-showReliverseMenu.js";
6+
import { askProjectDetails } from "./menu/modules/04-askProjectDetails.js";
57
import {
68
askDir,
79
doSomeFunStuff,
@@ -20,49 +22,49 @@ import {
2022
showResults,
2123
showSelectPrompt,
2224
showStartPrompt,
23-
showInputPrompt,
2425
showTogglePrompt,
2526
} from "./menu/prompts.js";
2627
import { type UserInput } from "./menu/schema.js";
2728

2829
export default async function main() {
2930
await showStartPrompt();
30-
await showAnykeyPrompt("privacy");
31-
const username = await showInputPrompt();
32-
const dir = await askDir(username);
33-
const age = await showNumberPrompt();
34-
const password = await showPasswordPrompt();
35-
const birthday = await showDatePrompt();
36-
const lang = await showSelectPrompt();
37-
const langs = await showMultiselectPrompt();
38-
const color = await showNumSelectPrompt();
39-
const features = await showNumMultiselectPrompt();
40-
const toggle = await showTogglePrompt();
41-
const spinner = await showConfirmPrompt(username);
42-
const userInput = {
43-
username,
44-
dir,
45-
age,
46-
lang,
47-
color,
48-
password,
49-
birthday,
50-
langs,
51-
features,
52-
spinner,
53-
toggle,
54-
} satisfies UserInput;
55-
await showProgressBar();
56-
await showResults(userInput);
57-
await doSomeFunStuff(userInput);
58-
await showNextStepsPrompt();
59-
await showAnimatedText();
31+
await showAnykeyPrompt("welcome");
32+
await showReliverseMenu();
33+
// const username = await showInputPrompt();
34+
// const dir = await askDir(username);
35+
// const age = await showNumberPrompt();
36+
// const password = await showPasswordPrompt();
37+
// const birthday = await showDatePrompt();
38+
// const lang = await showSelectPrompt();
39+
// const langs = await showMultiselectPrompt();
40+
// const color = await showNumSelectPrompt();
41+
// const features = await showNumMultiselectPrompt();
42+
// const toggle = await showTogglePrompt();
43+
// const spinner = await showConfirmPrompt(username);
44+
// const userInput = {
45+
// username,
46+
// dir,
47+
// age,
48+
// lang,
49+
// color,
50+
// password: "123456",
51+
// birthday: "14.02.1990",
52+
// langs,
53+
// features,
54+
// spinner,
55+
// toggle,
56+
// } satisfies UserInput;
57+
// await showProgressBar();
58+
// await showResults(userInput);
59+
// await doSomeFunStuff(userInput);
60+
// await showNextStepsPrompt();
61+
// await showAnimatedText();
6062
await showEndPrompt();
6163
}
6264

6365
await main().catch((error: Error) =>
6466
errorHandler(
6567
error,
66-
"If this issue is related to Reliverse CLI itself, please\n│ report the details at https://github.com/blefnk/reliverse",
68+
"If this issue is related to @reliverse/cli itself, please\n│ report the details at https://github.com/reliverse/cli",
6769
),
6870
);

src/menu/configs.ts

-24
This file was deleted.

0 commit comments

Comments
 (0)