visual-remote 0.1.3 → 0.3.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.
package/README.md CHANGED
@@ -18,24 +18,46 @@ Node.js와 pnpm 버전은 각각 `.nvmrc`와 `package.json`에 고정되어 있
18
18
 
19
19
  ## 가장 빠른 사용
20
20
 
21
- 기존 앱이 실행 중인 프로젝트에서 주소만 전달합니다.
21
+ Vite 또는 Next.js 앱의 `package.json`이 있는 폴더에서 한 번만 초기화합니다.
22
+ Next.js 자동 통합은 `instrumentation-client`를 지원하는 Next.js 15.3 이상이
23
+ 필요합니다.
22
24
 
23
25
  ```bash
24
- npx --yes visual-remote@latest http://localhost:9011
26
+ npx --yes visual-remote@latest init
25
27
  ```
26
28
 
27
- 명령이 출력한 `Gateway` 주소로 접속하면 Visual Remote가 포함된 같은 화면이
28
- 열립니다. 원래 `localhost:9011` 화면은 그대로 유지됩니다. `10001`이 사용 중이면
29
- `10002`, `10003` 순서로 Gateway 포트를 자동 선택합니다.
29
+ `init`은 프로젝트 종류를 감지하고 다음 작업을 수행합니다.
30
+
31
+ - 현재 프로젝트에 `visual-remote`를 개발 의존성으로 설치합니다.
32
+ - Vite에서는 `vite.config`에 `visualRemote()` 플러그인을 추가합니다.
33
+ - Next.js에서는 `next.config`에 `withVisualRemote()`를 적용하고
34
+ `instrumentation-client`에 개발 전용 클라이언트 로더를 추가합니다.
35
+ - 현재 폴더에 `.visualdev/config.yaml`을 생성합니다.
30
36
 
31
- 전역 설치를 선호하면 다음처럼 사용합니다.
37
+ 이후에는 앱을 평소처럼 실행합니다.
32
38
 
33
39
  ```bash
34
- npm install --global visual-remote
35
- visual http://localhost:9011
40
+ npm run dev
41
+ ```
42
+
43
+ 브라우저에서는 앱의 원래 주소를 그대로 엽니다. 앱이 `localhost:9011`에서
44
+ 실행된다면 Visual Remote도 `http://localhost:9011`에서 표시됩니다. 내부 Bridge는
45
+ `10001`부터 빈 포트를 사용하지만 사용자가 그 포트로 접속할 필요는 없습니다.
46
+
47
+ ```text
48
+ http://localhost:9011/api/* → 기존 앱이 그대로 처리
49
+ http://localhost:9011/@vite/* → 기존 Vite HMR이 그대로 처리
50
+ http://localhost:9011/_next/* → 기존 Next.js 자산/HMR이 그대로 처리
51
+ http://localhost:9011/_visual/* → 내부 Visual Remote Bridge로만 전달
36
52
  ```
37
53
 
38
- ## 빠른 시작
54
+ 이미 실행 중이던 개발 서버가 있다면 `init` 후 한 번 재시작해야 변경된 설정이
55
+ 적용됩니다. Portr를 사용할 때도 내부 Bridge 포트가 아니라 기존 앱 포트만 노출합니다.
56
+
57
+ 자동 통합은 Vite와 Next.js 프로젝트를 지원합니다. 다른 프레임워크나 설정 파일을
58
+ 자동으로 수정하고 싶지 않은 프로젝트에서는 아래의 `attach` 방식을 사용할 수 있습니다.
59
+
60
+ ## 저장소에서 개발
39
61
 
40
62
  저장소를 받은 뒤 NVM을 불러오고 고정된 Node.js 버전을 선택합니다.
41
63
 
@@ -61,8 +83,7 @@ corepack pnpm build
61
83
  node apps/cli/dist/index.js doctor
62
84
  ```
63
85
 
64
- `doctor`에서 Git 작업 트리는 통과하고, 아직 `.visualdev/config.yaml`을 만들지
65
- 않았다면 attach 기본값을 사용할 수 있다는 경고가 표시됩니다.
86
+ `doctor`에서 Git 작업 트리, 현재 프로젝트 설정과 Codex 실행 환경을 확인합니다.
66
87
 
67
88
  ## 자동화 셸에서 Node.js 24 사용
68
89
 
@@ -80,37 +101,11 @@ corepack pnpm test
80
101
  이 저장소의 `AGENTS.md`에도 같은 절차가 기록되어 있습니다. 자동화는 설치나
81
102
  검증 전에 반드시 `node --version`이 `v24.18.0`인지 확인해야 합니다.
82
103
 
83
- ## 기존 개발 서버에 연결
84
-
85
- 먼저 대상 애플리케이션을 평소처럼 실행합니다. 다음 예시는 애플리케이션이
86
- `localhost:9011`에서 실행 중인 경우입니다.
104
+ ## 설정
87
105
 
88
- ```bash
89
- npx --yes visual-remote@latest http://localhost:9011
90
- ```
91
-
92
- 브리지는 `10001`부터 빈 포트를 찾아 다음과 같은 주소를 출력합니다.
93
-
94
- ```text
95
- Gateway: http://localhost:10001
96
- Upstream: http://localhost:9011/
97
- Open: http://localhost:10001
98
- ```
99
-
100
- 브라우저에서는 출력된 `Gateway` 또는 `Open` 주소를 엽니다. 별도의 페어링 링크나
101
- 토큰은 필요하지 않습니다.
102
-
103
- Portr를 사용한다면 원래 개발 서버 포트가 아니라 브리지 Gateway 포트 `10001`을
104
- 노출해야 합니다. 앱 화면, 개발 서버의 HMR, 브리지 제어 채널이 한 출처를
105
- 사용합니다. `--public-url`에는 Portr가 발급한 공개 주소를 전달합니다. 공개 주소를
106
- 항상 사용한다면 `.visualdev/config.local.yaml`의 `gateway.publicUrl`로도 설정할 수
107
- 있습니다.
108
-
109
- ## 선택 사항: 앱 실행까지 함께 관리
110
-
111
- 대상 저장소 루트에서 `visual init`을 실행하면 패키지 매니저와 `dev` 스크립트를
112
- 감지해 `.visualdev/config.yaml`을 생성합니다. 기존 파일은 덮어쓰지 않습니다.
113
- 직접 작성할 때 명령은 셸 문자열이 아니라 인자 배열로 작성합니다.
106
+ `init`은 명령을 실행한 현재 프로젝트 폴더에 설정을 생성합니다. 모노레포의 하위
107
+ Vite 또는 Next.js 앱에서 실행하면 Git 루트가 아니라 해당 앱 폴더에 생성됩니다. 기존 설정은
108
+ 덮어쓰지 않습니다.
114
109
 
115
110
  ```yaml
