cc-recommender 0.2.2 → 0.4.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 (44) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.ja.md +3 -1
  3. package/README.md +3 -1
  4. package/data/mcp-servers.json +1 -1
  5. package/data/plugins.json +1 -1
  6. package/data/skills.json +26 -1
  7. package/dist/config/scoring-config.d.ts +2 -0
  8. package/dist/config/scoring-config.d.ts.map +1 -1
  9. package/dist/config/scoring-config.js +2 -0
  10. package/dist/config/scoring-config.js.map +1 -1
  11. package/dist/services/{mcp-fetcher.d.ts → fetchers/mcp-fetcher.d.ts} +1 -1
  12. package/dist/services/fetchers/mcp-fetcher.d.ts.map +1 -0
  13. package/dist/services/fetchers/mcp-fetcher.js.map +1 -0
  14. package/dist/services/fetchers/official-mcp-fetcher.d.ts +12 -0
  15. package/dist/services/fetchers/official-mcp-fetcher.d.ts.map +1 -0
  16. package/dist/services/fetchers/official-mcp-fetcher.js +186 -0
  17. package/dist/services/fetchers/official-mcp-fetcher.js.map +1 -0
  18. package/dist/services/{plugin-fetcher.d.ts → fetchers/plugin-fetcher.d.ts} +1 -1
  19. package/dist/services/fetchers/plugin-fetcher.d.ts.map +1 -0
  20. package/dist/services/fetchers/plugin-fetcher.js.map +1 -0
  21. package/dist/services/{skill-fetcher.d.ts → fetchers/skill-fetcher.d.ts} +1 -1
  22. package/dist/services/fetchers/skill-fetcher.d.ts.map +1 -0
  23. package/dist/services/fetchers/skill-fetcher.js.map +1 -0
  24. package/dist/services/recommender/formatters.d.ts +2 -1
  25. package/dist/services/recommender/formatters.d.ts.map +1 -1
  26. package/dist/services/recommender/formatters.js +110 -3
  27. package/dist/services/recommender/formatters.js.map +1 -1
  28. package/dist/services/recommender/scoring/scorer.d.ts +1 -1
  29. package/dist/services/recommender/scoring/scorer.d.ts.map +1 -1
  30. package/dist/services/recommender/scoring/scorer.js +21 -5
  31. package/dist/services/recommender/scoring/scorer.js.map +1 -1
  32. package/dist/tools/handlers/recommend-skills.tool.d.ts.map +1 -1
  33. package/dist/tools/handlers/recommend-skills.tool.js +7 -1
  34. package/dist/tools/handlers/recommend-skills.tool.js.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/services/mcp-fetcher.d.ts.map +0 -1
  37. package/dist/services/mcp-fetcher.js.map +0 -1
  38. package/dist/services/plugin-fetcher.d.ts.map +0 -1
  39. package/dist/services/plugin-fetcher.js.map +0 -1
  40. package/dist/services/skill-fetcher.d.ts.map +0 -1
  41. package/dist/services/skill-fetcher.js.map +0 -1
  42. /package/dist/services/{mcp-fetcher.js → fetchers/mcp-fetcher.js} +0 -0
  43. /package/dist/services/{plugin-fetcher.js → fetchers/plugin-fetcher.js} +0 -0
  44. /package/dist/services/{skill-fetcher.js → fetchers/skill-fetcher.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ 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.4.0](https://github.com/yuji0809/cc-recommender/compare/v0.3.0...v0.4.0) (2026-01-30)
9
+
10
+
11
+ ### Features
12
+
13
+ * implement dual-source fetching for MCP servers and plugins ([b4b80a8](https://github.com/yuji0809/cc-recommender/commit/b4b80a8972b07fdedb2f311e19f6139df025da06))
14
+
15
+ ## [0.3.0](https://github.com/yuji0809/cc-recommender/compare/v0.2.2...v0.3.0) (2026-01-30)
16
+
17
+
18
+ ### Features
19
+
20
+ * enhance scoring system and add bonus recommendations ([16646df](https://github.com/yuji0809/cc-recommender/commit/16646df64860d939a6302e33193678ee603d375c))
21
+
8
22
  ## [0.2.2](https://github.com/yuji0809/cc-recommender/compare/v0.2.1...v0.2.2) (2026-01-30)
9
23
 
10
24
 
package/README.ja.md CHANGED
@@ -44,11 +44,13 @@ pnpm run build
44
44
 
45
45
  ## Claude Codeで使う
46
46
 
47
+ **Cursorユーザーの方へ:** `~/.claude/settings.json`の代わりに`~/.cursor/mcp.json`を使用してください
48
+
47
49
  ### 方法1: npx経由(推奨)
48
50
 
49
51
  インストール不要。常に最新版を使用。
50
52
 
51
- `~/.claude/settings.json` に追加:
53
+ `~/.claude/settings.json`(Cursorの場合は`~/.cursor/mcp.json`)に追加:
52
54
 
53
55
  ```json
54
56
  {
package/README.md CHANGED
@@ -44,11 +44,13 @@ pnpm run build
44
44
 
45
45
  ## Usage with Claude Code
46
46
 
47
+ **For Cursor users:** Use `~/.cursor/mcp.json` instead of `~/.claude/settings.json`
48
+
47
49
  ### Option 1: Using npx (Recommended)
48
50
 
49
51
  No installation required. Always uses the latest version.
50
52
 
51
- Add to `~/.claude/settings.json`:
53
+ Add to `~/.claude/settings.json` (or `~/.cursor/mcp.json` for Cursor):
52
54
 
53
55
  ```json
54
56
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "0.1.0",
3
- "lastUpdated": "2026-01-30T12:20:06.930Z",
3
+ "lastUpdated": "2026-01-30T15:47:15.304Z",
4
4
  "items": [
5
5
  {
6
6
  "id": "mcp-1mcp-app-agent",
package/data/plugins.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "0.1.0",
3
- "lastUpdated": "2026-01-30T12:20:06.930Z",
3
+ "lastUpdated": "2026-01-30T15:47:15.304Z",
4
4
  "items": [
5
5
  {
6
6
  "id": "plugin-typescript-lsp",
package/data/skills.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "0.1.0",
3
- "lastUpdated": "2026-01-30T12:20:06.930Z",
3
+ "lastUpdated": "2026-01-30T15:47:15.304Z",
4
4
  "items": [
5
5
  {
6
6
  "id": "skill-ai-agent-ai-spy",
@@ -25,6 +25,31 @@
25
25
  "method": "manual"
26
26
  }
27
27
  },
28
+ {
29
+ "id": "skill-cc-devops-skills",
30
+ "name": "cc-devops-skills",
31
+ "type": "skill",
32
+ "url": "https://github.com/akin-ozer/cc-devops-skills",
33
+ "description": "Immensely detailed set of skills for DevOps Engineers (or anyone who has to deploy code, really). Works with validations, generators, shell scripts and CLI tools to create high quality IaC code for about any platform you've ever struggled painfully to work with. Worth downloading even just as a source of documentation.",
34
+ "author": {
35
+ "name": "akin-ozer",
36
+ "url": "https://github.com/akin-ozer"
37
+ },
38
+ "category": "Agent Skills",
39
+ "tags": ["agent skills", "skill", "apache-2.0"],
40
+ "detection": {
41
+ "keywords": ["devops", "ai"]
42
+ },
43
+ "metrics": {
44
+ "source": "awesome-list",
45
+ "isOfficial": false,
46
+ "securityScore": 100
47
+ },
48
+ "install": {
49
+ "method": "manual",
50
+ "command": "git clone https://github.com/akin-ozer/cc-devops-skills"
51
+ }
52
+ },
28
53
  {
29
54
  "id": "skill-claude-codex-settings",
30
55
  "name": "Claude Codex Settings",
@@ -23,5 +23,7 @@ export declare const SCORING_THRESHOLDS: {
23
23
  readonly maxResults: 20;
24
24
  readonly highSecurityThreshold: 80;
25
25
  readonly lowSecurityThreshold: 50;
26
+ /** Expected maximum raw score for normalization (empirical value) */
27
+ readonly maxRawScore: 50;
26
28
  };
27
29
  //# sourceMappingURL=scoring-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scoring-config.d.ts","sourceRoot":"","sources":["../../src/config/scoring-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8CAA8C;AAC9C,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,yBAAyB;AACzB,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC"}
1
+ {"version":3,"file":"scoring-config.d.ts","sourceRoot":"","sources":["../../src/config/scoring-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8CAA8C;AAC9C,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,yBAAyB;AACzB,eAAO,MAAM,kBAAkB;;;;;IAK7B,qEAAqE;;CAE7D,CAAC"}
@@ -23,5 +23,7 @@ export const SCORING_THRESHOLDS = {
23
23
  maxResults: 20,
24
24
  highSecurityThreshold: 80,
25
25
  lowSecurityThreshold: 50,
26
+ /** Expected maximum raw score for normalization (empirical value) */
27
+ maxRawScore: 50,
26
28
  };
27
29
  //# sourceMappingURL=scoring-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scoring-config.js","sourceRoot":"","sources":["../../src/config/scoring-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,CAAC,EAAE,mCAAmC;IAChD,SAAS,EAAE,CAAC,EAAE,+BAA+B;IAC7C,UAAU,EAAE,CAAC,EAAE,0BAA0B;IACzC,IAAI,EAAE,CAAC,EAAE,qBAAqB;IAC9B,OAAO,EAAE,CAAC,EAAE,oBAAoB;CACxB,CAAC;AAEX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,GAAG,EAAE,6BAA6B;IAC5C,YAAY,EAAE,GAAG,EAAE,sBAAsB;IACzC,WAAW,EAAE,GAAG,EAAE,sBAAsB;CAChC,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,EAAE;IACd,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;CAChB,CAAC"}
1
+ {"version":3,"file":"scoring-config.js","sourceRoot":"","sources":["../../src/config/scoring-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,CAAC,EAAE,mCAAmC;IAChD,SAAS,EAAE,CAAC,EAAE,+BAA+B;IAC7C,UAAU,EAAE,CAAC,EAAE,0BAA0B;IACzC,IAAI,EAAE,CAAC,EAAE,qBAAqB;IAC9B,OAAO,EAAE,CAAC,EAAE,oBAAoB;CACxB,CAAC;AAEX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,GAAG,EAAE,6BAA6B;IAC5C,YAAY,EAAE,GAAG,EAAE,sBAAsB;IACzC,WAAW,EAAE,GAAG,EAAE,sBAAsB;CAChC,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,EAAE;IACd,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;IACxB,qEAAqE;IACrE,WAAW,EAAE,EAAE;CACP,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Fetches MCP servers from awesome-mcp-servers repository
5
5
  * Source: https://github.com/punkpeye/awesome-mcp-servers
6
6
  */
7
- import type { Recommendation } from "../types/domain-types.js";
7
+ import type { Recommendation } from "../../types/domain-types.js";
8
8
  /**
9
9
  * Fetch MCP servers from awesome-mcp-servers
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-fetcher.d.ts","sourceRoot":"","sources":["../../../src/services/fetchers/mcp-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA+DlE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAqBjE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-fetcher.js","sourceRoot":"","sources":["../../../src/services/fetchers/mcp-fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Official MCP Registry Fetcher
3
+ *
4
+ * Fetches MCP servers from the official Model Context Protocol Registry
5
+ * Source: https://registry.modelcontextprotocol.io
6
+ */
7
+ import type { Recommendation } from "../../types/domain-types.js";
8
+ /**
9
+ * Fetch MCP servers from official registry
10
+ */
11
+ export declare function fetchOfficialMCPServers(): Promise<Recommendation[]>;
12
+ //# sourceMappingURL=official-mcp-fetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-mcp-fetcher.d.ts","sourceRoot":"","sources":["../../../src/services/fetchers/official-mcp-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAsDlE;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAgDzE"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Official MCP Registry Fetcher
3
+ *
4
+ * Fetches MCP servers from the official Model Context Protocol Registry
5
+ * Source: https://registry.modelcontextprotocol.io
6
+ */
7
+ const REGISTRY_API = "https://registry.modelcontextprotocol.io/v0.1/servers";
8
+ const PAGE_LIMIT = 96; // Maximum allowed by API
9
+ /**
10
+ * Fetch MCP servers from official registry
11
+ */
12
+ export async function fetchOfficialMCPServers() {
13
+ console.log("🔌 Fetching MCP servers from official registry...");
14
+ try {
15
+ const allEntries = [];
16
+ let cursor;
17
+ let pageCount = 0;
18
+ // Fetch all pages
19
+ do {
20
+ const url = new URL(REGISTRY_API);
21
+ url.searchParams.set("version", "latest");
22
+ url.searchParams.set("limit", PAGE_LIMIT.toString());
23
+ if (cursor) {
24
+ url.searchParams.set("cursor", cursor);
25
+ }
26
+ const response = await fetch(url.toString());
27
+ if (!response.ok) {
28
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
29
+ }
30
+ const data = (await response.json());
31
+ // Filter active servers only
32
+ const activeEntries = data.servers.filter((entry) => entry._meta["io.modelcontextprotocol.registry/official"].status === "active");
33
+ allEntries.push(...activeEntries);
34
+ cursor = data.metadata.nextCursor;
35
+ pageCount++;
36
+ // Safety limit to prevent infinite loops
37
+ if (pageCount > 100) {
38
+ console.warn(" ⚠ Reached page limit (100), stopping pagination");
39
+ break;
40
+ }
41
+ } while (cursor);
42
+ const recommendations = allEntries
43
+ .map(transformRegistryEntry)
44
+ .filter((r) => r !== null);
45
+ console.log(` ✓ Fetched ${recommendations.length} official MCP servers`);
46
+ return recommendations;
47
+ }
48
+ catch (error) {
49
+ console.error(" ✗ Failed to fetch official MCP servers:", error);
50
+ return [];
51
+ }
52
+ }
53
+ /**
54
+ * Transform registry entry to unified Recommendation
55
+ */
56
+ function transformRegistryEntry(entry) {
57
+ try {
58
+ const server = entry.server;
59
+ const meta = entry._meta["io.modelcontextprotocol.registry/official"];
60
+ // Validate required fields
61
+ if (!server.name || !server.description) {
62
+ return null;
63
+ }
64
+ // Extract category from name (e.g., "company.name/category-server" -> "category")
65
+ const nameParts = server.name.split("/");
66
+ const serverName = nameParts[nameParts.length - 1];
67
+ const category = inferCategory(serverName, server.description);
68
+ // Determine installation command
69
+ const installCommand = getInstallCommand(server);
70
+ // Extract detection rules
71
+ const detection = extractDetectionRules(server);
72
+ // Determine source URL (prefer repository, fallback to registry)
73
+ const url = server.repository?.url || server.homepage || `https://registry.modelcontextprotocol.io`;
74
+ return {
75
+ id: `official-mcp-${server.name.replace(/[^a-z0-9-]/gi, "-")}`,
76
+ name: server.name,
77
+ type: "mcp",
78
+ url,
79
+ description: server.description,
80
+ author: {
81
+ name: nameParts[0] || "Unknown",
82
+ },
83
+ category,
84
+ tags: [category, "mcp", "official-registry"],
85
+ detection,
86
+ metrics: {
87
+ source: "official",
88
+ isOfficial: true,
89
+ lastUpdated: meta.updatedAt,
90
+ },
91
+ install: {
92
+ method: "mcp-add",
93
+ command: installCommand,
94
+ marketplace: "official-registry",
95
+ },
96
+ };
97
+ }
98
+ catch (error) {
99
+ console.warn(` ⚠ Failed to transform server: ${entry.server.name || "unknown"} -`, error instanceof Error ? error.message : String(error));
100
+ return null;
101
+ }
102
+ }
103
+ /**
104
+ * Infer category from server name and description
105
+ */
106
+ function inferCategory(name, description) {
107
+ const text = `${name} ${description}`.toLowerCase();
108
+ const categoryKeywords = {
109
+ database: ["database", "sql", "postgres", "mysql", "mongodb", "redis"],
110
+ cloud: ["aws", "azure", "gcp", "cloud", "s3", "lambda"],
111
+ "developer-tools": ["git", "github", "gitlab", "code", "dev"],
112
+ communication: ["slack", "discord", "email", "notification"],
113
+ search: ["search", "elasticsearch", "algolia"],
114
+ filesystem: ["file", "filesystem", "storage"],
115
+ productivity: ["notion", "calendar", "task", "todo"],
116
+ security: ["security", "auth", "vault", "secret"],
117
+ monitoring: ["monitor", "log", "metric", "observability"],
118
+ ai: ["ai", "llm", "model", "inference"],
119
+ };
120
+ for (const [category, keywords] of Object.entries(categoryKeywords)) {
121
+ if (keywords.some((keyword) => text.includes(keyword))) {
122
+ return category;
123
+ }
124
+ }
125
+ return "other";
126
+ }
127
+ /**
128
+ * Get installation command for server
129
+ */
130
+ function getInstallCommand(server) {
131
+ // NPM package
132
+ if (server.packages?.some((p) => p.registryType === "npm")) {
133
+ const npmPkg = server.packages.find((p) => p.registryType === "npm");
134
+ if (npmPkg) {
135
+ return `npx ${npmPkg.identifier}`;
136
+ }
137
+ }
138
+ // PyPI package
139
+ if (server.packages?.some((p) => p.registryType === "pypi")) {
140
+ const pypiPkg = server.packages.find((p) => p.registryType === "pypi");
141
+ if (pypiPkg) {
142
+ return `uvx ${pypiPkg.identifier}`;
143
+ }
144
+ }
145
+ // Fallback to registry name
146
+ return `claude mcp add ${server.name}`;
147
+ }
148
+ /**
149
+ * Extract detection rules from server metadata
150
+ */
151
+ function extractDetectionRules(server) {
152
+ const rules = {
153
+ keywords: [server.name],
154
+ };
155
+ // Extract keywords from description
156
+ const descLower = server.description.toLowerCase();
157
+ const keywords = [];
158
+ // Common service names
159
+ const services = [
160
+ "github",
161
+ "gitlab",
162
+ "aws",
163
+ "azure",
164
+ "gcp",
165
+ "slack",
166
+ "notion",
167
+ "postgres",
168
+ "mongodb",
169
+ "redis",
170
+ "elasticsearch",
171
+ ];
172
+ for (const service of services) {
173
+ if (descLower.includes(service)) {
174
+ keywords.push(service);
175
+ }
176
+ }
177
+ if (keywords.length > 0) {
178
+ rules.keywords = [...(rules.keywords || []), ...keywords];
179
+ }
180
+ // Environment variables as hints for dependencies
181
+ if (server.environmentVariables && server.environmentVariables.length > 0) {
182
+ rules.keywords = [...(rules.keywords || []), "api", "integration"];
183
+ }
184
+ return rules;
185
+ }
186
+ //# sourceMappingURL=official-mcp-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-mcp-fetcher.js","sourceRoot":"","sources":["../../../src/services/fetchers/official-mcp-fetcher.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Fetches plugins from official Claude Code marketplace
5
5
  * Source: https://github.com/anthropics/claude-plugins-official
6
6
  */
7
- import type { Recommendation } from "../types/domain-types.js";
7
+ import type { Recommendation } from "../../types/domain-types.js";
8
8
  /**
9
9
  * Fetch plugins from the official Anthropic marketplace
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-fetcher.d.ts","sourceRoot":"","sources":["../../../src/services/fetchers/plugin-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAalE;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAyB9D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-fetcher.js","sourceRoot":"","sources":["../../../src/services/fetchers/plugin-fetcher.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Fetches skills, workflows, hooks, commands from awesome-claude-code
5
5
  * Source: https://github.com/hesreallyhim/awesome-claude-code
6
6
  */
7
- import type { Recommendation } from "../types/domain-types.js";
7
+ import type { Recommendation } from "../../types/domain-types.js";
8
8
  /**
9
9
  * Fetch skills from awesome-claude-code CSV
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-fetcher.d.ts","sourceRoot":"","sources":["../../../src/services/fetchers/skill-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA0BlE;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB7D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-fetcher.js","sourceRoot":"","sources":["../../../src/services/fetchers/skill-fetcher.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@ export declare function groupByType(recommendations: ScoredRecommendation[]): Ma
16
16
  * Format recommendations for display
17
17
  *
18
18
  * @param recommendations - List of scored recommendations
19
+ * @param allRecommendations - All available recommendations for bonus section
19
20
  * @returns Formatted string for display
20
21
  */
21
- export declare function formatRecommendations(recommendations: ScoredRecommendation[]): string;
22
+ export declare function formatRecommendations(recommendations: ScoredRecommendation[], allRecommendations?: ScoredRecommendation[]): string;
22
23
  //# sourceMappingURL=formatters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/services/recommender/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIzE;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,eAAe,EAAE,oBAAoB,EAAE,GACtC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAYrD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAuErF"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/services/recommender/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAiBzE;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,eAAe,EAAE,oBAAoB,EAAE,GACtC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAYrD;AA2ED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,oBAAoB,EAAE,EACvC,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,GAC1C,MAAM,CA8GR"}
@@ -5,6 +5,21 @@
5
5
  */
6
6
  import { getSecurityBadge } from "../security-scanner.service.js";
7
7
  import { getScoreIndicator } from "./scoring/scorer.js";
8
+ /**
9
+ * Get score explanation
10
+ *
11
+ * @param score - The calculated score
12
+ * @returns Brief explanation of the score
13
+ */
14
+ function getScoreExplanation(score) {
15
+ if (score >= 10)
16
+ return "プロジェクトに強く推薦";
17
+ if (score >= 5)
18
+ return "プロジェクトに適合";
19
+ if (score >= 2)
20
+ return "参考として有用";
21
+ return "低い適合度";
22
+ }
8
23
  /**
9
24
  * Group recommendations by type
10
25
  *
@@ -22,13 +37,76 @@ export function groupByType(recommendations) {
22
37
  }
23
38
  return groups;
24
39
  }
40
+ /**
41
+ * Select bonus recommendations (popular/trending items)
42
+ *
43
+ * @param recommendations - List of all recommendations
44
+ * @param displayedIds - Set of IDs already displayed
45
+ * @returns 1-2 bonus recommendations
46
+ */
47
+ function selectBonusRecommendations(recommendations, displayedIds) {
48
+ // Filter out already displayed items
49
+ const candidates = recommendations.filter((rec) => !displayedIds.has(rec.item.id));
50
+ if (candidates.length === 0)
51
+ return [];
52
+ // Score each candidate for "bonus worthiness"
53
+ const scored = candidates.map((rec) => {
54
+ let bonusScore = 0;
55
+ // Official items get priority
56
+ if (rec.item.metrics.isOfficial)
57
+ bonusScore += 100;
58
+ // High star count indicates popularity
59
+ if (rec.item.metrics.stars) {
60
+ bonusScore += Math.min(rec.item.metrics.stars / 10, 50); // Cap at 50 points
61
+ }
62
+ // High security score indicates quality
63
+ if (rec.item.metrics.securityScore && rec.item.metrics.securityScore >= 80) {
64
+ bonusScore += 30;
65
+ }
66
+ // Recently updated items (within last 6 months)
67
+ if (rec.item.metrics.lastUpdated) {
68
+ const sixMonthsAgo = new Date();
69
+ sixMonthsAgo.setMonth(sixMonthsAgo.getMonth() - 6);
70
+ const lastUpdated = new Date(rec.item.metrics.lastUpdated);
71
+ if (lastUpdated > sixMonthsAgo) {
72
+ bonusScore += 20;
73
+ }
74
+ }
75
+ return { rec, bonusScore };
76
+ });
77
+ // Sort by bonus score
78
+ scored.sort((a, b) => b.bonusScore - a.bonusScore);
79
+ // Return top 1-2 items
80
+ return scored.slice(0, 2).map((s) => s.rec);
81
+ }
82
+ /**
83
+ * Get bonus recommendation label
84
+ *
85
+ * @param item - The recommendation item
86
+ * @returns Label explaining why it's recommended
87
+ */
88
+ function getBonusLabel(item) {
89
+ if (item.metrics.isOfficial)
90
+ return "公式推奨";
91
+ if (item.metrics.stars && item.metrics.stars >= 100)
92
+ return "人気のツール";
93
+ if (item.metrics.securityScore && item.metrics.securityScore >= 80)
94
+ return "高品質";
95
+ const sixMonthsAgo = new Date();
96
+ sixMonthsAgo.setMonth(sixMonthsAgo.getMonth() - 6);
97
+ if (item.metrics.lastUpdated && new Date(item.metrics.lastUpdated) > sixMonthsAgo) {
98
+ return "最近話題";
99
+ }
100
+ return "おすすめ";
101
+ }
25
102
  /**
26
103
  * Format recommendations for display
27
104
  *
28
105
  * @param recommendations - List of scored recommendations
106
+ * @param allRecommendations - All available recommendations for bonus section
29
107
  * @returns Formatted string for display
30
108
  */
31
- export function formatRecommendations(recommendations) {
109
+ export function formatRecommendations(recommendations, allRecommendations) {
32
110
  if (recommendations.length === 0) {
33
111
  return "プロジェクトに適した推薦が見つかりませんでした。";
34
112
  }
@@ -54,6 +132,8 @@ export function formatRecommendations(recommendations) {
54
132
  "command",
55
133
  "agent",
56
134
  ];
135
+ // Track displayed IDs
136
+ const displayedIds = new Set();
57
137
  for (const type of typeOrder) {
58
138
  const items = grouped.get(type);
59
139
  if (!items || items.length === 0)
@@ -62,16 +142,19 @@ export function formatRecommendations(recommendations) {
62
142
  lines.push("━".repeat(40));
63
143
  for (let i = 0; i < Math.min(items.length, 5); i++) {
64
144
  const { item, score, reasons } = items[i];
145
+ displayedIds.add(item.id);
65
146
  lines.push(`${i + 1}. ${item.name}${item.metrics.isOfficial ? " (公式)" : ""}`);
66
147
  lines.push(` ├─ 用途: ${item.description.slice(0, 60)}${item.description.length > 60 ? "..." : ""}`);
67
- lines.push(` ├─ スコア: ${score}${getScoreIndicator(score)}`);
148
+ // スコア表示(説明付き)
149
+ const scoreExplanation = getScoreExplanation(score);
150
+ lines.push(` ├─ スコア: ${score}${getScoreIndicator(score)} - ${scoreExplanation}`);
68
151
  // セキュリティスコア表示
69
152
  if (item.metrics.securityScore !== undefined) {
70
153
  const securityBadge = getSecurityBadge(item.metrics.securityScore);
71
154
  lines.push(` ├─ セキュリティ: ${securityBadge} (${item.metrics.securityScore}/100)`);
72
155
  }
73
156
  if (reasons.length > 0) {
74
- lines.push(` ├─ 推薦理由: ${reasons.join(", ")}`);
157
+ lines.push(` ├─ マッチ内容: ${reasons.join(", ")}`);
75
158
  }
76
159
  if (item.install.command) {
77
160
  lines.push(` └─ インストール: ${item.install.command}`);
@@ -85,6 +168,30 @@ export function formatRecommendations(recommendations) {
85
168
  lines.push(` ... 他 ${items.length - 5} 件`);
86
169
  }
87
170
  }
171
+ // Add bonus recommendations section
172
+ if (allRecommendations && allRecommendations.length > 0) {
173
+ const bonusItems = selectBonusRecommendations(allRecommendations, displayedIds);
174
+ if (bonusItems.length > 0) {
175
+ lines.push("\n🔥 人気・トレンド");
176
+ lines.push("━".repeat(40));
177
+ for (let i = 0; i < bonusItems.length; i++) {
178
+ const { item } = bonusItems[i];
179
+ const bonusLabel = getBonusLabel(item);
180
+ lines.push(`${i + 1}. ${item.name} (${bonusLabel})`);
181
+ lines.push(` ├─ 用途: ${item.description.slice(0, 60)}${item.description.length > 60 ? "..." : ""}`);
182
+ if (item.metrics.stars) {
183
+ lines.push(` ├─ GitHub Stars: ⭐ ${item.metrics.stars}`);
184
+ }
185
+ if (item.install.command) {
186
+ lines.push(` └─ インストール: ${item.install.command}`);
187
+ }
188
+ else {
189
+ lines.push(` └─ URL: ${item.url}`);
190
+ }
191
+ lines.push("");
192
+ }
193
+ }
194
+ }
88
195
  return lines.join("\n");
89
196
  }
90
197
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/services/recommender/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/services/recommender/formatters.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare function calculateScore(item: Recommendation, project: ProjectInf
20
20
  /**
21
21
  * Get score indicator emoji and text
22
22
  *
23
- * @param score - The calculated score
23
+ * @param score - The calculated score (1-100)
24
24
  * @returns Indicator string with emoji
25
25
  */
26
26
  export declare function getScoreIndicator(score: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"scorer.d.ts","sourceRoot":"","sources":["../../../../src/services/recommender/scoring/scorer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAuFtC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKvD"}
1
+ {"version":3,"file":"scorer.d.ts","sourceRoot":"","sources":["../../../../src/services/recommender/scoring/scorer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA0FtC;AAkBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKvD"}
@@ -80,20 +80,36 @@ export function calculateScore(item, project, userQuery) {
80
80
  score *= SCORING_MULTIPLIERS.lowSecurity;
81
81
  }
82
82
  }
83
- return { score: Math.round(score * 100) / 100, reasons };
83
+ // Normalize score to 1-100 range
84
+ const normalizedScore = normalizeScore(score);
85
+ return { score: normalizedScore, reasons };
86
+ }
87
+ /**
88
+ * Normalize raw score to 1-100 range
89
+ *
90
+ * @param rawScore - The raw calculated score
91
+ * @returns Normalized score between 1 and 100
92
+ */
93
+ function normalizeScore(rawScore) {
94
+ if (rawScore <= 0)
95
+ return 1;
96
+ // Convert to 1-100 scale based on expected max raw score
97
+ const normalized = (rawScore / SCORING_THRESHOLDS.maxRawScore) * 100;
98
+ // Clamp to 1-100 range
99
+ return Math.round(Math.min(100, Math.max(1, normalized)));
84
100
  }
85
101
  /**
86
102
  * Get score indicator emoji and text
87
103
  *
88
- * @param score - The calculated score
104
+ * @param score - The calculated score (1-100)
89
105
  * @returns Indicator string with emoji
90
106
  */
91
107
  export function getScoreIndicator(score) {
92
- if (score >= 10)
108
+ if (score >= 80)
93
109
  return " ✅ 高適合";
94
- if (score >= 5)
110
+ if (score >= 50)
95
111
  return " 👍 適合";
96
- if (score >= 2)
112
+ if (score >= 20)
97
113
  return " 📝 参考";
98
114
  return "";
99
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scorer.js","sourceRoot":"","sources":["../../../../src/services/recommender/scoring/scorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scorer.js","sourceRoot":"","sources":["../../../../src/services/recommender/scoring/scorer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAoB,EACpB,OAAoB,EACpB,SAAkB;IAElB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAEjC,oBAAoB;IACpB,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAClD,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC/C,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACjD,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAC9C,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAC7C,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACvD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3D,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CACtC,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,kCAAkC;QAClC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACjD,KAAK,IAAI,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC5B,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;YAC3E,KAAK,IAAI,mBAAmB,CAAC,YAAY,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;YAChF,KAAK,IAAI,mBAAmB,CAAC,WAAW,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAE5B,yDAAyD;IACzD,MAAM,UAAU,GAAG,CAAC,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;IAErE,uBAAuB;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-skills.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/recommend-skills.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE,KAAK,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACnC,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAiChC"}
1
+ {"version":3,"file":"recommend-skills.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/recommend-skills.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE,KAAK,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACnC,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAwChC"}
@@ -17,8 +17,14 @@ export async function recommendSkills(input, database) {
17
17
  maxResults: input.max_results,
18
18
  types: input.types,
19
19
  });
20
+ // Get all recommendations (for bonus section)
21
+ const allRecommendations = recommend(database, projectInfo, input.description, {
22
+ maxResults: 100, // Get more items for bonus selection
23
+ minScore: 0, // Include all items even with score 0
24
+ types: input.types,
25
+ });
20
26
  // Format for display
21
- const formatted = formatRecommendations(recommendations);
27
+ const formatted = formatRecommendations(recommendations, allRecommendations);
22
28
  return {
23
29
  project: {
24
30
  path: projectInfo.path,
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-skills.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/recommend-skills.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAwBjF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA2B,EAC3B,QAAgC;IAEhC,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7D,sBAAsB;IACtB,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1E,UAAU,EAAE,KAAK,CAAC,WAAW;QAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAEzD,OAAO;QACL,OAAO,EAAE;YACP,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,eAAe,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM;SACjD;QACD,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;YACf,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;YACvB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;SACtC,CAAC,CAAC;QACH,SAAS;QACT,UAAU,EAAE,eAAe,CAAC,MAAM;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"recommend-skills.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/recommend-skills.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAwBjF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA2B,EAC3B,QAAgC;IAEhC,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7D,sBAAsB;IACtB,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1E,UAAU,EAAE,KAAK,CAAC,WAAW;QAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QAC7E,UAAU,EAAE,GAAG,EAAE,qCAAqC;QACtD,QAAQ,EAAE,CAAC,EAAE,sCAAsC;QACnD,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAE7E,OAAO;QACL,OAAO,EAAE;YACP,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,eAAe,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM;SACjD;QACD,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;YACf,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;YACvB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;SACtC,CAAC,CAAC;QACH,SAAS;QACT,UAAU,EAAE,eAAe,CAAC,MAAM;KACnC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-recommender",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "MCP server for recommending Claude Code skills, plugins, and MCP servers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-fetcher.d.ts","sourceRoot":"","sources":["../../src/services/mcp-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA+D/D;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAqBjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-fetcher.js","sourceRoot":"","sources":["../../src/services/mcp-fetcher.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-fetcher.d.ts","sourceRoot":"","sources":["../../src/services/plugin-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAa/D;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAyB9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-fetcher.js","sourceRoot":"","sources":["../../src/services/plugin-fetcher.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-fetcher.d.ts","sourceRoot":"","sources":["../../src/services/skill-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA0B/D;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-fetcher.js","sourceRoot":"","sources":["../../src/services/skill-fetcher.ts"],"names":[],"mappings":"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"}