monol-plugin-scout 2.1.3 → 4.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.
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +244 -0
- package/monol-plugin-scout-pkg/CLAUDE.md +125 -8
- package/monol-plugin-scout-pkg/api/mock/categories.json +81 -0
- package/monol-plugin-scout-pkg/api/mock/insights.json +111 -0
- package/monol-plugin-scout-pkg/api/mock/marketplace.json +501 -0
- package/monol-plugin-scout-pkg/api/mock/trending.json +96 -0
- package/monol-plugin-scout-pkg/commands/console.md +79 -0
- package/monol-plugin-scout-pkg/commands/frequency.md +32 -0
- package/monol-plugin-scout-pkg/commands/install.md +32 -0
- package/monol-plugin-scout-pkg/commands/priority.md +30 -0
- package/monol-plugin-scout-pkg/commands/quiet.md +32 -0
- package/monol-plugin-scout-pkg/commands/schedule.md +32 -0
- package/monol-plugin-scout-pkg/commands/scout.md +8 -5
- package/monol-plugin-scout-pkg/commands/skills.md +160 -0
- package/monol-plugin-scout-pkg/commands/team.md +32 -0
- package/monol-plugin-scout-pkg/commands/timing.md +32 -0
- package/monol-plugin-scout-pkg/commands/trust.md +85 -0
- package/monol-plugin-scout-pkg/commands/trusted-install.md +98 -0
- package/monol-plugin-scout-pkg/commands/uninstall.md +31 -0
- package/monol-plugin-scout-pkg/config.yaml +57 -0
- package/monol-plugin-scout-pkg/data/.cache/676d5ab664292155e5f509c69d4edae1 +10 -0
- package/monol-plugin-scout-pkg/data/.session +8 -0
- package/monol-plugin-scout-pkg/data/analytics.json +102 -0
- package/monol-plugin-scout-pkg/data/history.json +67 -11
- package/monol-plugin-scout-pkg/data/logs/scout.log +1 -0
- package/monol-plugin-scout-pkg/data/schedules.json +17 -0
- package/monol-plugin-scout-pkg/data/team.json +53 -0
- package/monol-plugin-scout-pkg/data/usage.json +100 -7
- package/monol-plugin-scout-pkg/docs/ARCHITECTURE.md +201 -0
- package/monol-plugin-scout-pkg/hooks/generate-insights.sh +102 -0
- package/monol-plugin-scout-pkg/hooks/hooks.json +36 -1
- package/monol-plugin-scout-pkg/hooks/on-session-end.sh +136 -0
- package/monol-plugin-scout-pkg/hooks/on-session-start.sh +43 -0
- package/monol-plugin-scout-pkg/hooks/on-stop.md +79 -0
- package/monol-plugin-scout-pkg/hooks/open-console.sh +111 -0
- package/monol-plugin-scout-pkg/hooks/open-dashboard.sh +61 -0
- package/monol-plugin-scout-pkg/hooks/track-usage.sh +59 -0
- package/monol-plugin-scout-pkg/lib/ai-recommender.sh +505 -0
- package/monol-plugin-scout-pkg/lib/cache.sh +194 -0
- package/monol-plugin-scout-pkg/lib/data-validator.sh +360 -0
- package/monol-plugin-scout-pkg/lib/error-handler.sh +296 -0
- package/monol-plugin-scout-pkg/lib/logger.sh +263 -0
- package/monol-plugin-scout-pkg/lib/plugin-manager.sh +239 -0
- package/monol-plugin-scout-pkg/lib/priority-scorer.sh +262 -0
- package/monol-plugin-scout-pkg/lib/profile-learner.sh +339 -0
- package/monol-plugin-scout-pkg/lib/project-analyzer.sh +281 -0
- package/monol-plugin-scout-pkg/lib/recommendation-controller.sh +290 -0
- package/monol-plugin-scout-pkg/lib/rejection-learner.sh +232 -0
- package/monol-plugin-scout-pkg/lib/scheduler.sh +275 -0
- package/monol-plugin-scout-pkg/lib/skill-scout.sh +729 -0
- package/monol-plugin-scout-pkg/lib/sync.sh +221 -0
- package/monol-plugin-scout-pkg/lib/team-learner.sh +450 -0
- package/monol-plugin-scout-pkg/lib/team-manager.sh +369 -0
- package/monol-plugin-scout-pkg/lib/trend-learner.sh +428 -0
- package/monol-plugin-scout-pkg/lib/trust-manager.sh +261 -0
- package/monol-plugin-scout-pkg/lib/trusted-installer.sh +738 -0
- package/monol-plugin-scout-pkg/plugin.json +3 -2
- package/monol-plugin-scout-pkg/skills/audit.md +6 -0
- package/monol-plugin-scout-pkg/skills/cleanup.md +6 -0
- package/monol-plugin-scout-pkg/skills/compare.md +6 -0
- package/monol-plugin-scout-pkg/skills/console.md +315 -0
- package/monol-plugin-scout-pkg/skills/explore.md +6 -0
- package/monol-plugin-scout-pkg/skills/fork.md +6 -0
- package/monol-plugin-scout-pkg/skills/frequency.md +93 -0
- package/monol-plugin-scout-pkg/skills/install.md +127 -0
- package/monol-plugin-scout-pkg/skills/priority.md +77 -0
- package/monol-plugin-scout-pkg/skills/quiet.md +73 -0
- package/monol-plugin-scout-pkg/skills/schedule.md +95 -0
- package/monol-plugin-scout-pkg/skills/scout.md +27 -17
- package/monol-plugin-scout-pkg/skills/skills.md +230 -0
- package/monol-plugin-scout-pkg/skills/team.md +117 -0
- package/monol-plugin-scout-pkg/skills/timing.md +97 -0
- package/monol-plugin-scout-pkg/skills/trust.md +120 -0
- package/monol-plugin-scout-pkg/skills/trusted-install.md +264 -0
- package/monol-plugin-scout-pkg/skills/uninstall.md +100 -0
- package/monol-plugin-scout-pkg/web/components/activity-chart.js +208 -0
- package/monol-plugin-scout-pkg/web/components/index.js +27 -0
- package/monol-plugin-scout-pkg/web/components/insight-card.js +365 -0
- package/monol-plugin-scout-pkg/web/components/overview.js +154 -0
- package/monol-plugin-scout-pkg/web/components/plugin-list.js +242 -0
- package/monol-plugin-scout-pkg/web/components/stats-card.js +126 -0
- package/monol-plugin-scout-pkg/web/components/team-list.js +346 -0
- package/monol-plugin-scout-pkg/web/console.html +2098 -0
- package/monol-plugin-scout-pkg/web/dashboard.html +2106 -0
- package/monol-plugin-scout-pkg/web/manifest.json +29 -0
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monol-plugin-scout",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Claude Code 플러그인 마켓플레이스 모니터링 및 추천 에이전트",
|
|
5
5
|
"author": "monol",
|
|
6
6
|
"commands": "commands/",
|
|
7
7
|
"skills": "skills/",
|
|
8
|
-
"hooks": "hooks/"
|
|
8
|
+
"hooks": "hooks/",
|
|
9
|
+
"lib": "lib/"
|
|
9
10
|
}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
description: 설치된 플러그인 보안 및 업데이트 점검
|
|
3
3
|
argument-hint: "[--security | --updates]"
|
|
4
4
|
allowed-tools: [Read, Glob, Bash, WebFetch]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh audit"
|
|
10
|
+
timeout: 5
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
# /scout audit - 보안 및 업데이트 점검
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
description: 미사용 플러그인 정리 제안
|
|
3
3
|
argument-hint: "[--dry-run | --force]"
|
|
4
4
|
allowed-tools: [Read, Glob, Bash, AskUserQuestion]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh cleanup"
|
|
10
|
+
timeout: 5
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
# /scout cleanup - 미사용 플러그인 정리
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
description: 플러그인 비교표 생성
|
|
3
3
|
argument-hint: "<plugin1> <plugin2> [plugin3]"
|
|
4
4
|
allowed-tools: [Read, Glob, Grep, WebFetch]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh compare"
|
|
10
|
+
timeout: 5
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
# /scout compare - 플러그인 비교
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 플러그인 대시보드 콘솔 - 전체 현황 및 분석 (한글: 콘솔, 대시보드, 플러그인현황)
|
|
3
|
+
argument-hint: "[--web | --view <dashboard|plugins|analytics|users> | --plugin <name> | --user <name>]"
|
|
4
|
+
allowed-tools: [Read, Glob, Grep, Bash, WebFetch, AskUserQuestion]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh console"
|
|
10
|
+
timeout: 5
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# /scout console - 플러그인 대시보드 콘솔
|
|
14
|
+
|
|
15
|
+
플러그인 현황을 대시보드 형태로 보여주고, 상세 정보 조회, 사용 분석, 인사이트를 제공합니다.
|
|
16
|
+
|
|
17
|
+
## 사용법
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/scout console # 메인 대시보드 (CLI)
|
|
21
|
+
/scout console --web # 웹 대시보드 (브라우저에서 열림)
|
|
22
|
+
/scout console --view dashboard # 대시보드 뷰
|
|
23
|
+
/scout console --view plugins # 플러그인 목록
|
|
24
|
+
/scout console --view analytics # 사용 분석
|
|
25
|
+
/scout console --view users # 사용자 분석
|
|
26
|
+
/scout console --plugin <name> # 특정 플러그인 상세
|
|
27
|
+
/scout console --user <name> # 특정 사용자 분석
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 인자: $ARGUMENTS
|
|
31
|
+
|
|
32
|
+
## 동작
|
|
33
|
+
|
|
34
|
+
### --web 옵션 (웹 대시보드)
|
|
35
|
+
|
|
36
|
+
`--web` 인자가 포함된 경우, 브라우저에서 웹 대시보드를 엽니다:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
bash ${CLAUDE_PLUGIN_ROOT}/hooks/open-console.sh
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
웹 대시보드 특징:
|
|
43
|
+
- 모던 다크 테마 (GitHub Dark 스타일)
|
|
44
|
+
- 네온 그린/사이안 액센트
|
|
45
|
+
- Chart.js 기반 인터랙티브 차트
|
|
46
|
+
- 반응형 디자인
|
|
47
|
+
- 30초마다 자동 새로고침
|
|
48
|
+
|
|
49
|
+
웹 대시보드를 연 후, 사용자에게 안내 메시지를 표시합니다:
|
|
50
|
+
```
|
|
51
|
+
웹 대시보드가 브라우저에서 열렸습니다.
|
|
52
|
+
파일 위치: /tmp/plugin-scout-console.html
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### CLI 대시보드 (기본)
|
|
56
|
+
|
|
57
|
+
### Phase 1: 데이터 수집
|
|
58
|
+
|
|
59
|
+
1. **설치된 플러그인 조회**:
|
|
60
|
+
```bash
|
|
61
|
+
cat ~/.claude/plugins/installed_plugins.json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
2. **활성화 상태 확인**:
|
|
65
|
+
```bash
|
|
66
|
+
cat ~/.claude/settings.json | jq '.enabledPlugins'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
3. **사용량 데이터 로드**:
|
|
70
|
+
```
|
|
71
|
+
${CLAUDE_PLUGIN_ROOT}/data/usage.json
|
|
72
|
+
${CLAUDE_PLUGIN_ROOT}/data/analytics.json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
4. **마켓플레이스 정보**:
|
|
76
|
+
```bash
|
|
77
|
+
cat ~/.claude/plugins/known_marketplaces.json
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Phase 2: 대시보드 렌더링
|
|
81
|
+
|
|
82
|
+
인자가 없거나 `--view dashboard`인 경우, 다음 형식으로 대시보드 표시:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
86
|
+
║ PLUGIN SCOUT CONSOLE v2.5.0 ║
|
|
87
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
88
|
+
║ Last Updated: [timestamp] ║
|
|
89
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
90
|
+
║ ║
|
|
91
|
+
║ OVERVIEW QUICK STATS ║
|
|
92
|
+
║ ───────────────────────────── ──────────────────────────── ║
|
|
93
|
+
║ Total Plugins: [N] Usage This Week: [N] times ║
|
|
94
|
+
║ ├─ Active: [N] Avg Daily: [N] times ║
|
|
95
|
+
║ └─ Dormant: [N] Most Used: [plugin] ║
|
|
96
|
+
║ ║
|
|
97
|
+
║ Users: [N] Sessions: [N] ║
|
|
98
|
+
║ Marketplaces: [N] Avg Duration: [N] min ║
|
|
99
|
+
║ ║
|
|
100
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
101
|
+
║ TOP PLUGINS (by usage) TOP USERS (by activity) ║
|
|
102
|
+
║ ───────────────────────────── ──────────────────────────── ║
|
|
103
|
+
║ 1. [plugin] [N] 1. [user] [N] ║
|
|
104
|
+
║ 2. [plugin] [N] 2. [user] [N] ║
|
|
105
|
+
║ 3. [plugin] [N] 3. [user] [N] ║
|
|
106
|
+
║ ║
|
|
107
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
108
|
+
║ INSIGHTS ║
|
|
109
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
110
|
+
║ [insight-icon] [insight-message] ║
|
|
111
|
+
║ [insight-icon] [insight-message] ║
|
|
112
|
+
║ [insight-icon] [insight-message] ║
|
|
113
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
114
|
+
║ [1] 플러그인 상세 [2] 분석 [3] 사용자 [4] 탐색 [5] 정리 ║
|
|
115
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Phase 3: 인터랙티브 메뉴
|
|
119
|
+
|
|
120
|
+
대시보드 표시 후 AskUserQuestion으로 다음 동작 선택:
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
questions:
|
|
124
|
+
- question: "어떤 작업을 하시겠습니까?"
|
|
125
|
+
header: "Console"
|
|
126
|
+
options:
|
|
127
|
+
- label: "플러그인 상세보기"
|
|
128
|
+
description: "설치된 플러그인의 상세 정보 조회"
|
|
129
|
+
- label: "사용 분석"
|
|
130
|
+
description: "플러그인 사용 통계 및 트렌드 분석"
|
|
131
|
+
- label: "사용자 분석"
|
|
132
|
+
description: "팀원별 플러그인 사용 현황"
|
|
133
|
+
- label: "마켓플레이스 탐색"
|
|
134
|
+
description: "새 플러그인 찾기 (/scout explore)"
|
|
135
|
+
- label: "미사용 정리"
|
|
136
|
+
description: "오래된 플러그인 정리 (/scout cleanup)"
|
|
137
|
+
multiSelect: false
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Phase 4: 뷰별 상세 동작
|
|
141
|
+
|
|
142
|
+
#### 4.1 플러그인 목록 뷰 (`--view plugins`)
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
146
|
+
║ INSTALLED PLUGINS ║
|
|
147
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
148
|
+
║ # │ Plugin │ Ver │ Usage │ Last Used │ Status ║
|
|
149
|
+
║ ────┼───────────────────┼───────┼───────┼────────────┼─────── ║
|
|
150
|
+
║ 1 │ commit-commands │ 2.1.0 │ 23 │ Today │ Active ║
|
|
151
|
+
║ 2 │ code-review │ 1.5.0 │ 15 │ Today │ Active ║
|
|
152
|
+
║ 3 │ typescript-lsp │ 1.2.0 │ 8 │ Yesterday │ Active ║
|
|
153
|
+
║ ... ║
|
|
154
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
플러그인 선택 메뉴:
|
|
158
|
+
```yaml
|
|
159
|
+
questions:
|
|
160
|
+
- question: "어떤 플러그인의 상세 정보를 볼까요?"
|
|
161
|
+
header: "플러그인"
|
|
162
|
+
options:
|
|
163
|
+
- label: "[plugin-name]"
|
|
164
|
+
description: "사용: [N]회 | [status]"
|
|
165
|
+
# 동적으로 생성
|
|
166
|
+
multiSelect: false
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
#### 4.2 플러그인 상세 뷰 (`--plugin <name>`)
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
173
|
+
║ PLUGIN DETAIL: [plugin-name] ║
|
|
174
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
175
|
+
║ BASIC INFO ║
|
|
176
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
177
|
+
║ Name: [name] ║
|
|
178
|
+
║ Version: [version] (Latest: [latest] [status]) ║
|
|
179
|
+
║ Category: [category] ║
|
|
180
|
+
║ Author: [author] ║
|
|
181
|
+
║ License: [license] ║
|
|
182
|
+
║ Installed: [date] ([days] days ago) ║
|
|
183
|
+
║ Source: [marketplace] ([type]) ║
|
|
184
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
185
|
+
║ DESCRIPTION ║
|
|
186
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
187
|
+
║ [description] ║
|
|
188
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
189
|
+
║ USAGE STATISTICS ║
|
|
190
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
191
|
+
║ Total Usage: [N] times ║
|
|
192
|
+
║ This Week: [N] times ║
|
|
193
|
+
║ Usage Share: [N]% of all plugin usage ║
|
|
194
|
+
║ Trend: [arrow] [change]% vs last week ║
|
|
195
|
+
║ ║
|
|
196
|
+
║ Usage by User: ║
|
|
197
|
+
║ ├─ [user1] [N] times ║
|
|
198
|
+
║ ├─ [user2] [N] times ║
|
|
199
|
+
║ └─ [user3] [N] times ║
|
|
200
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
201
|
+
║ HEALTH & SECURITY ║
|
|
202
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
203
|
+
║ License: [status] [license] ║
|
|
204
|
+
║ Vulnerabilities: [status] ║
|
|
205
|
+
║ Author: [status] [verification] ║
|
|
206
|
+
║ Health Score: [score]/100 ║
|
|
207
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
208
|
+
║ [U] 업데이트 [R] 제거 [C] 비교 [B] 뒤로 ║
|
|
209
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### 4.3 분석 뷰 (`--view analytics`)
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
216
|
+
║ USAGE ANALYTICS ║
|
|
217
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
218
|
+
║ Period: [start] ~ [end] ([N] days) ║
|
|
219
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
220
|
+
║ ║
|
|
221
|
+
║ USAGE BY PLUGIN ║
|
|
222
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
223
|
+
║ [plugin] [bar] [N] ║
|
|
224
|
+
║ [plugin] [bar] [N] ║
|
|
225
|
+
║ ... ║
|
|
226
|
+
║ ║
|
|
227
|
+
║ USAGE BY CATEGORY USAGE TREND ║
|
|
228
|
+
║ ───────────────────────────── ──────────────────────────── ║
|
|
229
|
+
║ productivity [N] [bar] Week 1: [N] ║
|
|
230
|
+
║ development [N] [bar] Week 2: [N] ║
|
|
231
|
+
║ external [N] [bar] Week 3: [N] ║
|
|
232
|
+
║ Week 4: [N] ║
|
|
233
|
+
║ ║
|
|
234
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
235
|
+
║ KEY INSIGHTS ║
|
|
236
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
237
|
+
║ 1. [insight] ║
|
|
238
|
+
║ 2. [insight] ║
|
|
239
|
+
║ 3. [insight] ║
|
|
240
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
#### 4.4 사용자 분석 뷰 (`--view users`)
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
247
|
+
║ USER ANALYTICS ║
|
|
248
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
249
|
+
║ ║
|
|
250
|
+
║ USER ACTIVITY ║
|
|
251
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
252
|
+
║ # │ User │ Usage │ Sessions │ Top Plugin │ Active ║
|
|
253
|
+
║ ────┼───────────┼───────┼──────────┼───────────────┼───────── ║
|
|
254
|
+
║ 1 │ kent │ 50 │ 12 │ commit-cmd │ Today ║
|
|
255
|
+
║ 2 │ john │ 42 │ 10 │ code-review │ Today ║
|
|
256
|
+
║ 3 │ jane │ 38 │ 8 │ typescript │ Yesterday║
|
|
257
|
+
║ ║
|
|
258
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
259
|
+
║ TEAM INSIGHTS ║
|
|
260
|
+
║ ─────────────────────────────────────────────────────────────║
|
|
261
|
+
║ - 팀 전체 사용량 증가 추세 (+15% vs 지난주) ║
|
|
262
|
+
║ - commit-commands가 팀에서 가장 인기 있는 플러그인 ║
|
|
263
|
+
║ - 3명의 사용자가 활발히 사용 중 ║
|
|
264
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## 인사이트 아이콘
|
|
268
|
+
|
|
269
|
+
| 아이콘 | 타입 | 의미 |
|
|
270
|
+
|--------|------|------|
|
|
271
|
+
| 💡 | recommendation | 추천 |
|
|
272
|
+
| ⚠️ | warning | 경고 (미사용, 보안) |
|
|
273
|
+
| 🔄 | update | 업데이트 가능 |
|
|
274
|
+
| 📈 | trend-up | 사용량 증가 |
|
|
275
|
+
| 📉 | trend-down | 사용량 감소 |
|
|
276
|
+
| 🔒 | security | 보안 관련 |
|
|
277
|
+
| ✅ | success | 양호 |
|
|
278
|
+
|
|
279
|
+
## 상태 정의
|
|
280
|
+
|
|
281
|
+
| 상태 | 조건 |
|
|
282
|
+
|------|------|
|
|
283
|
+
| Active | lastUsed <= 7일 |
|
|
284
|
+
| Low | 7일 < lastUsed <= 30일 |
|
|
285
|
+
| Dormant | lastUsed > 30일 |
|
|
286
|
+
| Unused | usageCount == 0 |
|
|
287
|
+
|
|
288
|
+
## 에러 처리
|
|
289
|
+
|
|
290
|
+
- **데이터 없음**:
|
|
291
|
+
```
|
|
292
|
+
사용 데이터가 없습니다. 플러그인을 사용하면 자동으로 기록됩니다.
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
- **플러그인 없음**:
|
|
296
|
+
```
|
|
297
|
+
'[name]' 플러그인을 찾을 수 없습니다.
|
|
298
|
+
설치된 플러그인: /plugin list
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## 예시
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
/scout console
|
|
305
|
+
→ 메인 대시보드 표시
|
|
306
|
+
|
|
307
|
+
/scout console --view analytics
|
|
308
|
+
→ 사용 분석 뷰
|
|
309
|
+
|
|
310
|
+
/scout console --plugin commit-commands
|
|
311
|
+
→ commit-commands 상세 정보
|
|
312
|
+
|
|
313
|
+
/scout console --user kent
|
|
314
|
+
→ kent 사용자 분석
|
|
315
|
+
```
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
description: 마켓플레이스 카테고리별 탐색
|
|
3
3
|
argument-hint: "[category | --search <keyword>]"
|
|
4
4
|
allowed-tools: [Read, Glob, WebFetch, AskUserQuestion]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh explore"
|
|
10
|
+
timeout: 5
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
# /scout explore - 마켓플레이스 탐색
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
description: 플러그인 포크 및 커스터마이징
|
|
3
3
|
argument-hint: "<source-plugin> <new-name> [--local]"
|
|
4
4
|
allowed-tools: [Read, Write, Bash, Glob]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh fork"
|
|
10
|
+
timeout: 5
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
# /scout fork - 플러그인 포크
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 추천 빈도 설정 - 세션/일일 추천 횟수 제한 (한글: 빈도, 횟수, 추천빈도)
|
|
3
|
+
argument-hint: "[session | daily] <count>"
|
|
4
|
+
allowed-tools: [Read, Bash]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /scout frequency - 추천 빈도 설정
|
|
8
|
+
|
|
9
|
+
플러그인 추천이 표시되는 빈도를 제어합니다.
|
|
10
|
+
|
|
11
|
+
## 사용법
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/scout frequency # 현재 설정 확인
|
|
15
|
+
/scout frequency session <count> # 세션당 최대 추천 횟수
|
|
16
|
+
/scout frequency daily <count> # 하루 최대 추천 횟수
|
|
17
|
+
/scout frequency cooldown <minutes> # 추천 간 최소 간격
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 인자: $ARGUMENTS
|
|
21
|
+
|
|
22
|
+
## 동작
|
|
23
|
+
|
|
24
|
+
### 현재 설정 확인 (기본)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/recommendation-controller.sh status
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 세션당 빈도 설정
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/recommendation-controller.sh frequency session <count>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 일일 빈도 설정
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/recommendation-controller.sh frequency daily <count>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 쿨다운 설정
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/recommendation-controller.sh frequency cooldown <minutes>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 기본값
|
|
49
|
+
|
|
50
|
+
| 설정 | 기본값 | 설명 |
|
|
51
|
+
|------|--------|------|
|
|
52
|
+
| 세션당 | 1 | 한 세션에 1회만 추천 |
|
|
53
|
+
| 일일 | 3 | 하루에 최대 3회 추천 |
|
|
54
|
+
| 쿨다운 | 30분 | 추천 간 최소 30분 간격 |
|
|
55
|
+
|
|
56
|
+
## 출력 형식
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
## 추천 빈도 설정
|
|
60
|
+
|
|
61
|
+
| 설정 | 현재 값 |
|
|
62
|
+
|------|---------|
|
|
63
|
+
| 세션당 최대 | 1회 |
|
|
64
|
+
| 일일 최대 | 3회 |
|
|
65
|
+
| 쿨다운 | 30분 |
|
|
66
|
+
| 오늘 추천 횟수 | 2회 |
|
|
67
|
+
|
|
68
|
+
### 설정 변경
|
|
69
|
+
- `/scout frequency session 2` - 세션당 2회로 변경
|
|
70
|
+
- `/scout frequency daily 5` - 일일 5회로 변경
|
|
71
|
+
- `/scout frequency cooldown 60` - 1시간 간격으로 변경
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 예시
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
/scout frequency
|
|
78
|
+
→ 현재 설정 표시
|
|
79
|
+
|
|
80
|
+
/scout frequency session 2
|
|
81
|
+
→ 세션당 최대 2회 추천으로 변경
|
|
82
|
+
|
|
83
|
+
/scout frequency daily 5
|
|
84
|
+
→ 하루 최대 5회로 변경
|
|
85
|
+
|
|
86
|
+
/scout frequency cooldown 60
|
|
87
|
+
→ 추천 간격을 1시간으로 변경
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 관련 명령어
|
|
91
|
+
|
|
92
|
+
- `/scout quiet` - 무음 모드 (모든 추천 비활성화)
|
|
93
|
+
- `/scout timing` - 스마트 타이밍 설정
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 플러그인 설치 - 추천된 플러그인을 설치합니다 (한글: 설치, 플러그인설치)
|
|
3
|
+
argument-hint: "<plugin-name[@marketplace]>"
|
|
4
|
+
allowed-tools: [Read, Bash, AskUserQuestion]
|
|
5
|
+
hooks:
|
|
6
|
+
Stop:
|
|
7
|
+
- hooks:
|
|
8
|
+
- type: command
|
|
9
|
+
command: "bash ${CLAUDE_PLUGIN_ROOT}/hooks/track-usage.sh install"
|
|
10
|
+
timeout: 5
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# /scout install - 플러그인 설치
|
|
14
|
+
|
|
15
|
+
추천된 플러그인을 설치합니다.
|
|
16
|
+
|
|
17
|
+
## 사용법
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/scout install <plugin-name> # 기본 설치
|
|
21
|
+
/scout install <plugin-name>@<marketplace> # 마켓플레이스 지정
|
|
22
|
+
/scout install --list # 설치된 플러그인 목록
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 인자: $ARGUMENTS
|
|
26
|
+
|
|
27
|
+
## 동작
|
|
28
|
+
|
|
29
|
+
### Phase 1: 설치 전 확인
|
|
30
|
+
|
|
31
|
+
1. **플러그인 존재 확인**:
|
|
32
|
+
- 마켓플레이스에서 플러그인 검색
|
|
33
|
+
- 이미 설치되어 있는지 확인
|
|
34
|
+
|
|
35
|
+
2. **거절 이력 확인**:
|
|
36
|
+
```bash
|
|
37
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/rejection-learner.sh check <plugin-name>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
3. **보안 점검**:
|
|
41
|
+
- 라이선스 확인
|
|
42
|
+
- 저자 신뢰도 확인
|
|
43
|
+
- 알려진 취약점 확인
|
|
44
|
+
|
|
45
|
+
### Phase 2: 사용자 확인
|
|
46
|
+
|
|
47
|
+
AskUserQuestion으로 설치 확인:
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
questions:
|
|
51
|
+
- question: "<plugin-name> 플러그인을 설치하시겠습니까?"
|
|
52
|
+
header: "설치 확인"
|
|
53
|
+
options:
|
|
54
|
+
- label: "설치"
|
|
55
|
+
description: "지금 설치합니다"
|
|
56
|
+
- label: "취소"
|
|
57
|
+
description: "설치하지 않습니다"
|
|
58
|
+
- label: "나중에"
|
|
59
|
+
description: "30일 후 다시 추천받습니다"
|
|
60
|
+
multiSelect: false
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Phase 3: 설치 실행
|
|
64
|
+
|
|
65
|
+
사용자가 "설치"를 선택한 경우:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/plugin-manager.sh install <plugin-name>[@marketplace] recommendation
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Phase 4: 결과 안내
|
|
72
|
+
|
|
73
|
+
설치 완료 후 메시지:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## 설치 완료
|
|
77
|
+
|
|
78
|
+
**플러그인**: <plugin-name>
|
|
79
|
+
**마켓플레이스**: <marketplace>
|
|
80
|
+
|
|
81
|
+
Claude Code를 재시작하면 플러그인이 활성화됩니다.
|
|
82
|
+
|
|
83
|
+
### 사용법
|
|
84
|
+
- 해당 플러그인의 명령어와 기능을 안내
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Phase 5: 거절 시 기록
|
|
88
|
+
|
|
89
|
+
사용자가 "취소" 또는 "나중에"를 선택한 경우:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# 취소 선택 시
|
|
93
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/rejection-learner.sh record <plugin-name> "not-relevant" <category>
|
|
94
|
+
|
|
95
|
+
# 나중에 선택 시
|
|
96
|
+
bash ${CLAUDE_PLUGIN_ROOT}/lib/rejection-learner.sh record <plugin-name> "later" <category>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 거절 이유 코드
|
|
100
|
+
|
|
101
|
+
| 코드 | 의미 |
|
|
102
|
+
|------|------|
|
|
103
|
+
| not-relevant | 프로젝트와 관련 없음 |
|
|
104
|
+
| wrong-language | 사용하지 않는 언어 |
|
|
105
|
+
| already-have | 유사한 플러그인 이미 있음 |
|
|
106
|
+
| too-complex | 너무 복잡함 |
|
|
107
|
+
| not-trusted | 신뢰할 수 없음 |
|
|
108
|
+
| later | 나중에 설치 |
|
|
109
|
+
|
|
110
|
+
## 예시
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
/scout install typescript-lsp
|
|
114
|
+
→ typescript-lsp 설치
|
|
115
|
+
|
|
116
|
+
/scout install code-review@monol
|
|
117
|
+
→ monol 마켓플레이스에서 code-review 설치
|
|
118
|
+
|
|
119
|
+
/scout install --list
|
|
120
|
+
→ 설치된 플러그인 목록 표시
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 안전 규칙
|
|
124
|
+
|
|
125
|
+
1. **항상 사용자 확인 필요** - 자동 설치 금지
|
|
126
|
+
2. **백업 생성** - 설치 전 settings.json 백업
|
|
127
|
+
3. **롤백 지원** - 문제 시 복원 가능
|