ai-skills-hub 1.0.0 → 1.0.1
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/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +260 -150
- package/dist/commands/check.js.map +1 -1
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAKA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8ED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBAmHvD"}
|
package/dist/commands/check.js
CHANGED
|
@@ -1,26 +1,86 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from 'fs';
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from 'fs';
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
6
|
-
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { homedir } from 'os';
|
|
5
|
+
const AGENT_CONFIG = {
|
|
6
|
+
'copilot': {
|
|
7
|
+
name: 'GitHub Copilot CLI',
|
|
8
|
+
cliTool: 'copilot',
|
|
9
|
+
requiresCli: true,
|
|
10
|
+
installUrl: 'https://github.com/github/copilot-cli',
|
|
11
|
+
},
|
|
12
|
+
'claude-code': {
|
|
13
|
+
name: 'Claude Code',
|
|
14
|
+
cliTool: 'claude', // Actual CLI tool name
|
|
15
|
+
requiresCli: true,
|
|
16
|
+
installUrl: 'https://docs.anthropic.com/en/docs/claude-code/setup',
|
|
17
|
+
},
|
|
18
|
+
'cursor': {
|
|
19
|
+
name: 'Cursor',
|
|
20
|
+
cliTool: null, // IDE-based, but may have CLI
|
|
21
|
+
requiresCli: false,
|
|
22
|
+
installUrl: 'https://cursor.sh',
|
|
23
|
+
},
|
|
24
|
+
'gemini': {
|
|
25
|
+
name: 'Gemini CLI',
|
|
26
|
+
cliTool: 'gemini',
|
|
27
|
+
requiresCli: true,
|
|
28
|
+
installUrl: 'https://github.com/google-gemini/gemini-cli',
|
|
29
|
+
},
|
|
30
|
+
'codex': {
|
|
31
|
+
name: 'OpenAI Codex CLI',
|
|
32
|
+
cliTool: 'codex',
|
|
33
|
+
requiresCli: true,
|
|
34
|
+
installUrl: 'https://github.com/openai/codex',
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Check if a CLI tool is installed (similar to spec-kit's check_tool)
|
|
39
|
+
* Uses which/where command to check if tool exists in PATH
|
|
40
|
+
*
|
|
41
|
+
* Special handling for Claude CLI after `claude migrate-installer`:
|
|
42
|
+
* The migrate-installer command REMOVES the original executable from PATH
|
|
43
|
+
* and creates an alias at ~/.claude/local/claude instead
|
|
44
|
+
*/
|
|
45
|
+
function checkTool(tool) {
|
|
46
|
+
// Special handling for Claude CLI
|
|
47
|
+
if (tool === 'claude') {
|
|
48
|
+
const claudeLocalPath = join(homedir(), '.claude', 'local', 'claude');
|
|
49
|
+
if (existsSync(claudeLocalPath)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Check if tool exists in PATH using which/where
|
|
54
|
+
return checkCommandInstalled(tool);
|
|
55
|
+
}
|
|
7
56
|
export async function checkCommand(options) {
|
|
8
57
|
console.log('\x1b[32m=== AI Skills Hub Status Check ===\x1b[0m\n');
|
|
9
58
|
const os = detectOS();
|
|
10
|
-
const
|
|
11
|
-
// 1. Check installed AI tools
|
|
59
|
+
const customToolsMap = getAIToolsMap();
|
|
60
|
+
// 1. Check installed AI tools (CLI-based agents)
|
|
12
61
|
console.log('\x1b[33m[1] Installed AI Tools\x1b[0m');
|
|
13
62
|
const installedTools = [];
|
|
14
|
-
|
|
15
|
-
for (const
|
|
16
|
-
|
|
63
|
+
// Iterate through AGENT_CONFIG to check all agents
|
|
64
|
+
for (const [agentKey, agentConfig] of Object.entries(AGENT_CONFIG)) {
|
|
65
|
+
let isInstalled = false;
|
|
66
|
+
if (agentConfig.requiresCli && agentConfig.cliTool) {
|
|
67
|
+
// Check CLI tool
|
|
68
|
+
isInstalled = checkTool(agentConfig.cliTool);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// For IDE-based agents or agents without CLI, use custom check
|
|
72
|
+
const customTool = customToolsMap.get(agentKey);
|
|
73
|
+
if (customTool) {
|
|
74
|
+
isInstalled = customTool.checkInstalled();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
17
77
|
if (isInstalled) {
|
|
18
|
-
installedTools.push(
|
|
19
|
-
console.log(`\x1b[32m✓ ${
|
|
20
|
-
if (options.verbose) {
|
|
78
|
+
installedTools.push({ key: agentKey, config: agentConfig });
|
|
79
|
+
console.log(`\x1b[32m✓ ${agentConfig.name}\x1b[0m`);
|
|
80
|
+
if (options.verbose && agentConfig.cliTool) {
|
|
21
81
|
try {
|
|
22
82
|
// Try to get version information
|
|
23
|
-
const version = getToolVersion(
|
|
83
|
+
const version = getToolVersion(agentConfig.cliTool);
|
|
24
84
|
if (version) {
|
|
25
85
|
console.log(` Version: ${version}`);
|
|
26
86
|
}
|
|
@@ -31,8 +91,8 @@ export async function checkCommand(options) {
|
|
|
31
91
|
}
|
|
32
92
|
}
|
|
33
93
|
else {
|
|
34
|
-
|
|
35
|
-
console.log(`\x1b[33m○ ${
|
|
94
|
+
const statusText = agentConfig.requiresCli ? '(not installed)' : '(IDE-based, no CLI check)';
|
|
95
|
+
console.log(`\x1b[33m○ ${agentConfig.name} ${statusText}\x1b[0m`);
|
|
36
96
|
}
|
|
37
97
|
}
|
|
38
98
|
if (installedTools.length === 0) {
|
|
@@ -42,58 +102,56 @@ export async function checkCommand(options) {
|
|
|
42
102
|
console.log('\n\x1b[33m[2] Tools with Configured MCP Routes\x1b[0m');
|
|
43
103
|
const configuredTools = [];
|
|
44
104
|
const notConfiguredTools = [];
|
|
45
|
-
for (const
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
105
|
+
for (const { key: agentKey, config: agentConfig } of installedTools) {
|
|
106
|
+
const customTool = customToolsMap.get(agentKey);
|
|
107
|
+
const configPath = customTool ? customTool.getConfigPath() : null;
|
|
108
|
+
if (!configPath || !existsSync(configPath)) {
|
|
109
|
+
// Config file doesn't exist
|
|
110
|
+
notConfiguredTools.push(agentConfig.name);
|
|
111
|
+
const reason = agentConfig.requiresCli && agentConfig.cliTool
|
|
112
|
+
? '(installed but MCP not configured)'
|
|
113
|
+
: '(config file does not exist)';
|
|
114
|
+
console.log(`\x1b[33m○ ${agentConfig.name} ${reason}\x1b[0m`);
|
|
115
|
+
if (options.verbose) {
|
|
116
|
+
console.log(` Config file: ${configPath || 'No config file path'}`);
|
|
117
|
+
}
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
// Config file exists, check MCP configuration
|
|
121
|
+
try {
|
|
122
|
+
const content = readFileSync(configPath, 'utf-8');
|
|
123
|
+
const json = JSON.parse(content);
|
|
124
|
+
if (json.mcpServers && json.mcpServers['ai-skills-hub']) {
|
|
125
|
+
configuredTools.push(agentConfig.name);
|
|
126
|
+
console.log(`\x1b[32m✓ ${agentConfig.name}\x1b[0m`);
|
|
127
|
+
if (options.verbose) {
|
|
128
|
+
console.log(` Config file: ${configPath}`);
|
|
129
|
+
const mcpConfig = json.mcpServers['ai-skills-hub'];
|
|
130
|
+
if (mcpConfig.command) {
|
|
131
|
+
console.log(` Command: ${mcpConfig.command} ${mcpConfig.args?.join(' ') || ''}`);
|
|
67
132
|
}
|
|
68
133
|
}
|
|
69
134
|
}
|
|
70
|
-
|
|
71
|
-
notConfiguredTools.push(
|
|
72
|
-
console.log(`\x1b[33m○ ${
|
|
73
|
-
if (options.verbose
|
|
135
|
+
else {
|
|
136
|
+
notConfiguredTools.push(agentConfig.name);
|
|
137
|
+
console.log(`\x1b[33m○ ${agentConfig.name} (installed but MCP not configured)\x1b[0m`);
|
|
138
|
+
if (options.verbose) {
|
|
74
139
|
console.log(` Config file: ${configPath}`);
|
|
75
140
|
}
|
|
76
141
|
}
|
|
77
142
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
console.log(
|
|
83
|
-
if (options.verbose && configPath) {
|
|
84
|
-
console.log(` Config file: ${configPath || 'No config file path'}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// Claude Desktop and Cursor must have config files
|
|
89
|
-
notConfiguredTools.push(tool.displayName);
|
|
90
|
-
console.log(`\x1b[33m○ ${tool.displayName} (config file does not exist)\x1b[0m`);
|
|
143
|
+
catch {
|
|
144
|
+
notConfiguredTools.push(agentConfig.name);
|
|
145
|
+
console.log(`\x1b[33m○ ${agentConfig.name} (config file format error)\x1b[0m`);
|
|
146
|
+
if (options.verbose) {
|
|
147
|
+
console.log(` Config file: ${configPath}`);
|
|
91
148
|
}
|
|
92
149
|
}
|
|
93
150
|
}
|
|
94
151
|
// Summary
|
|
95
152
|
console.log('\n\x1b[36m=== Check Summary ===\x1b[0m');
|
|
96
|
-
|
|
153
|
+
const totalAgents = Object.keys(AGENT_CONFIG).length;
|
|
154
|
+
console.log(`Installed tools: ${installedTools.length}/${totalAgents}`);
|
|
97
155
|
console.log(`Configured MCP: ${configuredTools.length}/${installedTools.length}`);
|
|
98
156
|
if (notConfiguredTools.length > 0) {
|
|
99
157
|
console.log('\n\x1b[33mTip: Run "skillshub sync" to configure unconfigured AI tools\x1b[0m');
|
|
@@ -112,35 +170,36 @@ function detectOS() {
|
|
|
112
170
|
return 'windows';
|
|
113
171
|
return 'unknown';
|
|
114
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Get configuration file path for a tool based on OS
|
|
175
|
+
*/
|
|
115
176
|
function getConfigPath(os, tool) {
|
|
116
177
|
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
117
|
-
const
|
|
178
|
+
const appData = process.env.APPDATA || '';
|
|
179
|
+
const pathMap = {
|
|
118
180
|
macos: {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
'gemini': `${homeDir}/.config/gemini/config.json`,
|
|
181
|
+
cursor: `${homeDir}/.cursor/mcp.json`,
|
|
182
|
+
codex: `${homeDir}/.codex/config.json`,
|
|
183
|
+
copilot: `${homeDir}/.config/github-copilot/config.json`,
|
|
184
|
+
gemini: `${homeDir}/.config/gemini/config.json`,
|
|
124
185
|
'claude-code': `${homeDir}/.config/claude-code/config.json`
|
|
125
186
|
},
|
|
126
187
|
linux: {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
'gemini': `${homeDir}/.config/gemini/config.json`,
|
|
188
|
+
cursor: `${homeDir}/.config/cursor/mcp.json`,
|
|
189
|
+
codex: `${homeDir}/.config/codex/config.json`,
|
|
190
|
+
copilot: `${homeDir}/.config/github-copilot/config.json`,
|
|
191
|
+
gemini: `${homeDir}/.config/gemini/config.json`,
|
|
132
192
|
'claude-code': `${homeDir}/.config/claude-code/config.json`
|
|
133
193
|
},
|
|
134
194
|
windows: {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
'
|
|
140
|
-
'claude-code': `${process.env.APPDATA}/claude-code/config.json`
|
|
195
|
+
cursor: `${appData}/Cursor/User/mcp.json`,
|
|
196
|
+
codex: `${appData}/codex/config.json`,
|
|
197
|
+
copilot: `${appData}/github-copilot/config.json`,
|
|
198
|
+
gemini: `${appData}/gemini/config.json`,
|
|
199
|
+
'claude-code': `${appData}/claude-code/config.json`
|
|
141
200
|
}
|
|
142
201
|
};
|
|
143
|
-
return
|
|
202
|
+
return pathMap[os]?.[tool] || null;
|
|
144
203
|
}
|
|
145
204
|
function checkCommandInstalled(command) {
|
|
146
205
|
try {
|
|
@@ -156,89 +215,140 @@ function checkCommandInstalled(command) {
|
|
|
156
215
|
return false;
|
|
157
216
|
}
|
|
158
217
|
}
|
|
159
|
-
function getToolVersion(
|
|
218
|
+
function getToolVersion(cliTool) {
|
|
160
219
|
try {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
command = 'gemini --version';
|
|
171
|
-
break;
|
|
172
|
-
case 'claude-code':
|
|
173
|
-
// Try two possible commands
|
|
174
|
-
if (checkCommandInstalled('claude')) {
|
|
175
|
-
command = 'claude --version';
|
|
176
|
-
}
|
|
177
|
-
else if (checkCommandInstalled('claude-code')) {
|
|
178
|
-
command = 'claude-code --version';
|
|
179
|
-
}
|
|
180
|
-
break;
|
|
181
|
-
default:
|
|
182
|
-
return null;
|
|
183
|
-
}
|
|
184
|
-
if (command) {
|
|
220
|
+
// Try to get version using --version flag
|
|
221
|
+
const command = `${cliTool} --version`;
|
|
222
|
+
const output = execSync(command, { encoding: 'utf-8', stdio: 'pipe' });
|
|
223
|
+
return output.trim();
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
// If --version fails, try -v
|
|
227
|
+
try {
|
|
228
|
+
const command = `${cliTool} -v`;
|
|
185
229
|
const output = execSync(command, { encoding: 'utf-8', stdio: 'pipe' });
|
|
186
230
|
return output.trim();
|
|
187
231
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
232
|
+
catch {
|
|
233
|
+
// Ignore error
|
|
234
|
+
}
|
|
191
235
|
}
|
|
192
236
|
return null;
|
|
193
237
|
}
|
|
194
|
-
function
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
{
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
name: 'copilot',
|
|
226
|
-
displayName: 'GitHub Copilot CLI',
|
|
227
|
-
checkInstalled: () => checkCommandInstalled('copilot'),
|
|
228
|
-
getConfigPath: (os) => getConfigPath(os, 'copilot')
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
name: 'gemini',
|
|
232
|
-
displayName: 'Gemini CLI',
|
|
233
|
-
checkInstalled: () => checkCommandInstalled('gemini'),
|
|
234
|
-
getConfigPath: (os) => getConfigPath(os, 'gemini')
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
name: 'claude-code',
|
|
238
|
-
displayName: 'Claude Code CLI',
|
|
239
|
-
checkInstalled: () => checkCommandInstalled('claude') || checkCommandInstalled('claude-code'),
|
|
240
|
-
getConfigPath: (os) => getConfigPath(os, 'claude-code')
|
|
238
|
+
function checkCursorInstalled() {
|
|
239
|
+
const platform = process.platform;
|
|
240
|
+
if (platform === 'darwin') {
|
|
241
|
+
// macOS: Check for Cursor.app in common locations
|
|
242
|
+
const homeDir = process.env.HOME || '';
|
|
243
|
+
const paths = [
|
|
244
|
+
'/Applications/Cursor.app',
|
|
245
|
+
`${homeDir}/Applications/Cursor.app`
|
|
246
|
+
];
|
|
247
|
+
return paths.some(path => existsSync(path));
|
|
248
|
+
}
|
|
249
|
+
else if (platform === 'linux') {
|
|
250
|
+
// Linux: Check if cursor command exists or check common AppImage locations
|
|
251
|
+
if (checkCommandInstalled('cursor')) {
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
const homeDir = process.env.HOME || '';
|
|
255
|
+
// Try to find AppImage files in ~/Applications
|
|
256
|
+
try {
|
|
257
|
+
const appsDir = join(homeDir, 'Applications');
|
|
258
|
+
if (existsSync(appsDir)) {
|
|
259
|
+
const files = readdirSync(appsDir);
|
|
260
|
+
if (files.some((f) => f.toLowerCase().includes('cursor') && f.endsWith('.AppImage'))) {
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
// Ignore errors
|
|
241
267
|
}
|
|
242
|
-
|
|
268
|
+
// Check other common paths
|
|
269
|
+
const commonPaths = [
|
|
270
|
+
join(homeDir, '.local', 'bin', 'cursor'),
|
|
271
|
+
'/usr/bin/cursor',
|
|
272
|
+
'/usr/local/bin/cursor',
|
|
273
|
+
'/opt/cursor/cursor'
|
|
274
|
+
];
|
|
275
|
+
return commonPaths.some(path => {
|
|
276
|
+
try {
|
|
277
|
+
return existsSync(path);
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
else if (platform === 'win32') {
|
|
285
|
+
// Windows: Check common installation paths
|
|
286
|
+
const localAppData = process.env.LOCALAPPDATA || '';
|
|
287
|
+
const programFiles = process.env.ProgramFiles || '';
|
|
288
|
+
const programFilesX86 = process.env['ProgramFiles(x86)'] || '';
|
|
289
|
+
const appData = process.env.APPDATA || '';
|
|
290
|
+
const paths = [
|
|
291
|
+
join(localAppData, 'Programs', 'cursor', 'Cursor.exe'),
|
|
292
|
+
join(programFiles, 'Cursor', 'Cursor.exe'),
|
|
293
|
+
join(programFilesX86, 'Cursor', 'Cursor.exe'),
|
|
294
|
+
join(appData, 'Cursor', 'Cursor.exe')
|
|
295
|
+
];
|
|
296
|
+
// Also check if cursor command exists in PATH
|
|
297
|
+
if (checkCommandInstalled('cursor')) {
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
return paths.some(path => existsSync(path));
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Get custom tool definitions for agents that need special installation checks
|
|
306
|
+
* Returns a Map for O(1) lookup performance
|
|
307
|
+
*/
|
|
308
|
+
function getAIToolsMap() {
|
|
309
|
+
const os = detectOS();
|
|
310
|
+
return new Map([
|
|
311
|
+
[
|
|
312
|
+
'cursor',
|
|
313
|
+
{
|
|
314
|
+
name: 'cursor',
|
|
315
|
+
checkInstalled: checkCursorInstalled,
|
|
316
|
+
getConfigPath: () => getConfigPath(os, 'cursor')
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
// CLI-based tools can use standard checkCommandInstalled, but we still need config paths
|
|
320
|
+
[
|
|
321
|
+
'codex',
|
|
322
|
+
{
|
|
323
|
+
name: 'codex',
|
|
324
|
+
checkInstalled: () => checkCommandInstalled('codex'),
|
|
325
|
+
getConfigPath: () => getConfigPath(os, 'codex')
|
|
326
|
+
}
|
|
327
|
+
],
|
|
328
|
+
[
|
|
329
|
+
'copilot',
|
|
330
|
+
{
|
|
331
|
+
name: 'copilot',
|
|
332
|
+
checkInstalled: () => checkCommandInstalled('copilot'),
|
|
333
|
+
getConfigPath: () => getConfigPath(os, 'copilot')
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
[
|
|
337
|
+
'gemini',
|
|
338
|
+
{
|
|
339
|
+
name: 'gemini',
|
|
340
|
+
checkInstalled: () => checkCommandInstalled('gemini'),
|
|
341
|
+
getConfigPath: () => getConfigPath(os, 'gemini')
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
[
|
|
345
|
+
'claude-code',
|
|
346
|
+
{
|
|
347
|
+
name: 'claude-code',
|
|
348
|
+
checkInstalled: () => checkCommandInstalled('claude') || checkCommandInstalled('claude-code'),
|
|
349
|
+
getConfigPath: () => getConfigPath(os, 'claude-code')
|
|
350
|
+
}
|
|
351
|
+
]
|
|
352
|
+
]);
|
|
243
353
|
}
|
|
244
354
|
//# sourceMappingURL=check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-skills-hub",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MCP server that dynamically loads skills from Markdown files for AI assistants",
|
|
5
5
|
"author": "Lido.Lee <lidoxlee@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/lidoxlee/ai-skills-hub.git"
|
|
9
|
+
"url": "git+https://github.com/lidoxlee/ai-skills-hub.git"
|
|
10
10
|
},
|
|
11
11
|
"homepage": "https://github.com/lidoxlee/ai-skills-hub#readme",
|
|
12
12
|
"bugs": {
|
|
@@ -43,5 +43,8 @@
|
|
|
43
43
|
"files": [
|
|
44
44
|
"dist",
|
|
45
45
|
"README.md"
|
|
46
|
-
]
|
|
46
|
+
],
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
}
|
|
47
50
|
}
|