monol-plugin-scout 2.0.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/plugins/marketplace.json +12 -0
- package/.claude/plugins/monol-plugin-scout/CLAUDE.md +135 -0
- package/.claude/plugins/monol-plugin-scout/combos/full-review.yaml +33 -0
- package/.claude/plugins/monol-plugin-scout/combos/quick-commit.yaml +15 -0
- package/.claude/plugins/monol-plugin-scout/commands/audit.md +99 -0
- package/.claude/plugins/monol-plugin-scout/commands/cleanup.md +123 -0
- package/.claude/plugins/monol-plugin-scout/commands/compare.md +92 -0
- package/.claude/plugins/monol-plugin-scout/commands/explore.md +118 -0
- package/.claude/plugins/monol-plugin-scout/commands/fork.md +111 -0
- package/.claude/plugins/monol-plugin-scout/commands/scout.md +209 -0
- package/.claude/plugins/monol-plugin-scout/config.yaml +76 -0
- package/.claude/plugins/monol-plugin-scout/data/history.json +36 -0
- package/.claude/plugins/monol-plugin-scout/data/usage.json +49 -0
- package/.claude/plugins/monol-plugin-scout/overrides/code-review/override.md +21 -0
- package/.claude/plugins/monol-plugin-scout/plugin.json +8 -0
- package/.claude/plugins/monol-plugin-scout/skills/plugin-evaluation.md +227 -0
- package/CHANGELOG.md +41 -0
- package/README.md +115 -0
- package/docs/DEV_LOG.md +115 -0
- package/docs/FEATURE_SPEC.md +284 -0
- package/docs/SKILL.md +227 -0
- package/docs/TEST_RESULTS.md +155 -0
- package/docs/USER_GUIDE.md +364 -0
- package/docs/references/license-compatibility.md +58 -0
- package/docs/references/scoring-methodology.md +73 -0
- package/docs/references/security-checklist.md +91 -0
- package/docs/scripts/fetch-plugin-metadata.sh +61 -0
- package/examples/basic-usage.md +124 -0
- package/package.json +31 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 플러그인 포크 및 커스터마이징
|
|
3
|
+
use_when:
|
|
4
|
+
- 사용자가 플러그인을 커스터마이징하고 싶을 때
|
|
5
|
+
- 기존 플러그인을 복사해서 수정하고 싶을 때
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /scout fork - 플러그인 포크
|
|
9
|
+
|
|
10
|
+
플러그인을 복사하여 커스텀 버전을 만듭니다.
|
|
11
|
+
|
|
12
|
+
## 사용법
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/scout fork <source-plugin> <new-name>
|
|
16
|
+
/scout fork <source-plugin> <new-name> --local
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 인자: $ARGUMENTS
|
|
20
|
+
|
|
21
|
+
## 동작
|
|
22
|
+
|
|
23
|
+
### 1. 소스 플러그인 확인
|
|
24
|
+
|
|
25
|
+
- 설치된 플러그인인지 확인
|
|
26
|
+
- 마켓플레이스에서 플러그인 위치 조회
|
|
27
|
+
|
|
28
|
+
### 2. 포크 생성
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# 로컬 플러그인 디렉토리에 복사
|
|
32
|
+
.claude/plugins/<new-name>/
|
|
33
|
+
├── plugin.json # 이름 변경
|
|
34
|
+
├── agents/ # 원본 복사
|
|
35
|
+
├── commands/ # 원본 복사
|
|
36
|
+
├── skills/ # 원본 복사
|
|
37
|
+
└── FORKED_FROM.txt # 원본 정보 기록
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 3. 메타데이터 업데이트
|
|
41
|
+
|
|
42
|
+
`plugin.json` 수정:
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"name": "<new-name>",
|
|
46
|
+
"version": "1.0.0",
|
|
47
|
+
"forkedFrom": "<source-plugin>",
|
|
48
|
+
"description": "Forked from <source-plugin>",
|
|
49
|
+
"author": "<current-user>"
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 4. 포크 완료 메시지
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
✅ 플러그인 포크 완료
|
|
57
|
+
|
|
58
|
+
원본: code-review
|
|
59
|
+
새 이름: my-code-review
|
|
60
|
+
|
|
61
|
+
생성 위치:
|
|
62
|
+
.claude/plugins/my-code-review/
|
|
63
|
+
├── plugin.json
|
|
64
|
+
├── commands/
|
|
65
|
+
│ └── review.md
|
|
66
|
+
└── FORKED_FROM.txt
|
|
67
|
+
|
|
68
|
+
다음 단계:
|
|
69
|
+
1. 플러그인 파일 수정
|
|
70
|
+
2. /plugin reload로 적용
|
|
71
|
+
3. /my-code-review로 사용
|
|
72
|
+
|
|
73
|
+
Tip: overrides/를 사용해 원본을 유지하면서 규칙만 추가할 수도 있습니다.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Override vs Fork
|
|
77
|
+
|
|
78
|
+
| 방식 | 용도 | 장점 |
|
|
79
|
+
|------|------|------|
|
|
80
|
+
| Override | 규칙만 추가/수정 | 원본 업데이트 자동 반영 |
|
|
81
|
+
| Fork | 전체 커스터마이징 | 완전한 제어 |
|
|
82
|
+
|
|
83
|
+
Override 예시:
|
|
84
|
+
```
|
|
85
|
+
overrides/code-review/override.md
|
|
86
|
+
→ code-review 플러그인에 추가 규칙 적용
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 에러 처리
|
|
90
|
+
|
|
91
|
+
- **소스 플러그인 없음**:
|
|
92
|
+
```
|
|
93
|
+
'{source}' 플러그인을 찾을 수 없습니다.
|
|
94
|
+
설치된 플러그인: /plugin list
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- **이름 충돌**:
|
|
98
|
+
```
|
|
99
|
+
'{new-name}' 플러그인이 이미 존재합니다.
|
|
100
|
+
다른 이름을 사용해주세요.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 예시
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
/scout fork code-review my-code-review
|
|
107
|
+
→ code-review를 my-code-review로 복사
|
|
108
|
+
|
|
109
|
+
/scout fork typescript-lsp custom-lsp --local
|
|
110
|
+
→ 로컬 전용으로 포크
|
|
111
|
+
```
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 플러그인 마켓플레이스 스캔 및 추천
|
|
3
|
+
use_when:
|
|
4
|
+
- 사용자가 "플러그인", "추천", "마켓플레이스" 등을 언급할 때
|
|
5
|
+
- 프로젝트에 맞는 플러그인을 찾고 싶을 때
|
|
6
|
+
- 새 프로젝트를 시작할 때
|
|
7
|
+
skills: plugin-evaluation
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /scout - 플러그인 마켓플레이스 스캔 및 추천
|
|
11
|
+
|
|
12
|
+
프로젝트 컨텍스트를 분석하고 호환되는 플러그인을 발견합니다.
|
|
13
|
+
|
|
14
|
+
## 사용법
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/scout # 프로젝트 분석 후 추천
|
|
18
|
+
/scout --quick # 빠른 스캔 (점수 80+ 만 표시)
|
|
19
|
+
/scout --category <cat> # 특정 카테고리만 스캔
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 서브커맨드
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/scout compare <a> <b> # 플러그인 비교 → compare.md 참조
|
|
26
|
+
/scout cleanup # 미사용 플러그인 정리 → cleanup.md 참조
|
|
27
|
+
/scout explore [category] # 마켓플레이스 탐색 → explore.md 참조
|
|
28
|
+
/scout audit # 보안/업데이트 점검 → audit.md 참조
|
|
29
|
+
/scout fork <src> <name> # 플러그인 포크 → fork.md 참조
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 인자: $ARGUMENTS
|
|
33
|
+
|
|
34
|
+
## 동작
|
|
35
|
+
|
|
36
|
+
### Phase 1: 프로젝트 컨텍스트 분석
|
|
37
|
+
|
|
38
|
+
1. **프로젝트 타입 감지**:
|
|
39
|
+
```
|
|
40
|
+
package.json → Node.js/JavaScript/TypeScript
|
|
41
|
+
requirements.txt → Python
|
|
42
|
+
pyproject.toml → Python (modern)
|
|
43
|
+
Cargo.toml → Rust
|
|
44
|
+
go.mod → Go
|
|
45
|
+
pom.xml / build.gradle → Java
|
|
46
|
+
composer.json → PHP
|
|
47
|
+
Gemfile → Ruby
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
2. **프레임워크 식별** (의존성에서 추출):
|
|
51
|
+
- React, Vue, Angular, Svelte (frontend)
|
|
52
|
+
- Express, Fastify, NestJS (Node backend)
|
|
53
|
+
- FastAPI, Django, Flask (Python)
|
|
54
|
+
- Spring, Quarkus (Java)
|
|
55
|
+
|
|
56
|
+
3. **설치된 플러그인 확인**:
|
|
57
|
+
- `~/.claude/settings.json`의 `enabledPlugins`
|
|
58
|
+
- `.claude/settings.json`의 프로젝트 플러그인
|
|
59
|
+
- 이미 설치된 플러그인은 추천에서 제외
|
|
60
|
+
|
|
61
|
+
### Phase 2: 마켓플레이스 스캔
|
|
62
|
+
|
|
63
|
+
1. **설정된 마켓플레이스 조회**:
|
|
64
|
+
```bash
|
|
65
|
+
cat ~/.claude/settings.json | grep -A 20 "extraKnownMarketplaces"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
2. **마켓플레이스 메타데이터 로드**:
|
|
69
|
+
- GitHub: `.claude-plugin/marketplace.json` 가져오기
|
|
70
|
+
- 로컬: 디렉토리 구조 읽기
|
|
71
|
+
- 플러그인 정보 파싱 (이름, 설명, 카테고리, 저자)
|
|
72
|
+
|
|
73
|
+
3. **플러그인 인벤토리 구축**:
|
|
74
|
+
- 플러그인 이름과 버전
|
|
75
|
+
- 카테고리 (development, productivity, security, testing)
|
|
76
|
+
- 저자/조직
|
|
77
|
+
- 소스 타입 (github, git, npm, local)
|
|
78
|
+
|
|
79
|
+
### Phase 3: 평가 및 점수 계산
|
|
80
|
+
|
|
81
|
+
`plugin-evaluation` 스킬을 적용하여 종합 점수 계산:
|
|
82
|
+
|
|
83
|
+
**종합 점수 = (프로젝트 매칭 × 0.4) + (인기도 × 0.3) + (보안 × 0.3)**
|
|
84
|
+
|
|
85
|
+
#### 프로젝트 매칭 (40%)
|
|
86
|
+
| 기준 | 점수 |
|
|
87
|
+
|------|------|
|
|
88
|
+
| 언어 정확 매칭 | 30 |
|
|
89
|
+
| 프레임워크 호환성 | 25 |
|
|
90
|
+
| 카테고리 관련성 | 20 |
|
|
91
|
+
| 의존성 호환성 | 15 |
|
|
92
|
+
| 아키텍처 적합성 | 10 |
|
|
93
|
+
|
|
94
|
+
#### 인기도 (30%)
|
|
95
|
+
| 기준 | 점수 |
|
|
96
|
+
|------|------|
|
|
97
|
+
| GitHub 스타 (10k+: 30, 1k+: 25, 100+: 15) | 0-30 |
|
|
98
|
+
| 최근 커밋 (90일) | 0-20 |
|
|
99
|
+
| 업데이트 최신성 | 0-20 |
|
|
100
|
+
| 이슈 응답 건강도 | 0-15 |
|
|
101
|
+
| 포크 활동 | 0-15 |
|
|
102
|
+
|
|
103
|
+
#### 보안 (30%)
|
|
104
|
+
| 기준 | 점수 |
|
|
105
|
+
|------|------|
|
|
106
|
+
| 라이선스 (MIT/Apache: 30, GPL: 20, Unknown: 0) | 0-30 |
|
|
107
|
+
| 알려진 취약점 | 0-40 |
|
|
108
|
+
| 저자 평판 (Official: 30, Verified: 20) | 0-30 |
|
|
109
|
+
|
|
110
|
+
### Phase 4: 추천 제시
|
|
111
|
+
|
|
112
|
+
추천 결과를 다음 형식으로 출력:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Plugin Scout Report
|
|
116
|
+
|
|
117
|
+
**프로젝트**: [감지된 언어] + [프레임워크]
|
|
118
|
+
**설치된 플러그인**: [개수] ([목록])
|
|
119
|
+
|
|
120
|
+
### 추천 플러그인
|
|
121
|
+
|
|
122
|
+
#### 1. [plugin-name] (점수: XX/100)
|
|
123
|
+
**추천 이유**: [프로젝트 컨텍스트 기반 설명]
|
|
124
|
+
|
|
125
|
+
| 지표 | 점수 | 상세 |
|
|
126
|
+
|------|------|------|
|
|
127
|
+
| 프로젝트 매칭 | XX | [이유] |
|
|
128
|
+
| 인기도 | XX | [스타, 활동] |
|
|
129
|
+
| 보안 | XX | [라이선스, 저자] |
|
|
130
|
+
|
|
131
|
+
**설치**: `/plugin install [name]@[marketplace]`
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
[상위 3-5개 플러그인 반복]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 인터뷰식 설치
|
|
139
|
+
|
|
140
|
+
AskUserQuestion 도구를 사용해 대화형으로 설치:
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
questions:
|
|
144
|
+
- question: "어떤 종류의 플러그인을 찾으시나요?"
|
|
145
|
+
header: "카테고리"
|
|
146
|
+
options:
|
|
147
|
+
- label: "개발 도구"
|
|
148
|
+
description: "LSP, 코드 분석, 기능 개발"
|
|
149
|
+
- label: "생산성"
|
|
150
|
+
description: "커밋, PR, 이슈 관리"
|
|
151
|
+
- label: "외부 서비스"
|
|
152
|
+
description: "Slack, GitHub, Notion 연동"
|
|
153
|
+
- label: "전체 스캔"
|
|
154
|
+
description: "프로젝트 분석 후 맞춤 추천"
|
|
155
|
+
multiSelect: false
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
설치 선택 시 `multiSelect: true`로 복수 선택 가능하게.
|
|
159
|
+
|
|
160
|
+
## 안전 규칙
|
|
161
|
+
|
|
162
|
+
1. **자동 설치 금지** - 항상 사용자 동의 필요
|
|
163
|
+
2. **보안 경고 표시**:
|
|
164
|
+
- 알 수 없거나 제한적인 라이선스
|
|
165
|
+
- 1년 이상 업데이트 없음
|
|
166
|
+
- 검증되지 않은 저자
|
|
167
|
+
- 알려진 취약점
|
|
168
|
+
3. **설치 전 확인** - 설치 명령 반복 후 승인 대기
|
|
169
|
+
|
|
170
|
+
## 보안 경고 형식
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
**보안 경고**: [plugin-name]
|
|
174
|
+
- 라이선스: [type] - [영향]
|
|
175
|
+
- 마지막 업데이트: [date] - [우려 사항]
|
|
176
|
+
- 저자: [name] - [검증 상태]
|
|
177
|
+
- 취약점: [status]
|
|
178
|
+
|
|
179
|
+
주의해서 진행하세요. 신뢰하는 소스만 설치하세요.
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## 에러 처리
|
|
183
|
+
|
|
184
|
+
- **마켓플레이스 없음**:
|
|
185
|
+
```
|
|
186
|
+
설정된 마켓플레이스가 없습니다. 추가하세요:
|
|
187
|
+
/plugin marketplace add anthropics/claude-code-plugins
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
- **네트워크 에러**: 캐시된 데이터 사용, 문제 보고
|
|
191
|
+
|
|
192
|
+
- **프로젝트 감지 실패**:
|
|
193
|
+
```
|
|
194
|
+
프로젝트 타입을 감지할 수 없습니다.
|
|
195
|
+
어떤 언어/프레임워크를 사용하시나요?
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## 예시
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
/scout
|
|
202
|
+
→ 프로젝트 분석 후 맞춤 플러그인 추천
|
|
203
|
+
|
|
204
|
+
/scout --quick
|
|
205
|
+
→ 점수 80점 이상 플러그인만 빠르게 표시
|
|
206
|
+
|
|
207
|
+
/scout --category development
|
|
208
|
+
→ 개발 도구 카테고리만 스캔
|
|
209
|
+
```
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# monol-plugin-scout 설정
|
|
2
|
+
# Claude Code 플러그인 마켓플레이스 모니터링 및 추천 설정
|
|
3
|
+
|
|
4
|
+
# 기본 설정
|
|
5
|
+
general:
|
|
6
|
+
verbose: false
|
|
7
|
+
data_dir: "data/"
|
|
8
|
+
|
|
9
|
+
# 마켓플레이스 스캔 소스
|
|
10
|
+
sources:
|
|
11
|
+
github: true
|
|
12
|
+
npm: true
|
|
13
|
+
local: true
|
|
14
|
+
# 커스텀 레지스트리 URL (선택사항)
|
|
15
|
+
custom_registry: ""
|
|
16
|
+
|
|
17
|
+
# 점수 가중치 (총합 100%)
|
|
18
|
+
scoring:
|
|
19
|
+
project_match: 40 # 프로젝트 매칭 점수
|
|
20
|
+
popularity: 30 # 인기도 점수
|
|
21
|
+
security: 30 # 보안 점수
|
|
22
|
+
|
|
23
|
+
# 프로젝트 매칭 세부 가중치
|
|
24
|
+
project_match_weights:
|
|
25
|
+
language: 35 # 언어 매칭
|
|
26
|
+
framework: 30 # 프레임워크 호환성
|
|
27
|
+
category: 20 # 카테고리 관련성
|
|
28
|
+
dependencies: 15 # 의존성 매칭
|
|
29
|
+
|
|
30
|
+
# 인기도 세부 가중치
|
|
31
|
+
popularity_weights:
|
|
32
|
+
github_stars: 40 # GitHub 스타 수
|
|
33
|
+
recent_commits: 35 # 최근 커밋 활동
|
|
34
|
+
issue_health: 25 # 이슈 건강도
|
|
35
|
+
|
|
36
|
+
# 보안 세부 가중치
|
|
37
|
+
security_weights:
|
|
38
|
+
license: 40 # 라이선스 호환성
|
|
39
|
+
vulnerabilities: 35 # 알려진 취약점
|
|
40
|
+
author_trust: 25 # 저자 신뢰도
|
|
41
|
+
|
|
42
|
+
# 자동 추천 설정
|
|
43
|
+
auto_recommend:
|
|
44
|
+
enabled: true
|
|
45
|
+
# 작업 완료 후 추천 (Post-task)
|
|
46
|
+
post_task: true
|
|
47
|
+
# 최소 점수 (이 이상만 추천)
|
|
48
|
+
min_score: 60
|
|
49
|
+
# 최대 추천 수
|
|
50
|
+
max_suggestions: 3
|
|
51
|
+
|
|
52
|
+
# 정리 설정 (cleanup)
|
|
53
|
+
cleanup:
|
|
54
|
+
# 미사용 임계값 (일)
|
|
55
|
+
unused_days: 30
|
|
56
|
+
# 저사용 임계값 (회)
|
|
57
|
+
low_usage_count: 3
|
|
58
|
+
# 자동 정리 (false = 수동 확인)
|
|
59
|
+
auto_remove: false
|
|
60
|
+
|
|
61
|
+
# 캐시 설정
|
|
62
|
+
cache:
|
|
63
|
+
enabled: true
|
|
64
|
+
# 캐시 만료 (시간)
|
|
65
|
+
ttl_hours: 24
|
|
66
|
+
# 캐시 저장 위치
|
|
67
|
+
dir: ".cache/"
|
|
68
|
+
|
|
69
|
+
# 알림 설정
|
|
70
|
+
notifications:
|
|
71
|
+
# 새 플러그인 발견 시 알림
|
|
72
|
+
new_plugins: true
|
|
73
|
+
# 보안 업데이트 알림
|
|
74
|
+
security_updates: true
|
|
75
|
+
# 업데이트 가능 알림
|
|
76
|
+
available_updates: true
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"lastUpdated": "2026-01-07T00:00:00.000Z",
|
|
4
|
+
|
|
5
|
+
"declined": {
|
|
6
|
+
"pyright-lsp": {
|
|
7
|
+
"count": 2,
|
|
8
|
+
"lastDeclined": "2026-01-06",
|
|
9
|
+
"reason": "Python 프로젝트 아님"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
"installed": {
|
|
14
|
+
"typescript-lsp": {
|
|
15
|
+
"date": "2026-01-07",
|
|
16
|
+
"context": "typescript-project",
|
|
17
|
+
"source": "recommendation"
|
|
18
|
+
},
|
|
19
|
+
"code-review": {
|
|
20
|
+
"date": "2026-01-07",
|
|
21
|
+
"context": "productivity",
|
|
22
|
+
"source": "recommendation"
|
|
23
|
+
},
|
|
24
|
+
"sentry": {
|
|
25
|
+
"date": "2026-01-07",
|
|
26
|
+
"context": "existing-integration",
|
|
27
|
+
"source": "project-scan"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
"preferences": {
|
|
32
|
+
"favoriteCategories": ["development", "productivity"],
|
|
33
|
+
"autoRecommend": true,
|
|
34
|
+
"quietMode": false
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lastUpdated": "2026-01-07T00:00:00.000Z",
|
|
3
|
+
"config": {
|
|
4
|
+
"unusedThresholdDays": 30,
|
|
5
|
+
"lowUsageThreshold": 3
|
|
6
|
+
},
|
|
7
|
+
"plugins": {
|
|
8
|
+
"typescript-lsp": {
|
|
9
|
+
"installed": "2026-01-07",
|
|
10
|
+
"usageCount": 8,
|
|
11
|
+
"lastUsed": "2026-01-07"
|
|
12
|
+
},
|
|
13
|
+
"code-review": {
|
|
14
|
+
"installed": "2026-01-07",
|
|
15
|
+
"usageCount": 15,
|
|
16
|
+
"lastUsed": "2026-01-07"
|
|
17
|
+
},
|
|
18
|
+
"commit-commands": {
|
|
19
|
+
"installed": "2026-01-07",
|
|
20
|
+
"usageCount": 23,
|
|
21
|
+
"lastUsed": "2026-01-07"
|
|
22
|
+
},
|
|
23
|
+
"sentry": {
|
|
24
|
+
"installed": "2026-01-07",
|
|
25
|
+
"usageCount": 5,
|
|
26
|
+
"lastUsed": "2026-01-06"
|
|
27
|
+
},
|
|
28
|
+
"slack": {
|
|
29
|
+
"installed": "2026-01-07",
|
|
30
|
+
"usageCount": 3,
|
|
31
|
+
"lastUsed": "2026-01-05"
|
|
32
|
+
},
|
|
33
|
+
"plugin-dev": {
|
|
34
|
+
"installed": "2025-11-15",
|
|
35
|
+
"usageCount": 0,
|
|
36
|
+
"lastUsed": null
|
|
37
|
+
},
|
|
38
|
+
"hookify": {
|
|
39
|
+
"installed": "2026-01-07",
|
|
40
|
+
"usageCount": 1,
|
|
41
|
+
"lastUsed": "2026-01-07"
|
|
42
|
+
},
|
|
43
|
+
"old-unused-plugin": {
|
|
44
|
+
"installed": "2025-10-01",
|
|
45
|
+
"usageCount": 2,
|
|
46
|
+
"lastUsed": "2025-10-15"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
plugin: code-review
|
|
3
|
+
version: ">=1.0.0"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# code-review 커스텀 규칙
|
|
7
|
+
|
|
8
|
+
## 추가 체크 항목
|
|
9
|
+
- 한국어 주석 권장
|
|
10
|
+
- console.log 사용 금지 (production 코드)
|
|
11
|
+
- any 타입 사용 시 경고
|
|
12
|
+
- 함수 길이 50줄 초과 시 분리 제안
|
|
13
|
+
|
|
14
|
+
## 무시 항목
|
|
15
|
+
- 테스트 파일 (*.test.ts, *.spec.ts)
|
|
16
|
+
- 설정 파일 (*.config.js)
|
|
17
|
+
- 마이그레이션 파일
|
|
18
|
+
|
|
19
|
+
## 추가 메시지
|
|
20
|
+
- 리뷰 시작 시: "캠핏 코드 컨벤션에 따라 리뷰합니다."
|
|
21
|
+
- 리뷰 완료 시: "리뷰 완료! 수고하셨습니다. 🎉"
|