shopport 0.1.0

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.
@@ -0,0 +1,73 @@
1
+ # waterfall-source
2
+
3
+ 3개 소싱 채널을 비용 낮은 순서대로 검색하는 워터폴 소싱 워크플로우.
4
+
5
+ ## When to use
6
+
7
+ - 사용자가 "가장 싼 공급사 찾아줘", "최적 소싱처 검색", "소싱 비교해줘" 같은 요청을 할 때
8
+ - 여러 소싱 채널에서 동일 상품의 가격/조건을 비교할 때
9
+
10
+ ## Prerequisites
11
+
12
+ - 최소 2개 이상 소싱 채널 설정
13
+ - `sppt config list`로 소싱 채널 확인
14
+
15
+ ## Steps
16
+
17
+ ### 1. 워터폴 검색 실행
18
+
19
+ `--waterfall` 플래그로 3채널을 자동으로 순서대로 검색합니다.
20
+
21
+ **비용 절약 모드 (기본)** — 첫 유효 결과에서 중단:
22
+
23
+ ```bash
24
+ sppt source search domeggook "<keyword>" --waterfall --strategy first
25
+ ```
26
+
27
+ **최적 품질 모드** — 3채널 전부 검색 후 스코어 비교:
28
+
29
+ ```bash
30
+ sppt source search domeggook "<keyword>" --waterfall --strategy best
31
+ ```
32
+
33
+ 워터폴 순서: domeggook(도매매) → specialoffer → cjdropshipping (비용 오름차순)
34
+
35
+ 결과에는 각 상품의 마진율과 종합 스코어(마진 40% + 재고유연성 30% + 공급사신뢰도 30%)가 표시됩니다.
36
+
37
+ ### 2. 상세 조회
38
+
39
+ 워터폴 결과에서 선택한 상품의 상세 정보를 확인합니다:
40
+
41
+ ```bash
42
+ sppt source detail <channel> <productId>
43
+ ```
44
+
45
+ ### 3. 결과 요약
46
+
47
+ 사용자에게 채널별 비교 결과를 표로 정리합니다:
48
+
49
+ ```
50
+ 워터폴 소싱 결과: "키워드"
51
+ 검색 채널: 도매매, specialoffer, cjdropshipping 캐시 히트: 0 API 호출: 2 결과: 8건
52
+
53
+ 채널 상품명 도매가 마진 스코어
54
+ 도매매 상품A 8,500원 32% 78/100
55
+ specialoffer 상품B 9,200원 28% 71/100
56
+ cjdropshipping 상품C 7,150원 35% 65/100
57
+ ─────────────────────────────────────
58
+ 추천: 도매매 — 상품A (스코어 1위)
59
+ ```
60
+
61
+ ## Error handling
62
+
63
+ - **전체 채널 검색 실패**: 키워드를 변경하거나 영문으로 검색 시도
64
+ - **도매매 일일 한도 초과**: CLI가 자동으로 다음 채널로 진행
65
+ - **Rate limit**: CLI의 rate limiter가 자동 처리하므로 대기
66
+
67
+ ## Notes
68
+
69
+ - `--strategy first` (기본): 첫 유효 결과에서 중단 — API 호출 최소화
70
+ - `--strategy best`: 전체 검색 후 스코어 기반 최적 선택
71
+ - 검색 결과는 2시간 캐시됨 — 같은 키워드 재검색 시 캐시 반환
72
+ - CJ Dropshipping USD 가격은 기본 환율(1,380원) 또는 `--usd-krw N`으로 지정
73
+ - 공급사 신뢰도 스코어는 `order score record`로 쌓인 실데이터 기반
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "shopport",
3
+ "version": "0.1.0",
4
+ "description": "커머스 운영 자동화 CLI — Cafe24, Coupang, SmartStore, Shopify 통합 관리",
5
+ "type": "module",
6
+ "bin": {
7
+ "sppt": "dist/cli.js",
8
+ "shopport": "dist/cli.js"
9
+ },
10
+ "scripts": {
11
+ "dev": "tsx watch src/cli.ts",
12
+ "build:dashboard": "cd dashboard-ui && bun install && bun run build",
13
+ "build": "bun run build:dashboard && tsup && node -e \"const fs=require('fs');const f='dist/cli.js';const c=fs.readFileSync(f,'utf8');fs.writeFileSync(f,'#!/usr/bin/env bun\\n'+c);fs.chmodSync(f,0o755)\"",
14
+ "start": "node dist/cli.js",
15
+ "build:publish": "SHOPPORT_PUBLISH=1 bun run build",
16
+ "prepublishOnly": "bun run build:publish",
17
+ "test": "vitest run"
18
+ },
19
+ "keywords": [
20
+ "dropshipping",
21
+ "ecommerce",
22
+ "cafe24",
23
+ "coupang",
24
+ "smartstore",
25
+ "shopify",
26
+ "커머스운영",
27
+ "자동화"
28
+ ],
29
+ "license": "UNLICENSED",
30
+ "engines": {
31
+ "node": ">=18"
32
+ },
33
+ "files": ["dist", "README.md"],
34
+ "dependencies": {
35
+ "@browserbasehq/stagehand": "^2.0.0",
36
+ "@e965/xlsx": "^0.20.3",
37
+ "@shopport/types": "workspace:*",
38
+ "axios": "^1.13.5",
39
+ "basic-ftp": "^5.3.0",
40
+ "date-fns": "^4.1.0",
41
+ "zod": "^3.24.0"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^22.13.10",
45
+ "javascript-obfuscator": "^5.4.1",
46
+ "terser": "^5.46.1",
47
+ "tsup": "^8.5.1",
48
+ "tsx": "^4.19.4",
49
+ "typescript": "^5.8.2",
50
+ "vitest": "^4.1.4"
51
+ }
52
+ }