reborn-skills-all 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -4
- package/install.mjs +42 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
산 스킬팩을 **한 줄로** 설치합니다. 결제 후 받은 주문번호가 필요합니다 → <https://rebornlabs.kr/skillpack>
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npx reborn-skills-all@latest <주문번호>
|
|
6
|
+
npx --yes reborn-skills-all@latest <주문번호>
|
|
7
7
|
# 또는
|
|
8
|
-
npx reborn-skills-all@latest --token=<주문번호>
|
|
8
|
+
npx --yes reborn-skills-all@latest --token=<주문번호>
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
처음이시라면 그림처럼 적어 둔 안내가 있습니다 → <https://rebornlabs.kr/skillpack-guide>
|
|
@@ -20,10 +20,20 @@ npx reborn-skills-all@latest --token=<주문번호>
|
|
|
20
20
|
|---|---|---|
|
|
21
21
|
| 윈도우 명령 프롬프트 (`cmd`) | ✅ | 윈도우키 → `cmd` → 엔터 |
|
|
22
22
|
| 맥 터미널 | ✅ | `command`+`스페이스` → `터미널` → 엔터 |
|
|
23
|
-
| 컴퓨터에 깐 Claude Code | ✅ | 맨 앞에 `!` 를 붙여 `!npx reborn-skills-all@latest …` |
|
|
23
|
+
| 컴퓨터에 깐 Claude Code | ✅ | 맨 앞에 `!` 를 붙여 `!npx --yes reborn-skills-all@latest …` |
|
|
24
24
|
| **폰·브라우저의 Claude 앱** | ❌ | 그 화면은 원격 임시 컨테이너입니다. 설치돼도 **본인 컴퓨터에 남지 않습니다** |
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
### 준비물 두 가지
|
|
27
|
+
|
|
28
|
+
| 무엇 | 없으면 | 설치 |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| **Node.js 18 이상** | `npx` 를 모르는 명령이라고 합니다 | <https://nodejs.org> |
|
|
31
|
+
| **git** | 스킬이 **한 종도 안 깔립니다** — 전부 「실패」로 나옵니다 | 윈도우 `winget install --id Git.Git -e --source winget` · 맥 `xcode-select --install` |
|
|
32
|
+
|
|
33
|
+
스킬을 내려받는 일은 속에서 git 이 합니다. **윈도우에는 git 이 기본으로 안 깔려 있습니다.**
|
|
34
|
+
깐 뒤에는 **검은 창을 닫고 새로 여세요** — 열려 있던 창은 옛 환경을 그대로 들고 있어서, 깔고도 똑같이 실패합니다.
|
|
35
|
+
|
|
36
|
+
설치기가 시작할 때 이 둘을 먼저 봅니다. 없으면 **주문번호를 쓰기 전에** 멈추므로 설치 횟수는 줄지 않습니다.
|
|
27
37
|
|
|
28
38
|
---
|
|
29
39
|
|
package/install.mjs
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* 스킬팩 설치기 — **깔고, 진짜 깔렸는지 확인한다.**
|
|
4
4
|
*
|
|
5
|
-
* npx reborn-skills-all@latest <토큰> 산 것을 전부 설치
|
|
6
|
-
* npx reborn-skills-all <토큰> --check 설치하지 않고 지금 상태만 본다
|
|
7
|
-
* npx reborn-skills-all <토큰> --only design 묶음 하나만
|
|
8
|
-
* npx reborn-skills-all --self-test 검사기 자체 시험(설치 안 함)
|
|
5
|
+
* npx --yes reborn-skills-all@latest <토큰> 산 것을 전부 설치
|
|
6
|
+
* npx --yes reborn-skills-all <토큰> --check 설치하지 않고 지금 상태만 본다
|
|
7
|
+
* npx --yes reborn-skills-all <토큰> --only design 묶음 하나만
|
|
8
|
+
* npx --yes reborn-skills-all --self-test 검사기 자체 시험(설치 안 함)
|
|
9
9
|
*
|
|
10
10
|
* ★★파는 것은 스킬이 아니라 **설치 대행**이다.
|
|
11
11
|
* 스킬은 전부 남이 만든 무료 오픈소스다. 우리가 하는 일은 셋이다 —
|
|
@@ -40,9 +40,9 @@ const 하나만 = (() => { const i = 인자.indexOf("--only"); return i >= 0 ?
|
|
|
40
40
|
/**
|
|
41
41
|
* 주문번호(토큰). 세 가지 형태를 다 받는다.
|
|
42
42
|
*
|
|
43
|
-
* npx reborn-skills-all@latest q6jgc6sgnb ← 옛 형태. 이미 나간 메일·화면에 이게 박혀 있다.
|
|
44
|
-
* npx reborn-skills-all@latest --token=q6jgc6sgnb ← 새 형태. 무엇인지 이름이 붙는다.
|
|
45
|
-
* REBORN_SKILLPACK_TOKEN=... npx reborn-skills-all
|
|
43
|
+
* npx --yes reborn-skills-all@latest q6jgc6sgnb ← 옛 형태. 이미 나간 메일·화면에 이게 박혀 있다.
|
|
44
|
+
* npx --yes reborn-skills-all@latest --token=q6jgc6sgnb ← 새 형태. 무엇인지 이름이 붙는다.
|
|
45
|
+
* REBORN_SKILLPACK_TOKEN=... npx --yes reborn-skills-all
|
|
46
46
|
*
|
|
47
47
|
* ★왜 `--token=` 을 더했나(2026-08-25 구매자 실사고).
|
|
48
48
|
* 맨 난수 문자열이 뒤에 붙은 명령은 사람에게도 기계에게도 **"정체 모를 열쇠"** 로 읽힌다.
|
|
@@ -196,13 +196,33 @@ async function 받아오기(토큰) {
|
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
/* ── 선행 조건 ─────────────────────────────────────────────────────────── */
|
|
199
|
-
|
|
199
|
+
/* ★`git검사` 를 인자로 받는다. 시험이 **git 이 깔린 PC 에서도** 「없을 때」를 재려면
|
|
200
|
+
없는 상태를 실제로 만들 수 있어야 한다. 기본값은 진짜 명령이라 본 실행은 그대로다. */
|
|
201
|
+
export function 선행조건(git검사 = "git --version") {
|
|
200
202
|
const 탈 = [];
|
|
201
203
|
const major = Number(process.versions.node.split(".")[0]);
|
|
202
204
|
if (major < 18) 탈.push(`Node 가 ${process.versions.node} 입니다. 18 이상이 필요합니다 → https://nodejs.org`);
|
|
203
205
|
const r = spawnSync("npx --version", { encoding: "utf8", timeout: 60000, windowsHide: true, shell: true });
|
|
204
206
|
if (r.status !== 0) 탈.push("npx 를 실행하지 못했습니다. Node.js 를 다시 설치해 주세요.");
|
|
205
207
|
if (!existsSync(join(HOME, ".claude"))) 탈.push("~/.claude 폴더가 없습니다. 클로드 코드를 한 번 실행한 뒤 다시 돌려 주세요.");
|
|
208
|
+
/* ★★git 이 없으면 **48종이 전부 실패한다.** 속 도구인 `skills` 가 simple-git 으로
|
|
209
|
+
시스템 `git` 실행파일을 불러 레포를 clone 하기 때문이다. 윈도우에는 git 이 기본으로
|
|
210
|
+
깔려 있지 않다 — 그래서 이건 드문 일이 아니라 **흔한 첫 실행**이다.
|
|
211
|
+
★여기서 안 막으면 화면에는 빨간 「실패」만 48줄 내려가고, 왜인지는 아무 데도 안 적힌다.
|
|
212
|
+
돈을 낸 직후의 손님에게 그 화면을 보이면 안 된다 (2026-09-18 실제 CS).
|
|
213
|
+
★검사는 `--version` 으로 한다. clone 을 시켜 보는 건 느리고, 네트워크 탓과 섞인다. */
|
|
214
|
+
const g = spawnSync(git검사, { encoding: "utf8", timeout: 60000, windowsHide: true, shell: true });
|
|
215
|
+
if (g.status !== 0) {
|
|
216
|
+
탈.push(
|
|
217
|
+
"git 이 없습니다. 스킬을 내려받는 데 git 이 꼭 필요합니다 — 이것 없이는 한 종도 깔리지 않습니다.\n"
|
|
218
|
+
+ (process.platform === "win32"
|
|
219
|
+
? " 설치: 명령 프롬프트에 winget install --id Git.Git -e --source winget\n"
|
|
220
|
+
+ " ★깐 뒤에는 이 검은 창을 닫고 새로 열어야 합니다. 열려 있던 창은 옛 환경을 그대로 들고 있습니다."
|
|
221
|
+
: process.platform === "darwin"
|
|
222
|
+
? " 설치: xcode-select --install (또는 brew install git)"
|
|
223
|
+
: " 설치: sudo apt install git (또는 각 배포판의 패키지 관리자)")
|
|
224
|
+
);
|
|
225
|
+
}
|
|
206
226
|
return 탈;
|
|
207
227
|
}
|
|
208
228
|
|
|
@@ -472,6 +492,19 @@ if (자기시험) {
|
|
|
472
492
|
const 아무거나 = [...폴더].find((n) => 파일로있나(n).ok);
|
|
473
493
|
T("이미 있는 스킬은 파일로 잡힌다(없으면 건너뜀)", !아무거나 || 파일로있나(아무거나).ok);
|
|
474
494
|
|
|
495
|
+
/* ★git 검사 (2026-09-18 CS 이후 신설).
|
|
496
|
+
속 도구 `skills` 가 simple-git 으로 시스템 git 을 불러 clone 한다 —
|
|
497
|
+
git 이 없으면 48종이 **전부** 실패한다. 그 검사가 살아 있는지 양방향으로 잰다.
|
|
498
|
+
★소스를 정규식으로 베껴 대조하지 않는다. 진짜 함수를 부른다. */
|
|
499
|
+
const git탈뽑기 = (검사) => 선행조건(검사).filter((t) => t.startsWith("git 이 없습니다"));
|
|
500
|
+
/* ★★없는 상태를 **실제로 만들어** 잰다. 이 PC 에 git 이 있어도 재진다.
|
|
501
|
+
앞 판은 `git있나 ? …` 로 갈라 놓아서, git 이 깔린 PC 에서는 검사를 통째로 죽여도
|
|
502
|
+
33건이 전부 초록으로 찍혔다 — 아무것도 안 재는 관문이었다. */
|
|
503
|
+
T("★git 이 없으면 막는다", git탈뽑기("gitzzz-없는명령 --version").length === 1);
|
|
504
|
+
T("★git 이 있으면 안 막는다", git탈뽑기("git --version").length === 0);
|
|
505
|
+
T("★안내에 설치 명령이 들어 있다",
|
|
506
|
+
/winget|brew|apt|xcode-select/.test(git탈뽑기("gitzzz-없는명령 --version")[0] || ""));
|
|
507
|
+
|
|
475
508
|
const 실패 = 시험.filter(([, ok]) => !ok);
|
|
476
509
|
for (const [n, ok] of 시험) console.log(`${ok ? c.g + " ✓" : c.r + " ✗"} ${n}${c[0]}`);
|
|
477
510
|
console.log(실패.length ? `${c.r}${c.b}\n ${실패.length}건 실패${c[0]}\n` : `${c.g}${c.b}\n ${시험.length}건 전부 통과${c[0]}\n`);
|
|
@@ -534,7 +567,7 @@ async function main() {
|
|
|
534
567
|
|
|
535
568
|
if (!토큰) {
|
|
536
569
|
줄(`${c.y} 결제 완료 화면의 명령을 그대로 붙여넣어 주세요.${c[0]}`);
|
|
537
|
-
줄(`${c.d} 예) npx reborn-skills-all@latest a3f9c21b${c[0]}`);
|
|
570
|
+
줄(`${c.d} 예) npx --yes reborn-skills-all@latest a3f9c21b${c[0]}`);
|
|
538
571
|
줄(`${c.d}\n 아직 안 사셨다면 → https://rebornlabs.kr/skillpack${c[0]}`);
|
|
539
572
|
줄(`${c.d} 쓰는 법 → ${안내}${c[0]}\n`);
|
|
540
573
|
return 끝내기(1);
|