116
111
  version: 1
@@ -167,18 +162,24 @@ paths:
167
162
  - dist/**
168
163
  ```
169
164
 
170
- 설정 다음 명령을 실행합니다.
165
+ Vite 플러그인 또는 Next.js 설정 래퍼가 개발 서버와 함께 내부 Bridge를 시작합니다.
166
+ `agent`, `verification`, `paths` 같은 상세 설정만 YAML에서 조정하면 됩니다.
167
+
168
+ ## 기존 attach 방식
169
+
170
+ 다음 명령은 이전 버전과의 호환을 위해 남아 있습니다.
171
171
 
172
172
  ```bash
173
- node apps/cli/dist/index.js dev
173
+ npx --yes visual-remote@latest http://localhost:9011
174
174
  ```
175
175
 
176
- 브리지가 개발 서버 프로세스를 시작하고 종료까지 관리합니다. 프레임워크가 Host
177
- 또는 Origin 허용 목록을 사용한다면 로컬 Gateway와 실제 Portr 호스트를 추가합니다.
176
+ 방식은 별도 Gateway 주소를 열어 전체를 프록시합니다. 자동 통합을 사용할 수
177
+ 있는 Vite와 Next.js 프로젝트에서는 `init`을 사용하고 원래 주소로 접속합니다.
178
+ 설정 파일을 변경하지 않거나 다른 프레임워크에 붙일 때는 `attach`를 사용합니다.
178
179
 
179
180
  ## 브라우저에서 변경 요청
180
181
 
181
- 1. 출력된 공개 주소를 엽니다.
182
+ 1. 평소 사용하는 주소를 엽니다.
182
183
  2. `Command+Shift+G` 또는 `Ctrl+Shift+G`로 오버레이를 열고 닫습니다.
183
184
  3. 전체 작업 내역을 보려면 `작업 보드 ↗`를 눌러 별도 탭을 엽니다.
184
185
  4. 변경을 요청하려면 요소 하나, 여러 요소, 영역 또는 페이지 전체를 선택합니다.
@@ -208,17 +209,15 @@ Overlay에서 `작업 보드 ↗`를 다시 눌러 새 세션을 엽니다. 연
208
209
  현재 제공하는 명령은 다음과 같습니다.
209
210
 
210
211
  ```bash
211
- npx visual-remote http://localhost:9011
212
- visual init
212
+ npx --yes visual-remote@latest init
213
213
  visual attach --help
214
214
  visual dev --help
215
215
  visual status
216
216
  visual doctor
217
217
  ```
218
218
 
219
- - 기본 명령: 전달한 기존 주소 앞에 브리지를 연결합니다.
219
+ - `init`: 현재 Vite 또는 Next.js 앱에 개발 전용 통합을 설치합니다.
220
220
  - `attach`: 기본 명령의 명시적 이름이며 기존 사용법과 호환됩니다.
221
- - `init`: 선택적으로 앱 실행까지 관리할 때 기본 설정을 생성합니다.
222
221
  - `dev`: `init` 설정을 사용해 앱과 브리지를 함께 실행하는 선택 명령입니다.
223
222
  - `status`: 현재 Git 작업 트리의 브리지 실행 상태를 확인합니다.
224
223
  - `doctor`: Git, 설정 파일, 개발 명령과 Codex 사용 가능 여부를 점검합니다.
@@ -245,6 +244,9 @@ corepack pnpm audit --prod
245
244
  packages/overlay/dist/client.js
246
245
  packages/overlay/dist/viewer.js
247
246
  apps/cli/dist/index.js
247
+ apps/cli/dist/vite.js
248
+ apps/cli/dist/next.js
249
+ apps/cli/dist/next-client.js
248
250
  ```
249
251
 
250
252
  ## 저장소 구조
@@ -284,6 +286,7 @@ node --version
284
286
 
285
287
  ### 설정 파일 경고가 표시되는 경우
286
288
 
287
- 기존 서버에 연결하는 `attach`는 설정 파일 없이도 기본값으로 실행할 수 있습니다.
288
- 브리지가 개발 서버를 직접 관리해야 한다면 `visual init`을 실행한 뒤 `doctor`를
289
- 다시 실행합니다.
289
+ Vite 또는 Next.js 앱의 `package.json`이 있는 폴더에서 `visual init`을 실행한
290
+ `doctor`를 다시 실행합니다. Vite는 `vite.config`, Next.js는 `next.config`와
291
+ `instrumentation-client`가 구성되어야 합니다. 모노레포에서는 Git 루트가 아니라
292
+ 실제 앱 폴더에서 실행합니다.