cc-recommender 0.6.1 → 0.8.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.
Files changed (97) hide show
  1. package/CHANGELOG.md +60 -2
  2. package/README.ja.md +9 -3
  3. package/README.md +9 -3
  4. package/data/mcp-servers.json +28579 -1614
  5. package/data/plugins.json +1 -1
  6. package/data/skills.json +161 -26
  7. package/dist/config/constants.d.ts +7 -0
  8. package/dist/config/constants.d.ts.map +1 -1
  9. package/dist/config/constants.js +7 -0
  10. package/dist/config/constants.js.map +1 -1
  11. package/dist/config/curated-list-sources.d.ts +29 -0
  12. package/dist/config/curated-list-sources.d.ts.map +1 -0
  13. package/dist/config/curated-list-sources.js +32 -0
  14. package/dist/config/curated-list-sources.js.map +1 -0
  15. package/dist/config/direct-skill-sources.d.ts +36 -0
  16. package/dist/config/direct-skill-sources.d.ts.map +1 -0
  17. package/dist/config/direct-skill-sources.js +82 -0
  18. package/dist/config/direct-skill-sources.js.map +1 -0
  19. package/dist/config/env.d.ts +33 -0
  20. package/dist/config/env.d.ts.map +1 -0
  21. package/dist/config/env.js +50 -0
  22. package/dist/config/env.js.map +1 -0
  23. package/dist/index.js +6 -6
  24. package/dist/index.js.map +1 -1
  25. package/dist/repositories/recommendation.repository.js +4 -4
  26. package/dist/repositories/recommendation.repository.js.map +1 -1
  27. package/dist/repositories/remote-data.repository.d.ts.map +1 -1
  28. package/dist/repositories/remote-data.repository.js +25 -24
  29. package/dist/repositories/remote-data.repository.js.map +1 -1
  30. package/dist/schemas/tool-schemas.d.ts.map +1 -1
  31. package/dist/schemas/tool-schemas.js +2 -2
  32. package/dist/schemas/tool-schemas.js.map +1 -1
  33. package/dist/server/mcp-server.js +1 -1
  34. package/dist/server/mcp-server.js.map +1 -1
  35. package/dist/server/tool-registry.d.ts.map +1 -1
  36. package/dist/server/tool-registry.js +3 -3
  37. package/dist/server/tool-registry.js.map +1 -1
  38. package/dist/services/fetchers/{mcp-fetcher.d.ts → mcp/mcp-fetcher.d.ts} +1 -1
  39. package/dist/services/fetchers/mcp/mcp-fetcher.d.ts.map +1 -0
  40. package/dist/services/fetchers/{mcp-fetcher.js → mcp/mcp-fetcher.js} +23 -17
  41. package/dist/services/fetchers/mcp/mcp-fetcher.js.map +1 -0
  42. package/dist/services/fetchers/{official-mcp-fetcher.d.ts → mcp/official-mcp-fetcher.d.ts} +1 -1
  43. package/dist/services/fetchers/mcp/official-mcp-fetcher.d.ts.map +1 -0
  44. package/dist/services/fetchers/{official-mcp-fetcher.js → mcp/official-mcp-fetcher.js} +16 -13
  45. package/dist/services/fetchers/mcp/official-mcp-fetcher.js.map +1 -0
  46. package/dist/services/fetchers/{plugin-fetcher.d.ts → plugins/plugin-fetcher.d.ts} +1 -1
  47. package/dist/services/fetchers/plugins/plugin-fetcher.d.ts.map +1 -0
  48. package/dist/services/fetchers/{plugin-fetcher.js → plugins/plugin-fetcher.js} +26 -23
  49. package/dist/services/fetchers/plugins/plugin-fetcher.js.map +1 -0
  50. package/dist/services/fetchers/skills/common/github-api.d.ts +17 -0
  51. package/dist/services/fetchers/skills/common/github-api.d.ts.map +1 -0
  52. package/dist/services/fetchers/skills/common/github-api.js +69 -0
  53. package/dist/services/fetchers/skills/common/github-api.js.map +1 -0
  54. package/dist/services/fetchers/skills/common/skill-parser.d.ts +34 -0
  55. package/dist/services/fetchers/skills/common/skill-parser.d.ts.map +1 -0
  56. package/dist/services/fetchers/skills/common/skill-parser.js +255 -0
  57. package/dist/services/fetchers/skills/common/skill-parser.js.map +1 -0
  58. package/dist/services/fetchers/skills/common/types.d.ts +13 -0
  59. package/dist/services/fetchers/skills/common/types.d.ts.map +1 -0
  60. package/dist/services/fetchers/skills/common/types.js +5 -0
  61. package/dist/services/fetchers/skills/common/types.js.map +1 -0
  62. package/dist/services/fetchers/skills/curated-list-fetcher.d.ts +12 -0
  63. package/dist/services/fetchers/skills/curated-list-fetcher.d.ts.map +1 -0
  64. package/dist/services/fetchers/skills/curated-list-fetcher.js +246 -0
  65. package/dist/services/fetchers/skills/curated-list-fetcher.js.map +1 -0
  66. package/dist/services/fetchers/skills/direct-skill-fetcher.d.ts +16 -0
  67. package/dist/services/fetchers/skills/direct-skill-fetcher.d.ts.map +1 -0
  68. package/dist/services/fetchers/skills/direct-skill-fetcher.js +276 -0
  69. package/dist/services/fetchers/skills/direct-skill-fetcher.js.map +1 -0
  70. package/dist/services/recommender/formatters.d.ts.map +1 -1
  71. package/dist/services/recommender/formatters.js +89 -36
  72. package/dist/services/recommender/formatters.js.map +1 -1
  73. package/dist/services/recommender/quality-scorer.d.ts +40 -0
  74. package/dist/services/recommender/quality-scorer.d.ts.map +1 -0
  75. package/dist/services/recommender/quality-scorer.js +136 -0
  76. package/dist/services/recommender/quality-scorer.js.map +1 -0
  77. package/dist/services/recommender/recommendation.service.d.ts.map +1 -1
  78. package/dist/services/recommender/recommendation.service.js +9 -3
  79. package/dist/services/recommender/recommendation.service.js.map +1 -1
  80. package/dist/services/security-scanner.service.d.ts.map +1 -1
  81. package/dist/services/security-scanner.service.js +1 -1
  82. package/dist/services/security-scanner.service.js.map +1 -1
  83. package/dist/utils/retry.d.ts +30 -0
  84. package/dist/utils/retry.d.ts.map +1 -0
  85. package/dist/utils/retry.js +71 -0
  86. package/dist/utils/retry.js.map +1 -0
  87. package/package.json +4 -1
  88. package/dist/services/fetchers/mcp-fetcher.d.ts.map +0 -1
  89. package/dist/services/fetchers/mcp-fetcher.js.map +0 -1
  90. package/dist/services/fetchers/official-mcp-fetcher.d.ts.map +0 -1
  91. package/dist/services/fetchers/official-mcp-fetcher.js.map +0 -1
  92. package/dist/services/fetchers/plugin-fetcher.d.ts.map +0 -1
  93. package/dist/services/fetchers/plugin-fetcher.js.map +0 -1
  94. package/dist/services/fetchers/skill-fetcher.d.ts +0 -12
  95. package/dist/services/fetchers/skill-fetcher.d.ts.map +0 -1
  96. package/dist/services/fetchers/skill-fetcher.js +0 -307
  97. package/dist/services/fetchers/skill-fetcher.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,66 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.8.0](https://github.com/yuji0809/cc-recommender/compare/v0.7.0...v0.8.0) (2026-02-01)
9
+
10
+
11
+ ### Features
12
+
13
+ * enhance skill fetching and security filtering ([99745c2](https://github.com/yuji0809/cc-recommender/commit/99745c2391628607af2e5e87e0ceacfdf953cafb))
14
+
15
+ ## [Unreleased]
16
+
17
+ ### Added
18
+ - OpenAI skills support (.curated and .experimental subdirectories)
19
+ - Obra superpowers skills support
20
+ - Direct skill source configuration separated from curated list sources
21
+ - Automatic skill repository structure detection
22
+ - VoltAgent repository exclusion to prevent false positives
23
+ - Documentation Agent for checking MD file consistency with code
24
+ - Pre-commit check command (`/pre-commit-check`) for comprehensive code review before commits
25
+ - Quality scoring system for skills based on multiple metrics:
26
+ - Official status (0-40 points)
27
+ - Stars count (0-30 points, logarithmic scale)
28
+ - Freshness (0-20 points, based on last updated date)
29
+ - Source priority (0-10 points)
30
+ - Quality badges (⭐, ⭐⭐, ⭐⭐⭐) in recommendation output
31
+ - Official skills support from GitHub repositories (Anthropic, Supabase, Vercel, etc.)
32
+ - GitHub topic search for automatic skill discovery from community (requires GITHUB_TOKEN)
33
+ - Retry utility with exponential backoff for handling API rate limits
34
+ - Environment variable centralization via `src/config/env.ts` for better maintainability
35
+ - New agents: Documentation Agent, TDD Agent, Architecture Agent, Security Agent, TypeScript Agent
36
+ - New skills: documentation-check, architecture-check, security-check, typescript-check, tdd
37
+ - New commands: pre-commit-check
38
+
39
+ ### Changed
40
+ - SKILL_FILE_PATTERNS now prioritizes `SKILL.md` (uppercase) over lowercase variants
41
+ - Split skill sources into direct repositories and curated lists for better organization
42
+ - Improved skill validation with repository structure checks
43
+ - Replace `console.error` with `console.log` for consistent logging across the codebase
44
+ - Update score thresholds in `getScoreExplanation` function to use 1-100 scale
45
+ - Use raw GitHub data (raw.githubusercontent.com) to avoid API rate limits
46
+ - Reorganize fetchers into subdirectories by type (mcp/, plugins/, skills/)
47
+ - Update frequency changed from weekly to daily for plugin marketplace, MCP servers, and skills list
48
+ - Use `ENV` config instead of direct `process.env` access for better testability and type safety
49
+ - Move module-level constants outside functions for improved performance
50
+ - Update `.cc-audit.yaml` to treat MW-072 (Burp Suite) as warning instead of error
51
+
52
+ ### Fixed
53
+ - OpenAI experimental skills now correctly fetched (codex-readiness-*, create-plan, gitlab-address-comments)
54
+ - Obra skills discovery now working with flat directory structure
55
+ - VoltAgent awesome-agent-skills no longer incorrectly detected as a skill itself
56
+ - Security scanning now succeeds for all repositories (31/31)
57
+ - Improved error handling in data fetching services
58
+ - Better retry logic for GitHub API rate limits and temporary failures
59
+
60
+ ## [0.7.0](https://github.com/yuji0809/cc-recommender/compare/v0.6.1...v0.7.0) (2026-01-31)
61
+
62
+ ### Features
63
+
64
+ * add official skills support from GitHub repositories ([195d44b](https://github.com/yuji0809/cc-recommender/commit/195d44b15b5dc46603a6345339cf6613dc41da54))
65
+ * enhance documentation and pre-commit checks ([048e23c](https://github.com/yuji0809/cc-recommender/commit/048e23ccca7de068345d7489847236cfea0705dd))
66
+ * use raw GitHub data to avoid API rate limits ([473d6b2](https://github.com/yuji0809/cc-recommender/commit/473d6b26d5134bea974f07a090387d89a90fe2d6))
67
+
8
68
  ## [0.6.1](https://github.com/yuji0809/cc-recommender/compare/v0.6.0...v0.6.1) (2026-01-31)
9
69
 
10
70
 
@@ -73,8 +133,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
73
133
 
74
134
  * remove deprecated package-name parameter from release-please ([c043385](https://github.com/yuji0809/cc-recommender/commit/c043385338885da915c956904af59eb382e5f99d))
75
135
 
76
- ## [Unreleased]
77
-
78
136
  ## [0.1.0] - 2025-01-30
79
137
 
80
138
  ### Added
package/README.ja.md CHANGED
@@ -21,6 +21,8 @@ Claude Codeで「何入れたらいい?」と聞くだけで、プロジェク
21
21
  - 🔍 **プロジェクト分析** - 使用言語、フレームワーク、依存関係を自動検出
22
22
  - 🏷️ **キーワード検索** - 名前やタグで検索
23
23
  - 🔄 **自動更新** - GitHubから常に最新データを取得(手動更新不要)
24
+ - ⭐ **品質スコアリング** - 公式ステータス、スター数、更新日、ソースに基づいてスキルを評価
25
+ - 🤖 **公式スキル自動検出** - 既知の組織から公式スキルを自動的に検出
24
26
 
25
27
  ## インストール
26
28
 
@@ -154,9 +156,9 @@ Claude: [search_skills ツールを使用]
154
156
 
155
157
  | ソース | 内容 | 更新頻度 |
156
158
  |--------|------|---------|
157
- | [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) | 公式プラグインマーケットプレイス | 週次 |
158
- | [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | MCPサーバーのキュレーションリスト | 週次 |
159
- | [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | スキル/ワークフロー/フックのリスト | 週次 |
159
+ | [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) | 公式プラグインマーケットプレイス | 日次 |
160
+ | [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | MCPサーバーのキュレーションリスト | 日次 |
161
+ | [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | スキル/ワークフロー/フックのリスト | 日次 |
160
162
 
161
163
  ### 自動更新機能
162
164
 
@@ -187,8 +189,12 @@ Claude: [search_skills ツールを使用]
187
189
  | 変数 | 説明 | デフォルト |
188
190
  |------|------|-----------|
189
191
  | `CC_RECOMMENDER_OFFLINE_MODE` | 自動更新を無効化してバンドル版データのみを使用 | `false` |
192
+ | `GITHUB_TOKEN` | GitHub パーソナルアクセストークン(API レート制限を 60 → 5000 req/hour に拡大) | 未設定 |
190
193
  | `SKIP_SECURITY_SCAN` | データ取得時にセキュリティスキャンをスキップ(開発者向け) | `false` |
191
194
 
195
+ **注意:**
196
+ - GitHub リポジトリからスキルを取得する場合、レート制限を回避するために GitHub トークンの設定を推奨します。https://github.com/settings/tokens で `public_repo` スコープのトークンを作成してください。
197
+
192
198
  ## 開発
193
199
 
194
200
  開発セットアップと貢献ガイドラインについては、以下を参照してください:
package/README.md CHANGED
@@ -21,6 +21,8 @@ Just ask "What should I install?" in Claude Code, and it will analyze your proje
21
21
  - 🔍 **Project Analysis** - Automatically detects languages, frameworks, and dependencies
22
22
  - 🏷️ **Keyword Search** - Search by name or tags
23
23
  - 🔄 **Auto-Update** - Always fetches the latest data from GitHub (no manual updates needed)
24
+ - ⭐ **Quality Scoring** - Evaluates skills based on official status, stars, freshness, and source
25
+ - 🤖 **Official Skills Discovery** - Automatically discovers official skills from known organizations
24
26
 
25
27
  ## Installation
26
28
 
@@ -154,9 +156,9 @@ This MCP server aggregates data from the following sources:
154
156
 
155
157
  | Source | Content | Update Frequency |
156
158
  |--------|---------|------------------|
157
- | [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) | Official plugin marketplace | Weekly |
158
- | [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | Curated list of MCP servers | Weekly |
159
- | [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | List of skills/workflows/hooks | Weekly |
159
+ | [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official) | Official plugin marketplace | Daily |
160
+ | [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | Curated list of MCP servers | Daily |
161
+ | [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | List of skills/workflows/hooks | Daily |
160
162
 
161
163
  ### Auto-Update Feature
162
164
 
@@ -187,8 +189,12 @@ When `CC_RECOMMENDER_OFFLINE_MODE` is enabled, only bundled data is used (no rem
187
189
  | Variable | Description | Default |
188
190
  |----------|-------------|---------|
189
191
  | `CC_RECOMMENDER_OFFLINE_MODE` | Disable auto-updates and use only bundled data | `false` |
192
+ | `GITHUB_TOKEN` | GitHub personal access token (increases API rate limit from 60 to 5000 req/hour) | Not set |
190
193
  | `SKIP_SECURITY_SCAN` | Skip security scanning during data fetch (for developers) | `false` |
191
194
 
195
+ **Notes:**
196
+ - To fetch skills from GitHub repositories, a GitHub token is recommended to avoid rate limits. Create a token at https://github.com/settings/tokens with `public_repo` scope.
197
+
192
198
  ## Development
193
199
 
194
200
  For development setup and contribution guidelines, see: