cc-recommender 0.7.0 → 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 (86) hide show
  1. package/CHANGELOG.md +52 -3
  2. package/README.ja.md +5 -1
  3. package/README.md +5 -1
  4. package/data/mcp-servers.json +2323 -1050
  5. package/data/plugins.json +95 -48
  6. package/data/skills.json +11 -6
  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/repositories/remote-data.repository.d.ts.map +1 -1
  24. package/dist/repositories/remote-data.repository.js +2 -1
  25. package/dist/repositories/remote-data.repository.js.map +1 -1
  26. package/dist/services/fetchers/{mcp-fetcher.d.ts → mcp/mcp-fetcher.d.ts} +1 -1
  27. package/dist/services/fetchers/mcp/mcp-fetcher.d.ts.map +1 -0
  28. package/dist/services/fetchers/{mcp-fetcher.js → mcp/mcp-fetcher.js} +23 -17
  29. package/dist/services/fetchers/mcp/mcp-fetcher.js.map +1 -0
  30. package/dist/services/fetchers/{official-mcp-fetcher.d.ts → mcp/official-mcp-fetcher.d.ts} +1 -1
  31. package/dist/services/fetchers/mcp/official-mcp-fetcher.d.ts.map +1 -0
  32. package/dist/services/fetchers/{official-mcp-fetcher.js → mcp/official-mcp-fetcher.js} +16 -13
  33. package/dist/services/fetchers/mcp/official-mcp-fetcher.js.map +1 -0
  34. package/dist/services/fetchers/{plugin-fetcher.d.ts → plugins/plugin-fetcher.d.ts} +1 -1
  35. package/dist/services/fetchers/plugins/plugin-fetcher.d.ts.map +1 -0
  36. package/dist/services/fetchers/{plugin-fetcher.js → plugins/plugin-fetcher.js} +26 -23
  37. package/dist/services/fetchers/plugins/plugin-fetcher.js.map +1 -0
  38. package/dist/services/fetchers/skills/common/github-api.d.ts +17 -0
  39. package/dist/services/fetchers/skills/common/github-api.d.ts.map +1 -0
  40. package/dist/services/fetchers/skills/common/github-api.js +69 -0
  41. package/dist/services/fetchers/skills/common/github-api.js.map +1 -0
  42. package/dist/services/fetchers/skills/common/skill-parser.d.ts +34 -0
  43. package/dist/services/fetchers/skills/common/skill-parser.d.ts.map +1 -0
  44. package/dist/services/fetchers/skills/common/skill-parser.js +255 -0
  45. package/dist/services/fetchers/skills/common/skill-parser.js.map +1 -0
  46. package/dist/services/fetchers/skills/common/types.d.ts +13 -0
  47. package/dist/services/fetchers/skills/common/types.d.ts.map +1 -0
  48. package/dist/services/fetchers/skills/common/types.js +5 -0
  49. package/dist/services/fetchers/skills/common/types.js.map +1 -0
  50. package/dist/services/fetchers/skills/curated-list-fetcher.d.ts +12 -0
  51. package/dist/services/fetchers/skills/curated-list-fetcher.d.ts.map +1 -0
  52. package/dist/services/fetchers/skills/curated-list-fetcher.js +246 -0
  53. package/dist/services/fetchers/skills/curated-list-fetcher.js.map +1 -0
  54. package/dist/services/fetchers/skills/direct-skill-fetcher.d.ts +16 -0
  55. package/dist/services/fetchers/skills/direct-skill-fetcher.d.ts.map +1 -0
  56. package/dist/services/fetchers/skills/direct-skill-fetcher.js +276 -0
  57. package/dist/services/fetchers/skills/direct-skill-fetcher.js.map +1 -0
  58. package/dist/services/recommender/formatters.d.ts.map +1 -1
  59. package/dist/services/recommender/formatters.js +30 -21
  60. package/dist/services/recommender/formatters.js.map +1 -1
  61. package/dist/services/recommender/quality-scorer.d.ts +40 -0
  62. package/dist/services/recommender/quality-scorer.d.ts.map +1 -0
  63. package/dist/services/recommender/quality-scorer.js +136 -0
  64. package/dist/services/recommender/quality-scorer.js.map +1 -0
  65. package/dist/services/recommender/recommendation.service.d.ts.map +1 -1
  66. package/dist/services/recommender/recommendation.service.js +9 -3
  67. package/dist/services/recommender/recommendation.service.js.map +1 -1
  68. package/package.json +4 -1
  69. package/dist/config/official-skills.d.ts +0 -35
  70. package/dist/config/official-skills.d.ts.map +0 -1
  71. package/dist/config/official-skills.js +0 -67
  72. package/dist/config/official-skills.js.map +0 -1
  73. package/dist/services/fetchers/mcp-fetcher.d.ts.map +0 -1
  74. package/dist/services/fetchers/mcp-fetcher.js.map +0 -1
  75. package/dist/services/fetchers/official-mcp-fetcher.d.ts.map +0 -1
  76. package/dist/services/fetchers/official-mcp-fetcher.js.map +0 -1
  77. package/dist/services/fetchers/official-skill-fetcher.d.ts +0 -12
  78. package/dist/services/fetchers/official-skill-fetcher.d.ts.map +0 -1
  79. package/dist/services/fetchers/official-skill-fetcher.js +0 -379
  80. package/dist/services/fetchers/official-skill-fetcher.js.map +0 -1
  81. package/dist/services/fetchers/plugin-fetcher.d.ts.map +0 -1
  82. package/dist/services/fetchers/plugin-fetcher.js.map +0 -1
  83. package/dist/services/fetchers/skill-fetcher.d.ts +0 -12
  84. package/dist/services/fetchers/skill-fetcher.d.ts.map +0 -1
  85. package/dist/services/fetchers/skill-fetcher.js +0 -307
  86. package/dist/services/fetchers/skill-fetcher.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,8 +5,59 @@ 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.7.0](https://github.com/yuji0809/cc-recommender/compare/v0.6.1...v0.7.0) (2026-01-31)
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
9
59
 
60
+ ## [0.7.0](https://github.com/yuji0809/cc-recommender/compare/v0.6.1...v0.7.0) (2026-01-31)
10
61
 
11
62
  ### Features
12
63
 
@@ -82,8 +133,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
82
133
 
83
134
  * remove deprecated package-name parameter from release-please ([c043385](https://github.com/yuji0809/cc-recommender/commit/c043385338885da915c956904af59eb382e5f99d))
84
135
 
85
- ## [Unreleased]
86
-
87
136
  ## [0.1.0] - 2025-01-30
88
137
 
89
138
  ### Added
package/README.ja.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # cc-recommender
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/cc-recommender.svg)](https://www.npmjs.com/package/cc-recommender)
4
+ [![npm downloads](https://img.shields.io/npm/dm/cc-recommender.svg)](https://www.npmjs.com/package/cc-recommender)
4
5
  [![CI](https://github.com/yuji0809/cc-recommender/actions/workflows/ci.yml/badge.svg)](https://github.com/yuji0809/cc-recommender/actions/workflows/ci.yml)
5
6
  [![codecov](https://codecov.io/gh/yuji0809/cc-recommender/branch/main/graph/badge.svg)](https://codecov.io/gh/yuji0809/cc-recommender)
6
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -20,6 +21,8 @@ Claude Codeで「何入れたらいい?」と聞くだけで、プロジェク
20
21
  - 🔍 **プロジェクト分析** - 使用言語、フレームワーク、依存関係を自動検出
21
22
  - 🏷️ **キーワード検索** - 名前やタグで検索
22
23
  - 🔄 **自動更新** - GitHubから常に最新データを取得(手動更新不要)
24
+ - ⭐ **品質スコアリング** - 公式ステータス、スター数、更新日、ソースに基づいてスキルを評価
25
+ - 🤖 **公式スキル自動検出** - 既知の組織から公式スキルを自動的に検出
23
26
 
24
27
  ## インストール
25
28
 
@@ -189,7 +192,8 @@ Claude: [search_skills ツールを使用]
189
192
  | `GITHUB_TOKEN` | GitHub パーソナルアクセストークン(API レート制限を 60 → 5000 req/hour に拡大) | 未設定 |
190
193
  | `SKIP_SECURITY_SCAN` | データ取得時にセキュリティスキャンをスキップ(開発者向け) | `false` |
191
194
 
192
- **注意:** GitHub から公式スキル(Anthropic、Supabase など)を取得する場合、レート制限を回避するために GitHub トークンの設定を推奨します。https://github.com/settings/tokens で `public_repo` スコープのトークンを作成してください。
195
+ **注意:**
196
+ - GitHub リポジトリからスキルを取得する場合、レート制限を回避するために GitHub トークンの設定を推奨します。https://github.com/settings/tokens で `public_repo` スコープのトークンを作成してください。
193
197
 
194
198
  ## 開発
195
199
 
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # cc-recommender
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/cc-recommender.svg)](https://www.npmjs.com/package/cc-recommender)
4
+ [![npm downloads](https://img.shields.io/npm/dm/cc-recommender.svg)](https://www.npmjs.com/package/cc-recommender)
4
5
  [![CI](https://github.com/yuji0809/cc-recommender/actions/workflows/ci.yml/badge.svg)](https://github.com/yuji0809/cc-recommender/actions/workflows/ci.yml)
5
6
  [![codecov](https://codecov.io/gh/yuji0809/cc-recommender/branch/main/graph/badge.svg)](https://codecov.io/gh/yuji0809/cc-recommender)
6
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -20,6 +21,8 @@ Just ask "What should I install?" in Claude Code, and it will analyze your proje
20
21
  - 🔍 **Project Analysis** - Automatically detects languages, frameworks, and dependencies
21
22
  - 🏷️ **Keyword Search** - Search by name or tags
22
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
23
26
 
24
27
  ## Installation
25
28
 
@@ -189,7 +192,8 @@ When `CC_RECOMMENDER_OFFLINE_MODE` is enabled, only bundled data is used (no rem
189
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
 
192
- **Note:** To fetch official skills from GitHub (Anthropic, Supabase, etc.), a GitHub token is recommended to avoid rate limits. Create a token at https://github.com/settings/tokens with `public_repo` scope.
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.
193
197
 
194
198
  ## Development
195
199