@claude-canvas/vite-plugin 1.0.1 → 1.0.3

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,24 @@
1
+ # Canvas OFF — Hook 비활성화
2
+
3
+ 이 스킬은 Claude Canvas Hook을 끄고 잔여 요청 파일을 정리합니다.
4
+
5
+ ## 실행 단계
6
+
7
+ ### 1. Hook 비활성화
8
+
9
+ ```bash
10
+ rm -f /tmp/claude-canvas/.enabled
11
+ rm -f /tmp/claude-canvas/request.json
12
+ ```
13
+
14
+ ### 2. 상태 확인
15
+
16
+ ```bash
17
+ [ -f /tmp/claude-canvas/.enabled ] && echo "Canvas Hook: ON" || echo "Canvas Hook: OFF"
18
+ ```
19
+
20
+ ### 3. 완료 안내
21
+
22
+ - Canvas Hook: OFF
23
+ - 브라우저 Canvas UI는 여전히 작동하지만, 이 터미널로 요청이 전달되지 않음
24
+ - Vite dev 서버는 별도로 종료하세요 (필요시)
@@ -0,0 +1,49 @@
1
+ # Canvas ON — Canvas Hook 활성화 + dev 서버
2
+
3
+ 이 스킬은 Claude Canvas 개발 환경을 한 번에 켭니다.
4
+
5
+ ## 실행 단계
6
+
7
+ ### 1. Canvas Hook 활성화
8
+
9
+ ```bash
10
+ mkdir -p /tmp/claude-canvas && touch /tmp/claude-canvas/.enabled
11
+ ```
12
+
13
+ ### 2. 기존 dev 서버 종료 + 재시작
14
+
15
+ 이미 실행 중인 dev 서버를 먼저 종료한 후 새로 시작합니다:
16
+
17
+ ```bash
18
+ lsof -ti:5173 | xargs kill -9 2>/dev/null; echo "cleared"
19
+ ```
20
+
21
+ 현재 프로젝트 루트에서 dev 서버를 백그라운드로 시작합니다:
22
+
23
+ ```bash
24
+ pnpm dev
25
+ ```
26
+
27
+ > `pnpm`이 없으면 `npm run dev`를 사용하세요.
28
+ > dev 서버는 백그라운드로 실행하세요 (`run_in_background`).
29
+
30
+ ### 3. 브라우저 열기
31
+
32
+ dev 서버가 준비되면 브라우저를 엽니다:
33
+
34
+ - WSL: `cmd.exe /c start http://localhost:5173`
35
+ - macOS: `open http://localhost:5173`
36
+ - Linux: `xdg-open http://localhost:5173`
37
+
38
+ ### 4. 상태 확인
39
+
40
+ ```bash
41
+ [ -f /tmp/claude-canvas/.enabled ] && echo "Canvas Hook: ON" || echo "Canvas Hook: OFF"
42
+ ```
43
+
44
+ ### 5. 완료 안내
45
+
46
+ - Canvas Hook: ON
47
+ - Vite dev: 실행 중
48
+ - 브라우저에서 **F4** (또는 Ctrl+Shift+A)로 Canvas 활성화
49
+ - 요소 클릭 → 지시 입력 → Send → 이 터미널에서 엔터 → 자동 처리
@@ -0,0 +1,103 @@
1
+ # Claude Canvas 설치 자동화
2
+
3
+ 이 스킬은 현재 프로젝트에 Claude Canvas Vite 플러그인을 설치하고 설정합니다.
4
+
5
+ ## 실행 단계
6
+
7
+ ### 1. Vite 프로젝트 확인
8
+
9
+ `vite.config.ts` 또는 `vite.config.js`가 프로젝트 루트에 존재하는지 확인하세요.
10
+ 없으면 사용자에게 "이 프로젝트는 Vite 기반이 아닙니다. Claude Canvas는 Vite 플러그인이므로 Vite 프로젝트에서만 사용할 수 있습니다."라고 안내하고 중단하세요.
11
+
12
+ ### 2. 패키지 설치
13
+
14
+ 프로젝트의 패키지 매니저를 감지하여 설치합니다:
15
+
16
+ - `pnpm-lock.yaml` 있으면: `pnpm add -D @claude-canvas/vite-plugin`
17
+ - `yarn.lock` 있으면: `yarn add -D @claude-canvas/vite-plugin`
18
+ - 그 외: `npm install -D @claude-canvas/vite-plugin`
19
+
20
+ ### 3. vite.config 수정
21
+
22
+ `vite.config.ts` (또는 `.js`)를 읽고 다음을 추가하세요:
23
+
24
+ **import 추가** (파일 상단):
25
+ ```typescript
26
+ import claudeCanvas from '@claude-canvas/vite-plugin'
27
+ ```
28
+
29
+ **plugins 배열에 추가**:
30
+ ```typescript
31
+ claudeCanvas()
32
+ ```
33
+
34
+ 기존 plugins 배열의 마지막에 추가하세요. 이미 `claudeCanvas`가 있으면 건너뛰세요.
35
+
36
+ ### 4. Hook 파일 설치
37
+
38
+ Canvas File Relay Hook을 설치합니다. 프로젝트 루트의 `.claude/hooks/` 디렉토리에 복사하세요:
39
+
40
+ ```bash
41
+ mkdir -p .claude/hooks
42
+ ```
43
+
44
+ 아래 내용으로 `.claude/hooks/canvas-relay-hook.sh` 파일을 생성하세요:
45
+
46
+ ```bash
47
+ #!/bin/bash
48
+ # Canvas File Relay Hook — UserPromptSubmit (stdout injection)
49
+
50
+ RELAY_DIR="/tmp/claude-canvas"
51
+ ENABLED_FLAG="$RELAY_DIR/.enabled"
52
+ REQUEST="$RELAY_DIR/request.json"
53
+
54
+ # Off unless flag exists
55
+ if [ ! -f "$ENABLED_FLAG" ]; then
56
+ exit 0
57
+ fi
58
+
59
+ if [ ! -f "$REQUEST" ]; then
60
+ exit 0
61
+ fi
62
+
63
+ CONTENT=$(cat "$REQUEST")
64
+ rm -f "$REQUEST"
65
+
66
+ echo "[Canvas 요청] 아래 JSON을 읽고 해당 파일을 수정하세요:"
67
+ echo "$CONTENT"
68
+ ```
69
+
70
+ 실행 권한 부여:
71
+ ```bash
72
+ chmod +x .claude/hooks/canvas-relay-hook.sh
73
+ ```
74
+
75
+ 그리고 `.claude/settings.json`에 Hook을 등록하세요 (없으면 생성):
76
+
77
+ ```json
78
+ {
79
+ "hooks": {
80
+ "UserPromptSubmit": [
81
+ {
82
+ "matcher": "",
83
+ "hooks": [
84
+ {
85
+ "type": "command",
86
+ "command": ".claude/hooks/canvas-relay-hook.sh"
87
+ }
88
+ ]
89
+ }
90
+ ]
91
+ }
92
+ }
93
+ ```
94
+
95
+ 이미 `settings.json`이 있으면 `hooks.UserPromptSubmit` 배열에 위 항목만 추가하세요.
96
+
97
+ ### 5. 완료 안내
98
+
99
+ 설치 완료 후 다음을 안내하세요:
100
+
101
+ - `pnpm dev` (또는 `npm run dev`)로 개발 서버를 실행하면 Claude Canvas가 활성화됩니다
102
+ - **F4** (또는 **Ctrl+Shift+A**)로 Canvas를 토글할 수 있습니다
103
+ - `/canvas-on`으로 Canvas Hook을 켜고, `/canvas-off`로 끌 수 있습니다
package/package.json CHANGED
@@ -1,52 +1,55 @@
1
- {
2
- "name": "@claude-canvas/vite-plugin",
3
- "version": "1.0.1",
4
- "description": "Vite plugin for visual annotation → Claude code modification → HMR verification",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- }
13
- },
14
- "files": ["dist"],
15
- "scripts": {
16
- "build": "tsup",
17
- "test": "vitest run",
18
- "test:watch": "vitest",
19
- "lint": "eslint src/",
20
- "typecheck": "tsc --noEmit",
21
- "clean": "rm -rf dist"
22
- },
23
- "publishConfig": {
24
- "access": "public"
25
- },
26
- "repository": {
27
- "type": "git",
28
- "url": "https://github.com/whdudguq/claude-canvas.git",
29
- "directory": "packages/vite-plugin"
30
- },
31
- "dependencies": {
32
- "@claude-canvas/core": "workspace:*",
33
- "@claude-canvas/bridge": "workspace:*"
34
- },
35
- "devDependencies": {
36
- "tsup": "^8.4.0",
37
- "vitest": "^3.0.0",
38
- "typescript": "^5.7.0",
39
- "vite": "^6.1.0",
40
- "@types/node": "^22.0.0"
41
- },
42
- "peerDependencies": {
43
- "vite": ">=5.0.0"
44
- },
45
- "keywords": [
46
- "vite",
47
- "vite-plugin",
48
- "claude",
49
- "annotation",
50
- "devtools"
51
- ]
52
- }
1
+ {
2
+ "name": "@claude-canvas/vite-plugin",
3
+ "version": "1.0.3",
4
+ "description": "Vite plugin for visual annotation → Claude code modification → HMR verification",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "commands"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/whdudguq/claude-canvas.git",
24
+ "directory": "packages/vite-plugin"
25
+ },
26
+ "dependencies": {
27
+ "@claude-canvas/core": "1.0.2",
28
+ "@claude-canvas/bridge": "1.0.2"
29
+ },
30
+ "devDependencies": {
31
+ "tsup": "^8.4.0",
32
+ "vitest": "^3.0.0",
33
+ "typescript": "^5.7.0",
34
+ "vite": "^6.1.0",
35
+ "@types/node": "^22.0.0"
36
+ },
37
+ "peerDependencies": {
38
+ "vite": ">=5.0.0"
39
+ },
40
+ "keywords": [
41
+ "vite",
42
+ "vite-plugin",
43
+ "claude",
44
+ "annotation",
45
+ "devtools"
46
+ ],
47
+ "scripts": {
48
+ "build": "tsup",
49
+ "test": "vitest run",
50
+ "test:watch": "vitest",
51
+ "lint": "eslint src/",
52
+ "typecheck": "tsc --noEmit",
53
+ "clean": "rm -rf dist"
54
+ }
55
+ }