cc-recommender 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.
- package/CHANGELOG.md +41 -0
- package/LICENSE +21 -0
- package/README.ja.md +201 -0
- package/README.md +201 -0
- package/data/mcp-servers.json +34777 -0
- package/data/plugins.json +1571 -0
- package/data/skills.json +3233 -0
- package/dist/config/constants.d.ts +18 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +34 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/file-mappings.d.ts +13 -0
- package/dist/config/file-mappings.d.ts.map +1 -0
- package/dist/config/file-mappings.js +70 -0
- package/dist/config/file-mappings.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/scoring-config.d.ts +27 -0
- package/dist/config/scoring-config.d.ts.map +1 -0
- package/dist/config/scoring-config.js +27 -0
- package/dist/config/scoring-config.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories/index.d.ts +7 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +7 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/recommendation.repository.d.ts +56 -0
- package/dist/repositories/recommendation.repository.d.ts.map +1 -0
- package/dist/repositories/recommendation.repository.js +142 -0
- package/dist/repositories/recommendation.repository.js.map +1 -0
- package/dist/repositories/remote-data.repository.d.ts +20 -0
- package/dist/repositories/remote-data.repository.d.ts.map +1 -0
- package/dist/repositories/remote-data.repository.js +307 -0
- package/dist/repositories/remote-data.repository.js.map +1 -0
- package/dist/schemas/index.d.ts +7 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +7 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/tool-schemas.d.ts +55 -0
- package/dist/schemas/tool-schemas.d.ts.map +1 -0
- package/dist/schemas/tool-schemas.js +36 -0
- package/dist/schemas/tool-schemas.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/mcp-server.d.ts +11 -0
- package/dist/server/mcp-server.d.ts.map +1 -0
- package/dist/server/mcp-server.js +27 -0
- package/dist/server/mcp-server.js.map +1 -0
- package/dist/server/tool-registry.d.ts +12 -0
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/server/tool-registry.js +114 -0
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/services/analyzer/index.d.ts +7 -0
- package/dist/services/analyzer/index.d.ts.map +1 -0
- package/dist/services/analyzer/index.js +7 -0
- package/dist/services/analyzer/index.js.map +1 -0
- package/dist/services/analyzer/parsers/go-mod.parser.d.ts +11 -0
- package/dist/services/analyzer/parsers/go-mod.parser.d.ts.map +1 -0
- package/dist/services/analyzer/parsers/go-mod.parser.js +34 -0
- package/dist/services/analyzer/parsers/go-mod.parser.js.map +1 -0
- package/dist/services/analyzer/parsers/index.d.ts +9 -0
- package/dist/services/analyzer/parsers/index.d.ts.map +1 -0
- package/dist/services/analyzer/parsers/index.js +9 -0
- package/dist/services/analyzer/parsers/index.js.map +1 -0
- package/dist/services/analyzer/parsers/package-json.parser.d.ts +11 -0
- package/dist/services/analyzer/parsers/package-json.parser.d.ts.map +1 -0
- package/dist/services/analyzer/parsers/package-json.parser.js +61 -0
- package/dist/services/analyzer/parsers/package-json.parser.js.map +1 -0
- package/dist/services/analyzer/parsers/requirements-txt.parser.d.ts +11 -0
- package/dist/services/analyzer/parsers/requirements-txt.parser.d.ts.map +1 -0
- package/dist/services/analyzer/parsers/requirements-txt.parser.js +49 -0
- package/dist/services/analyzer/parsers/requirements-txt.parser.js.map +1 -0
- package/dist/services/analyzer/project-analyzer.service.d.ts +11 -0
- package/dist/services/analyzer/project-analyzer.service.d.ts.map +1 -0
- package/dist/services/analyzer/project-analyzer.service.js +101 -0
- package/dist/services/analyzer/project-analyzer.service.js.map +1 -0
- package/dist/services/analyzer.d.ts +8 -0
- package/dist/services/analyzer.d.ts.map +1 -0
- package/dist/services/analyzer.js +8 -0
- package/dist/services/analyzer.js.map +1 -0
- package/dist/services/mcp-fetcher.d.ts +12 -0
- package/dist/services/mcp-fetcher.d.ts.map +1 -0
- package/dist/services/mcp-fetcher.js +262 -0
- package/dist/services/mcp-fetcher.js.map +1 -0
- package/dist/services/plugin-fetcher.d.ts +12 -0
- package/dist/services/plugin-fetcher.d.ts.map +1 -0
- package/dist/services/plugin-fetcher.js +149 -0
- package/dist/services/plugin-fetcher.js.map +1 -0
- package/dist/services/recommender/formatters.d.ts +22 -0
- package/dist/services/recommender/formatters.d.ts.map +1 -0
- package/dist/services/recommender/formatters.js +90 -0
- package/dist/services/recommender/formatters.js.map +1 -0
- package/dist/services/recommender/index.d.ts +10 -0
- package/dist/services/recommender/index.d.ts.map +1 -0
- package/dist/services/recommender/index.js +10 -0
- package/dist/services/recommender/index.js.map +1 -0
- package/dist/services/recommender/recommendation.service.d.ts +27 -0
- package/dist/services/recommender/recommendation.service.d.ts.map +1 -0
- package/dist/services/recommender/recommendation.service.js +34 -0
- package/dist/services/recommender/recommendation.service.js.map +1 -0
- package/dist/services/recommender/scoring/index.d.ts +7 -0
- package/dist/services/recommender/scoring/index.d.ts.map +1 -0
- package/dist/services/recommender/scoring/index.js +7 -0
- package/dist/services/recommender/scoring/index.js.map +1 -0
- package/dist/services/recommender/scoring/scorer.d.ts +27 -0
- package/dist/services/recommender/scoring/scorer.d.ts.map +1 -0
- package/dist/services/recommender/scoring/scorer.js +100 -0
- package/dist/services/recommender/scoring/scorer.js.map +1 -0
- package/dist/services/recommender/search.service.d.ts +24 -0
- package/dist/services/recommender/search.service.d.ts.map +1 -0
- package/dist/services/recommender/search.service.js +57 -0
- package/dist/services/recommender/search.service.js.map +1 -0
- package/dist/services/recommender.d.ts +11 -0
- package/dist/services/recommender.d.ts.map +1 -0
- package/dist/services/recommender.js +11 -0
- package/dist/services/recommender.js.map +1 -0
- package/dist/services/security-scanner.service.d.ts +48 -0
- package/dist/services/security-scanner.service.d.ts.map +1 -0
- package/dist/services/security-scanner.service.js +98 -0
- package/dist/services/security-scanner.service.js.map +1 -0
- package/dist/services/skill-fetcher.d.ts +12 -0
- package/dist/services/skill-fetcher.d.ts.map +1 -0
- package/dist/services/skill-fetcher.js +307 -0
- package/dist/services/skill-fetcher.js.map +1 -0
- package/dist/tools/handlers/get-skill-details.tool.d.ts +25 -0
- package/dist/tools/handlers/get-skill-details.tool.d.ts.map +1 -0
- package/dist/tools/handlers/get-skill-details.tool.js +29 -0
- package/dist/tools/handlers/get-skill-details.tool.js.map +1 -0
- package/dist/tools/handlers/get-stats.tool.d.ts +19 -0
- package/dist/tools/handlers/get-stats.tool.d.ts.map +1 -0
- package/dist/tools/handlers/get-stats.tool.js +32 -0
- package/dist/tools/handlers/get-stats.tool.js.map +1 -0
- package/dist/tools/handlers/index.d.ts +11 -0
- package/dist/tools/handlers/index.d.ts.map +1 -0
- package/dist/tools/handlers/index.js +11 -0
- package/dist/tools/handlers/index.js.map +1 -0
- package/dist/tools/handlers/list-categories.tool.d.ts +19 -0
- package/dist/tools/handlers/list-categories.tool.d.ts.map +1 -0
- package/dist/tools/handlers/list-categories.tool.js +33 -0
- package/dist/tools/handlers/list-categories.tool.js.map +1 -0
- package/dist/tools/handlers/recommend-skills.tool.d.ts +32 -0
- package/dist/tools/handlers/recommend-skills.tool.d.ts.map +1 -0
- package/dist/tools/handlers/recommend-skills.tool.js +43 -0
- package/dist/tools/handlers/recommend-skills.tool.js.map +1 -0
- package/dist/tools/handlers/search-skills.tool.d.ts +27 -0
- package/dist/tools/handlers/search-skills.tool.d.ts.map +1 -0
- package/dist/tools/handlers/search-skills.tool.js +31 -0
- package/dist/tools/handlers/search-skills.tool.js.map +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +11 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types/domain-types.d.ts +102 -0
- package/dist/types/domain-types.d.ts.map +1 -0
- package/dist/types/domain-types.js +7 -0
- package/dist/types/domain-types.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/raw-types.d.ts +46 -0
- package/dist/types/raw-types.d.ts.map +1 -0
- package/dist/types/raw-types.js +7 -0
- package/dist/types/raw-types.js.map +1 -0
- package/dist/types/service-types.d.ts +28 -0
- package/dist/types/service-types.d.ts.map +1 -0
- package/dist/types/service-types.js +7 -0
- package/dist/types/service-types.js.map +1 -0
- package/dist/utils/glob-matcher.d.ts +24 -0
- package/dist/utils/glob-matcher.d.ts.map +1 -0
- package/dist/utils/glob-matcher.js +34 -0
- package/dist/utils/glob-matcher.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +82 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.1.0] - 2025-01-30
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Initial release of cc-recommender
|
|
14
|
+
- MCP server for recommending Claude Code skills, plugins, and MCP servers
|
|
15
|
+
- Project analysis based on languages, frameworks, and dependencies
|
|
16
|
+
- 5 MCP tools:
|
|
17
|
+
- `recommend_skills` - Analyze project and recommend suitable items
|
|
18
|
+
- `search_skills` - Search by keyword
|
|
19
|
+
- `get_skill_details` - Get detailed information
|
|
20
|
+
- `list_categories` - List all categories
|
|
21
|
+
- `get_stats` - Get database statistics
|
|
22
|
+
- Data sources:
|
|
23
|
+
- [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) - Official plugins
|
|
24
|
+
- [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) - MCP servers
|
|
25
|
+
- [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) - Skills/workflows/hooks
|
|
26
|
+
- Auto-update feature:
|
|
27
|
+
- Fetches latest data from GitHub on startup
|
|
28
|
+
- Falls back to bundled data if remote fetch fails
|
|
29
|
+
- No manual updates required
|
|
30
|
+
- Code quality tools:
|
|
31
|
+
- Biome for linting and formatting
|
|
32
|
+
- TypeScript strict mode
|
|
33
|
+
- cc-audit for security scanning
|
|
34
|
+
- Husky + lint-staged for pre-commit hooks
|
|
35
|
+
- Developer experience:
|
|
36
|
+
- pnpm package manager
|
|
37
|
+
- Automatic weekly data updates via GitHub Actions
|
|
38
|
+
- Comprehensive documentation (README, CONTRIBUTING, ARCHITECTURE)
|
|
39
|
+
|
|
40
|
+
[Unreleased]: https://github.com/yuji0809/cc-recommender/compare/v0.1.0...HEAD
|
|
41
|
+
[0.1.0]: https://github.com/yuji0809/cc-recommender/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Yuji
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# cc-recommender
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/cc-recommender)
|
|
4
|
+
[](https://github.com/yuji0809/cc-recommender/actions/workflows/ci.yml)
|
|
5
|
+
[](https://codecov.io/gh/yuji0809/cc-recommender)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
[](https://nodejs.org/)
|
|
8
|
+
|
|
9
|
+
> 🎯 Claude Code向けスキル/プラグイン/MCPサーバー推薦MCPサーバー
|
|
10
|
+
|
|
11
|
+
[English](./README.md) | 日本語
|
|
12
|
+
|
|
13
|
+
Claude Codeで「何入れたらいい?」と聞くだけで、プロジェクトを分析し、最適なスキル・プラグイン・MCPサーバーを提案します。
|
|
14
|
+
|
|
15
|
+
## 特徴
|
|
16
|
+
|
|
17
|
+
- 📦 **プラグイン推薦** - 公式マーケットプレイスから最適なプラグインを提案
|
|
18
|
+
- 🔌 **MCPサーバー推薦** - awesome-mcp-serversからMCPサーバーを検索
|
|
19
|
+
- 🎯 **スキル/ワークフロー推薦** - awesome-claude-codeからスキル、フック、コマンドを提案
|
|
20
|
+
- 🔍 **プロジェクト分析** - 使用言語、フレームワーク、依存関係を自動検出
|
|
21
|
+
- 🏷️ **キーワード検索** - 名前やタグで検索
|
|
22
|
+
- 🔄 **自動更新** - GitHubから常に最新データを取得(手動更新不要)
|
|
23
|
+
|
|
24
|
+
## インストール
|
|
25
|
+
|
|
26
|
+
### npm経由(推奨)
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g cc-recommender
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### ローカルビルド
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
git clone https://github.com/yuji0809/cc-recommender.git
|
|
36
|
+
cd cc-recommender
|
|
37
|
+
pnpm install
|
|
38
|
+
pnpm run build
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**要件:**
|
|
42
|
+
- Node.js >= 22.0.0
|
|
43
|
+
- pnpm >= 10.0.0(ローカルビルドの場合)
|
|
44
|
+
|
|
45
|
+
## Claude Codeで使う
|
|
46
|
+
|
|
47
|
+
`~/.claude/settings.json` に追加:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"cc-recommender": {
|
|
53
|
+
"command": "npx",
|
|
54
|
+
"args": ["-y", "cc-recommender"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
またはローカルビルドの場合:
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"mcpServers": {
|
|
65
|
+
"cc-recommender": {
|
|
66
|
+
"command": "node",
|
|
67
|
+
"args": ["/path/to/cc-recommender/dist/index.js"]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 使い方
|
|
74
|
+
|
|
75
|
+
### プロジェクト分析と推薦
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
You: このプロジェクトに何を入れたらいい?
|
|
79
|
+
|
|
80
|
+
Claude: [recommend_skills ツールを使用]
|
|
81
|
+
|
|
82
|
+
📦 プラグイン
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
1. typescript-lsp (公式)
|
|
85
|
+
├─ 用途: TypeScript の定義ジャンプ、型チェック
|
|
86
|
+
├─ スコア: 95 ✅ 高適合
|
|
87
|
+
└─ インストール: /plugin install typescript-lsp
|
|
88
|
+
|
|
89
|
+
🔌 MCPサーバー
|
|
90
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
+
1. supabase-mcp
|
|
92
|
+
├─ 用途: Supabase DB 操作
|
|
93
|
+
├─ 推薦理由: @supabase/supabase-js 依存
|
|
94
|
+
└─ インストール: claude mcp add supabase-mcp
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### キーワード検索
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
You: データベース関連のMCPを探して
|
|
101
|
+
|
|
102
|
+
Claude: [search_skills ツールを使用]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 提供ツール
|
|
106
|
+
|
|
107
|
+
| ツール | 説明 |
|
|
108
|
+
|--------|------|
|
|
109
|
+
| `recommend_skills` | プロジェクトを分析し、適切なスキル/プラグイン/MCPを推薦 |
|
|
110
|
+
| `search_skills` | キーワードで検索 |
|
|
111
|
+
| `get_skill_details` | 特定アイテムの詳細を取得 |
|
|
112
|
+
| `list_categories` | カテゴリ一覧を取得 |
|
|
113
|
+
| `get_stats` | データベース統計を取得 |
|
|
114
|
+
|
|
115
|
+
## データソース
|
|
116
|
+
|
|
117
|
+
このMCPサーバーは、以下のソースからデータを集約しています:
|
|
118
|
+
|
|
119
|
+
| ソース | 内容 | 更新頻度 |
|
|
120
|
+
|--------|------|---------|
|
|
121
|
+
| [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) | 公式プラグインマーケットプレイス | 週次 |
|
|
122
|
+
| [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | MCPサーバーのキュレーションリスト | 週次 |
|
|
123
|
+
| [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | スキル/ワークフロー/フックのリスト | 週次 |
|
|
124
|
+
|
|
125
|
+
### 自動更新機能
|
|
126
|
+
|
|
127
|
+
**仕組み:**
|
|
128
|
+
- サーバー起動時にGitHubから最新データを自動取得
|
|
129
|
+
- リモート取得に失敗した場合はバンドル版データにフォールバック
|
|
130
|
+
- 手動更新や再インストール不要
|
|
131
|
+
|
|
132
|
+
**オフラインモード**(オプション):
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"cc-recommender": {
|
|
137
|
+
"command": "npx",
|
|
138
|
+
"args": ["-y", "cc-recommender"],
|
|
139
|
+
"env": {
|
|
140
|
+
"CC_RECOMMENDER_OFFLINE_MODE": "true"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
`CC_RECOMMENDER_OFFLINE_MODE` を有効にすると、バンドル版データのみを使用します(リモート取得なし)。
|
|
148
|
+
|
|
149
|
+
### 環境変数
|
|
150
|
+
|
|
151
|
+
| 変数 | 説明 | デフォルト |
|
|
152
|
+
|------|------|-----------|
|
|
153
|
+
| `CC_RECOMMENDER_OFFLINE_MODE` | 自動更新を無効化してバンドル版データのみを使用 | `false` |
|
|
154
|
+
| `SKIP_SECURITY_SCAN` | データ取得時にセキュリティスキャンをスキップ(開発者向け) | `false` |
|
|
155
|
+
|
|
156
|
+
## 開発
|
|
157
|
+
|
|
158
|
+
開発セットアップと貢献ガイドラインについては、以下を参照してください:
|
|
159
|
+
- [CONTRIBUTING.md](./CONTRIBUTING.md) - 貢献ガイド
|
|
160
|
+
- [ARCHITECTURE.md](./docs/ARCHITECTURE.md) - アーキテクチャドキュメント
|
|
161
|
+
|
|
162
|
+
### 開発者向けクイックスタート
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# 依存関係インストール
|
|
166
|
+
pnpm install
|
|
167
|
+
|
|
168
|
+
# テスト実行
|
|
169
|
+
pnpm run test
|
|
170
|
+
|
|
171
|
+
# 型チェック + Lint + セキュリティ監査
|
|
172
|
+
pnpm run check
|
|
173
|
+
|
|
174
|
+
# ビルド
|
|
175
|
+
pnpm run build
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## セキュリティ
|
|
179
|
+
|
|
180
|
+
このプロジェクトではセキュリティを最優先事項としており、複数の自動化されたセキュリティ対策を実施しています:
|
|
181
|
+
|
|
182
|
+
- **自動スキャン**: Dependabot、CodeQL、カスタムセキュリティ監査
|
|
183
|
+
- **プリコミット保護**: コミット前にセキュリティチェックを実行
|
|
184
|
+
- **CI/CD ゲート**: すべての PR はセキュリティスキャンに合格する必要あり
|
|
185
|
+
- **ライセンス準拠**: すべての依存関係が承認されたライセンスであることを検証
|
|
186
|
+
|
|
187
|
+
詳細は [SECURITY.md](./SECURITY.md) を参照してください。
|
|
188
|
+
|
|
189
|
+
セキュリティ脆弱性を報告する場合は、[GitHub Security Advisories](https://github.com/yuji0809/cc-recommender/security/advisories) をご利用ください。
|
|
190
|
+
|
|
191
|
+
## コントリビューション
|
|
192
|
+
|
|
193
|
+
貢献を歓迎します!詳細は [CONTRIBUTING.md](./CONTRIBUTING.md) を参照してください。
|
|
194
|
+
|
|
195
|
+
## ライセンス
|
|
196
|
+
|
|
197
|
+
[MIT](https://opensource.org/licenses/MIT)
|
|
198
|
+
|
|
199
|
+
## 作者
|
|
200
|
+
|
|
201
|
+
Yuji
|
package/README.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# cc-recommender
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/cc-recommender)
|
|
4
|
+
[](https://github.com/yuji0809/cc-recommender/actions/workflows/ci.yml)
|
|
5
|
+
[](https://codecov.io/gh/yuji0809/cc-recommender)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
[](https://nodejs.org/)
|
|
8
|
+
|
|
9
|
+
> 🎯 Skills, Plugins, and MCP Server Recommendation MCP Server for Claude Code
|
|
10
|
+
|
|
11
|
+
English | [日本語](./README.ja.md)
|
|
12
|
+
|
|
13
|
+
Just ask "What should I install?" in Claude Code, and it will analyze your project and recommend the best skills, plugins, and MCP servers.
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- 📦 **Plugin Recommendations** - Suggests optimal plugins from the official marketplace
|
|
18
|
+
- 🔌 **MCP Server Recommendations** - Search MCP servers from awesome-mcp-servers
|
|
19
|
+
- 🎯 **Skill/Workflow Recommendations** - Suggests skills, hooks, and commands from awesome-claude-code
|
|
20
|
+
- 🔍 **Project Analysis** - Automatically detects languages, frameworks, and dependencies
|
|
21
|
+
- 🏷️ **Keyword Search** - Search by name or tags
|
|
22
|
+
- 🔄 **Auto-Update** - Always fetches the latest data from GitHub (no manual updates needed)
|
|
23
|
+
|
|
24
|
+
## Installation
|
|
25
|
+
|
|
26
|
+
### Via npm (Recommended)
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g cc-recommender
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Local Build
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
git clone https://github.com/yuji0809/cc-recommender.git
|
|
36
|
+
cd cc-recommender
|
|
37
|
+
pnpm install
|
|
38
|
+
pnpm run build
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Requirements:**
|
|
42
|
+
- Node.js >= 22.0.0
|
|
43
|
+
- pnpm >= 10.0.0 (for local build)
|
|
44
|
+
|
|
45
|
+
## Usage with Claude Code
|
|
46
|
+
|
|
47
|
+
Add to `~/.claude/settings.json`:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"cc-recommender": {
|
|
53
|
+
"command": "npx",
|
|
54
|
+
"args": ["-y", "cc-recommender"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Or for local build:
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"mcpServers": {
|
|
65
|
+
"cc-recommender": {
|
|
66
|
+
"command": "node",
|
|
67
|
+
"args": ["/path/to/cc-recommender/dist/index.js"]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## How to Use
|
|
74
|
+
|
|
75
|
+
### Project Analysis and Recommendations
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
You: What should I install for this project?
|
|
79
|
+
|
|
80
|
+
Claude: [Uses recommend_skills tool]
|
|
81
|
+
|
|
82
|
+
📦 Plugins
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
1. typescript-lsp (Official)
|
|
85
|
+
├─ Purpose: TypeScript definition jump, type checking
|
|
86
|
+
├─ Score: 95 ✅ High Match
|
|
87
|
+
└─ Install: /plugin install typescript-lsp
|
|
88
|
+
|
|
89
|
+
🔌 MCP Servers
|
|
90
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
+
1. supabase-mcp
|
|
92
|
+
├─ Purpose: Supabase DB operations
|
|
93
|
+
├─ Reason: Depends on @supabase/supabase-js
|
|
94
|
+
└─ Install: claude mcp add supabase-mcp
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Keyword Search
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
You: Find MCP servers related to databases
|
|
101
|
+
|
|
102
|
+
Claude: [Uses search_skills tool]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Available Tools
|
|
106
|
+
|
|
107
|
+
| Tool | Description |
|
|
108
|
+
|------|-------------|
|
|
109
|
+
| `recommend_skills` | Analyzes project and recommends appropriate skills/plugins/MCPs |
|
|
110
|
+
| `search_skills` | Search by keywords |
|
|
111
|
+
| `get_skill_details` | Get details of a specific item |
|
|
112
|
+
| `list_categories` | Get list of categories |
|
|
113
|
+
| `get_stats` | Get database statistics |
|
|
114
|
+
|
|
115
|
+
## Data Sources
|
|
116
|
+
|
|
117
|
+
This MCP server aggregates data from the following sources:
|
|
118
|
+
|
|
119
|
+
| Source | Content | Update Frequency |
|
|
120
|
+
|--------|---------|------------------|
|
|
121
|
+
| [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) | Official plugin marketplace | Weekly |
|
|
122
|
+
| [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | Curated list of MCP servers | Weekly |
|
|
123
|
+
| [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | List of skills/workflows/hooks | Weekly |
|
|
124
|
+
|
|
125
|
+
### Auto-Update Feature
|
|
126
|
+
|
|
127
|
+
**How it works:**
|
|
128
|
+
- The server automatically fetches the latest data from GitHub when it starts
|
|
129
|
+
- Falls back to bundled data if the remote fetch fails
|
|
130
|
+
- No manual updates or reinstallation required
|
|
131
|
+
|
|
132
|
+
**Offline Mode** (optional):
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"cc-recommender": {
|
|
137
|
+
"command": "npx",
|
|
138
|
+
"args": ["-y", "cc-recommender"],
|
|
139
|
+
"env": {
|
|
140
|
+
"CC_RECOMMENDER_OFFLINE_MODE": "true"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
When `CC_RECOMMENDER_OFFLINE_MODE` is enabled, only bundled data is used (no remote fetching).
|
|
148
|
+
|
|
149
|
+
### Environment Variables
|
|
150
|
+
|
|
151
|
+
| Variable | Description | Default |
|
|
152
|
+
|----------|-------------|---------|
|
|
153
|
+
| `CC_RECOMMENDER_OFFLINE_MODE` | Disable auto-updates and use only bundled data | `false` |
|
|
154
|
+
| `SKIP_SECURITY_SCAN` | Skip security scanning during data fetch (for developers) | `false` |
|
|
155
|
+
|
|
156
|
+
## Development
|
|
157
|
+
|
|
158
|
+
For development setup and contribution guidelines, see:
|
|
159
|
+
- [CONTRIBUTING.md](./CONTRIBUTING.md) - Contribution guide
|
|
160
|
+
- [ARCHITECTURE.md](./docs/ARCHITECTURE.md) - Architecture documentation
|
|
161
|
+
|
|
162
|
+
### Quick Start for Developers
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Install dependencies
|
|
166
|
+
pnpm install
|
|
167
|
+
|
|
168
|
+
# Run tests
|
|
169
|
+
pnpm run test
|
|
170
|
+
|
|
171
|
+
# Type check + Lint + Security audit
|
|
172
|
+
pnpm run check
|
|
173
|
+
|
|
174
|
+
# Build
|
|
175
|
+
pnpm run build
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Security
|
|
179
|
+
|
|
180
|
+
Security is a top priority for this project. We employ multiple layers of automated security measures:
|
|
181
|
+
|
|
182
|
+
- **Automated Scanning**: Dependabot, CodeQL, and custom security audits
|
|
183
|
+
- **Pre-commit Protection**: Security checks run before every commit
|
|
184
|
+
- **CI/CD Gates**: All PRs must pass security scans before merging
|
|
185
|
+
- **License Compliance**: All dependencies are validated for approved licenses
|
|
186
|
+
|
|
187
|
+
For more details, see [SECURITY.md](./SECURITY.md).
|
|
188
|
+
|
|
189
|
+
To report a security vulnerability, please use [GitHub Security Advisories](https://github.com/yuji0809/cc-recommender/security/advisories).
|
|
190
|
+
|
|
191
|
+
## Contributing
|
|
192
|
+
|
|
193
|
+
We welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
|
|
194
|
+
|
|
195
|
+
## License
|
|
196
|
+
|
|
197
|
+
[MIT](https://opensource.org/licenses/MIT)
|
|
198
|
+
|
|
199
|
+
## Author
|
|
200
|
+
|
|
201
|
+
Yuji
|