skill-creator 0.0.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/README.md +53 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +378 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/chromaSearch.d.ts +24 -0
- package/dist/core/chromaSearch.d.ts.map +1 -0
- package/dist/core/chromaSearch.js +192 -0
- package/dist/core/chromaSearch.js.map +1 -0
- package/dist/core/contentManager.d.ts +40 -0
- package/dist/core/contentManager.d.ts.map +1 -0
- package/dist/core/contentManager.js +355 -0
- package/dist/core/contentManager.js.map +1 -0
- package/dist/core/runScript.d.ts +5 -0
- package/dist/core/runScript.d.ts.map +1 -0
- package/dist/core/runScript.js +220 -0
- package/dist/core/runScript.js.map +1 -0
- package/dist/core/searchEngine.d.ts +25 -0
- package/dist/core/searchEngine.d.ts.map +1 -0
- package/dist/core/searchEngine.js +198 -0
- package/dist/core/searchEngine.js.map +1 -0
- package/dist/core/simpleSearch.d.ts +21 -0
- package/dist/core/simpleSearch.d.ts.map +1 -0
- package/dist/core/simpleSearch.js +113 -0
- package/dist/core/simpleSearch.js.map +1 -0
- package/dist/core/skillCreator.d.ts +16 -0
- package/dist/core/skillCreator.d.ts.map +1 -0
- package/dist/core/skillCreator.js +291 -0
- package/dist/core/skillCreator.js.map +1 -0
- package/dist/core/templateManager.d.ts +28 -0
- package/dist/core/templateManager.d.ts.map +1 -0
- package/dist/core/templateManager.js +612 -0
- package/dist/core/templateManager.js.map +1 -0
- package/dist/core/unifiedSearch.d.ts +23 -0
- package/dist/core/unifiedSearch.d.ts.map +1 -0
- package/dist/core/unifiedSearch.js +46 -0
- package/dist/core/unifiedSearch.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config.d.ts +47 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +69 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/package.d.ts +57 -0
- package/dist/utils/package.d.ts.map +1 -0
- package/dist/utils/package.js +170 -0
- package/dist/utils/package.js.map +1 -0
- package/package.json +57 -0
- package/templates/skill-creator.md +182 -0
package/README.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Skill Creator v2.0
|
|
2
|
+
|
|
3
|
+
A TypeScript/Node.js tool for creating claude-code-skills with intelligent documentation management.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- š Generate skills with proper folder naming (`package@version` format)
|
|
8
|
+
- š Download and slice documentation from Context7
|
|
9
|
+
- š ChromaDB-powered semantic search
|
|
10
|
+
- š¾ Dynamic content management with deduplication
|
|
11
|
+
- š ļø Modern TypeScript/Node.js implementation
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g skill-creator
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Create a new skill
|
|
23
|
+
skill-creator tanstack-router
|
|
24
|
+
|
|
25
|
+
# With specific Context7 ID
|
|
26
|
+
skill-creator @tanstack/react-router --context7-id /tanstack/router
|
|
27
|
+
|
|
28
|
+
# In current directory
|
|
29
|
+
skill-creator zod --storage project
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Development
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Install dependencies
|
|
36
|
+
npm install
|
|
37
|
+
|
|
38
|
+
# Development mode
|
|
39
|
+
npm run dev
|
|
40
|
+
|
|
41
|
+
# Build
|
|
42
|
+
npm run build
|
|
43
|
+
|
|
44
|
+
# Test
|
|
45
|
+
npm test
|
|
46
|
+
|
|
47
|
+
# Lint
|
|
48
|
+
npm run lint
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## License
|
|
52
|
+
|
|
53
|
+
MIT
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,QAAA,MAAM,OAAO,SAAgB,CAAA;AA8a7B,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI interface for skill creator
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import gradient from 'gradient-string';
|
|
7
|
+
import inquirer from 'inquirer';
|
|
8
|
+
import { SkillCreator } from './core/skillCreator.js';
|
|
9
|
+
import { PackageUtils } from './utils/package.js';
|
|
10
|
+
const program = new Command();
|
|
11
|
+
program
|
|
12
|
+
.name('skill-creator')
|
|
13
|
+
.description('Create claude-code-skills with documentation management')
|
|
14
|
+
.version('2.0.0');
|
|
15
|
+
program
|
|
16
|
+
.argument('<package_name>', 'Package name to create documentation skill for (e.g., tanstack-router)')
|
|
17
|
+
.option('-p, --path <path>', 'Output path (default: current directory)', '.')
|
|
18
|
+
.option('-d, --description <description>', 'Description of the skill')
|
|
19
|
+
.option('-c, --context7-id <id>', 'Context7 library ID (e.g., /tanstack/router/docs)')
|
|
20
|
+
.option('--no-init-docs', 'Skip initial documentation download')
|
|
21
|
+
.option('-s, --storage <storage>', 'Where to store the skill', 'project')
|
|
22
|
+
.option('--package-version <version>', 'Specific version to use')
|
|
23
|
+
.option('--no-interactive', 'Skip interactive prompts')
|
|
24
|
+
.option('--search', 'Enable interactive package search')
|
|
25
|
+
.action(async (packageName, options, _command) => {
|
|
26
|
+
// Validate package name
|
|
27
|
+
if (!packageName || packageName.trim().length === 0) {
|
|
28
|
+
console.error('ā Error: Package name is required');
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
console.log(gradient('cyan', 'magenta')('\nš Searching for package:'));
|
|
32
|
+
console.log(gradient('yellow', 'orange')(packageName));
|
|
33
|
+
console.log(gradient('cyan', 'magenta')('='.repeat(50)));
|
|
34
|
+
let selectedPackage = { name: packageName, version: options.packageVersion };
|
|
35
|
+
// If not a valid package name or search is enabled, search for suggestions
|
|
36
|
+
if (!PackageUtils.validatePackageName(packageName) || options.search) {
|
|
37
|
+
const suggestions = await PackageUtils.suggestPackages(packageName, { limit: 10 });
|
|
38
|
+
if (suggestions.length === 0) {
|
|
39
|
+
console.error(`ā No packages found for "${packageName}"`);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
if (suggestions.length > 1 && !options.noInteractive) {
|
|
43
|
+
console.log(`\nš¦ Found ${suggestions.length} package(s):`);
|
|
44
|
+
const choices = suggestions.map((pkg) => ({
|
|
45
|
+
name: `${pkg.name} (${pkg.version}) - ${pkg.description.slice(0, 80)}${pkg.description.length > 80 ? '...' : ''}`,
|
|
46
|
+
value: pkg.name,
|
|
47
|
+
short: pkg.name,
|
|
48
|
+
}));
|
|
49
|
+
const { selectedPkg } = await inquirer.prompt([
|
|
50
|
+
{
|
|
51
|
+
type: 'list',
|
|
52
|
+
name: 'selectedPkg',
|
|
53
|
+
message: 'Select a package:',
|
|
54
|
+
choices,
|
|
55
|
+
pageSize: 10,
|
|
56
|
+
},
|
|
57
|
+
]);
|
|
58
|
+
selectedPackage.name = selectedPkg;
|
|
59
|
+
selectedPackage.version = await PackageUtils.getPackageVersion(selectedPkg) || suggestions.find(s => s.name === selectedPkg)?.version;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
selectedPackage.name = suggestions[0].name;
|
|
63
|
+
selectedPackage.version = suggestions[0].version;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Get version if not specified
|
|
67
|
+
if (!selectedPackage.version) {
|
|
68
|
+
selectedPackage.version = await PackageUtils.getPackageVersion(selectedPackage.name);
|
|
69
|
+
}
|
|
70
|
+
if (!selectedPackage.version) {
|
|
71
|
+
console.warn(`ā ļø Could not determine version for ${selectedPackage.name}`);
|
|
72
|
+
}
|
|
73
|
+
console.log(gradient('green', 'cyan')(`\nā
Selected package: ${selectedPackage.name}@${selectedPackage.version || 'latest'}`));
|
|
74
|
+
// Ask for storage location if not specified
|
|
75
|
+
let storage = options.storage;
|
|
76
|
+
let path = options.path;
|
|
77
|
+
if (!options.noInteractive && !options.storage) {
|
|
78
|
+
const { storageLocation } = await inquirer.prompt([
|
|
79
|
+
{
|
|
80
|
+
type: 'list',
|
|
81
|
+
name: 'storageLocation',
|
|
82
|
+
message: 'Where would you like to store this skill?',
|
|
83
|
+
choices: [
|
|
84
|
+
{
|
|
85
|
+
name: 'š Current project (./.claude/skills/)',
|
|
86
|
+
value: 'project',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'š User directory (~/.claude/skills/)',
|
|
90
|
+
value: 'user',
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
default: 'project',
|
|
94
|
+
},
|
|
95
|
+
]);
|
|
96
|
+
storage = storageLocation;
|
|
97
|
+
if (storage === 'project' && path === '.') {
|
|
98
|
+
const { useDefaultPath } = await inquirer.prompt([
|
|
99
|
+
{
|
|
100
|
+
type: 'confirm',
|
|
101
|
+
name: 'useDefaultPath',
|
|
102
|
+
message: 'Use current directory for skill storage?',
|
|
103
|
+
default: true,
|
|
104
|
+
},
|
|
105
|
+
]);
|
|
106
|
+
if (!useDefaultPath) {
|
|
107
|
+
const { customPath } = await inquirer.prompt([
|
|
108
|
+
{
|
|
109
|
+
type: 'input',
|
|
110
|
+
name: 'customPath',
|
|
111
|
+
message: 'Enter custom path:',
|
|
112
|
+
default: './',
|
|
113
|
+
},
|
|
114
|
+
]);
|
|
115
|
+
path = customPath;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
console.log(gradient('cyan', 'magenta')('\nš Creating skill...'));
|
|
120
|
+
console.log(gradient('cyan', 'magenta')('='.repeat(50)));
|
|
121
|
+
const creator = new SkillCreator();
|
|
122
|
+
// Create skill folder name
|
|
123
|
+
const skillName = PackageUtils.createSkillFolderName(selectedPackage.name, selectedPackage.version ?? '1.0.0');
|
|
124
|
+
console.log(`\nš Skill folder name: ${skillName}`);
|
|
125
|
+
// Create skill
|
|
126
|
+
const createOptions = {
|
|
127
|
+
packageName: selectedPackage.name,
|
|
128
|
+
path,
|
|
129
|
+
description: options.description,
|
|
130
|
+
context7Id: options.context7Id,
|
|
131
|
+
noInitDocs: options.noInitDocs,
|
|
132
|
+
storage,
|
|
133
|
+
version: selectedPackage.version,
|
|
134
|
+
};
|
|
135
|
+
const result = await creator.createSkill(createOptions);
|
|
136
|
+
// Print result
|
|
137
|
+
if (result.created) {
|
|
138
|
+
console.log(gradient('green', 'cyan')(`\nā
${result.message}`));
|
|
139
|
+
if (result.docsInitialized) {
|
|
140
|
+
console.log(`ā
Documentation downloaded and indexed`);
|
|
141
|
+
}
|
|
142
|
+
console.log(`\nš Next steps:`);
|
|
143
|
+
console.log(`1. cd ${result.skillPath}`);
|
|
144
|
+
console.log(`2. npm install`);
|
|
145
|
+
if (!result.docsInitialized) {
|
|
146
|
+
console.log(`\nš To initialize documentation:`);
|
|
147
|
+
console.log(` Option A: Use Context7 (requires MCP)`);
|
|
148
|
+
console.log(` - First, resolve library ID with AI help or Context7 search`);
|
|
149
|
+
console.log(` - Update config.json with the correct context7_library_id`);
|
|
150
|
+
console.log(` - Run: npm run update-context7`);
|
|
151
|
+
console.log(`\n Option B: Add documentation manually`);
|
|
152
|
+
console.log(` - Run: npm run add -- --title 'Topic' --content 'Your content'`);
|
|
153
|
+
}
|
|
154
|
+
console.log(`\n3. npm run build-index`);
|
|
155
|
+
console.log(`4. npm run search -- --query 'test query'`);
|
|
156
|
+
if (options.context7Id) {
|
|
157
|
+
console.log(`\nš” Note: Context7 library ID set to: ${options.context7Id}`);
|
|
158
|
+
console.log(` If this is incorrect, edit config.json and update context7_library_id`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
console.error(`ā ${result.message}`);
|
|
163
|
+
process.exit(1);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
// Add init command to install subagents
|
|
167
|
+
program
|
|
168
|
+
.command('init')
|
|
169
|
+
.description('Install skill-creator as subagent in ~/.claude/agents/')
|
|
170
|
+
.action(async () => {
|
|
171
|
+
const { homedir } = await import('node:os');
|
|
172
|
+
const { join } = await import('node:path');
|
|
173
|
+
const { mkdirSync, writeFileSync } = await import('node:fs');
|
|
174
|
+
const agentsDir = join(homedir(), '.claude', 'agents');
|
|
175
|
+
const skillCreatorDir = join(agentsDir, 'skill-creator');
|
|
176
|
+
// Create directories
|
|
177
|
+
mkdirSync(agentsDir, { recursive: true });
|
|
178
|
+
mkdirSync(skillCreatorDir, { recursive: true });
|
|
179
|
+
// Create subagent manifest
|
|
180
|
+
const manifest = {
|
|
181
|
+
name: 'skill-creator',
|
|
182
|
+
version: '2.0.0',
|
|
183
|
+
description: 'Claude Code skill creation agent',
|
|
184
|
+
main: process.cwd(),
|
|
185
|
+
commands: [
|
|
186
|
+
'search',
|
|
187
|
+
'get-name',
|
|
188
|
+
'download-context7',
|
|
189
|
+
'addSkill'
|
|
190
|
+
]
|
|
191
|
+
};
|
|
192
|
+
writeFileSync(join(skillCreatorDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
193
|
+
console.log(gradient('green', 'cyan')('\nā
Skill-creator subagent installed successfully!'));
|
|
194
|
+
console.log(`š Location: ${skillCreatorDir}`);
|
|
195
|
+
});
|
|
196
|
+
// Add search command for package searching
|
|
197
|
+
program
|
|
198
|
+
.command('search')
|
|
199
|
+
.argument('<keywords>', 'Search keywords for npm packages')
|
|
200
|
+
.option('-l, --limit <limit>', 'Number of results to show', '10')
|
|
201
|
+
.action(async (keywords, options) => {
|
|
202
|
+
// Handle multiple keywords by splitting
|
|
203
|
+
const query = keywords;
|
|
204
|
+
console.log(gradient('cyan', 'magenta')('\nš Searching npm packages...'));
|
|
205
|
+
console.log(gradient('yellow', 'orange')(query));
|
|
206
|
+
console.log(gradient('cyan', 'magenta')('='.repeat(50)));
|
|
207
|
+
const suggestions = await PackageUtils.suggestPackages(query, {
|
|
208
|
+
limit: parseInt(options.limit)
|
|
209
|
+
});
|
|
210
|
+
if (suggestions.length === 0) {
|
|
211
|
+
console.error(`ā No packages found for "${query}"`);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
console.log(`\nš¦ Found ${suggestions.length} package(s):`);
|
|
215
|
+
suggestions.forEach((pkg, index) => {
|
|
216
|
+
console.log(`\n${index + 1}. ${gradient('green', 'cyan')(pkg.name)} (${pkg.version})`);
|
|
217
|
+
console.log(` ${pkg.description.slice(0, 100)}${pkg.description.length > 100 ? '...' : ''}`);
|
|
218
|
+
console.log(` š¤ ${pkg.publisher} | ā ${pkg.score.toFixed(2)}`);
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
// Add get-name command to generate skill name
|
|
222
|
+
program
|
|
223
|
+
.command('get-name')
|
|
224
|
+
.argument('<package_name>', 'Package name')
|
|
225
|
+
.option('-v, --version <version>', 'Specific version')
|
|
226
|
+
.action(async (packageName, options) => {
|
|
227
|
+
const version = options.version || await PackageUtils.getPackageVersion(packageName);
|
|
228
|
+
if (!version) {
|
|
229
|
+
console.error(`ā Could not determine version for ${packageName}`);
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
const skillName = PackageUtils.createSkillFolderName(packageName, version);
|
|
233
|
+
console.log(gradient('green', 'cyan')(`\nā
Skill name: ${skillName}`));
|
|
234
|
+
console.log(` Package: ${packageName}@${version}`);
|
|
235
|
+
});
|
|
236
|
+
// Add download-context7 command
|
|
237
|
+
program
|
|
238
|
+
.command('download-context7')
|
|
239
|
+
.argument('<package_name>', 'Package name')
|
|
240
|
+
.argument('<context7_id>', 'Context7 library ID')
|
|
241
|
+
.option('-f, --force', 'Force update even if up to date')
|
|
242
|
+
.option('-s, --storage <storage>', 'Storage location (project|user)', 'project')
|
|
243
|
+
.action(async (packageName, context7Id, options) => {
|
|
244
|
+
console.log(gradient('cyan', 'magenta')('\nš„ Downloading Context7 documentation...'));
|
|
245
|
+
console.log(`Package: ${packageName}`);
|
|
246
|
+
console.log(`Context7 ID: ${context7Id}`);
|
|
247
|
+
// Find existing skill
|
|
248
|
+
const { join } = await import('node:path');
|
|
249
|
+
const { homedir } = await import('node:os');
|
|
250
|
+
const baseDir = options.storage === 'user'
|
|
251
|
+
? join(homedir(), '.claude', 'skills')
|
|
252
|
+
: join(process.cwd(), '.claude', 'skills');
|
|
253
|
+
// Find skill directory
|
|
254
|
+
const { readdirSync } = await import('node:fs');
|
|
255
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true })
|
|
256
|
+
.filter(dirent => dirent.isDirectory())
|
|
257
|
+
.map(dirent => dirent.name)
|
|
258
|
+
.filter(name => name.includes(packageName.replace(/[^a-z0-9]/gi, '')));
|
|
259
|
+
if (dirs.length === 0) {
|
|
260
|
+
console.error(`ā No skill found for package ${packageName}`);
|
|
261
|
+
console.log(`š” Create a skill first with: skill-creator ${packageName}`);
|
|
262
|
+
process.exit(1);
|
|
263
|
+
}
|
|
264
|
+
const skillDir = join(baseDir, dirs[0]);
|
|
265
|
+
// Change to skill directory and run update script
|
|
266
|
+
const { chdir } = await import('node:process');
|
|
267
|
+
const originalCwd = process.cwd();
|
|
268
|
+
chdir(skillDir);
|
|
269
|
+
try {
|
|
270
|
+
const { runScript } = await import('./core/runScript.js');
|
|
271
|
+
const args = ['--force'];
|
|
272
|
+
await runScript('update-context7', args);
|
|
273
|
+
}
|
|
274
|
+
finally {
|
|
275
|
+
chdir(originalCwd);
|
|
276
|
+
}
|
|
277
|
+
console.log(gradient('green', 'cyan')('\nā
Documentation downloaded and sliced!'));
|
|
278
|
+
});
|
|
279
|
+
// Add search-in-skill command
|
|
280
|
+
program
|
|
281
|
+
.command('search-in-skill')
|
|
282
|
+
.argument('<package_name>', 'Package name')
|
|
283
|
+
.argument('<query>', 'Search query')
|
|
284
|
+
.action(async (packageName, query) => {
|
|
285
|
+
console.log(gradient('cyan', 'magenta')('\nš Searching in skill...'));
|
|
286
|
+
console.log(`Package: ${packageName}`);
|
|
287
|
+
console.log(`Query: ${query}`);
|
|
288
|
+
// Find skill directory
|
|
289
|
+
const { join, dirname } = await import('node:path');
|
|
290
|
+
const { homedir } = await import('node:os');
|
|
291
|
+
const { readdirSync } = await import('node:fs');
|
|
292
|
+
const baseDir = join(process.cwd(), '.claude', 'skills');
|
|
293
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true })
|
|
294
|
+
.filter(dirent => dirent.isDirectory())
|
|
295
|
+
.map(dirent => dirent.name)
|
|
296
|
+
.filter(name => name.includes(packageName.replace(/[^a-z0-9]/gi, '')));
|
|
297
|
+
if (dirs.length === 0) {
|
|
298
|
+
console.error(`ā No skill found for package ${packageName}`);
|
|
299
|
+
process.exit(1);
|
|
300
|
+
}
|
|
301
|
+
const skillDir = join(baseDir, dirs[0]);
|
|
302
|
+
// Change to skill directory and run search script
|
|
303
|
+
const { chdir } = await import('node:process');
|
|
304
|
+
const originalCwd = process.cwd();
|
|
305
|
+
chdir(skillDir);
|
|
306
|
+
try {
|
|
307
|
+
const { runScript } = await import('./core/runScript.js');
|
|
308
|
+
const args = ['--query', query];
|
|
309
|
+
await runScript('search', args);
|
|
310
|
+
}
|
|
311
|
+
finally {
|
|
312
|
+
chdir(originalCwd);
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
// Add add-skill-content command
|
|
316
|
+
program
|
|
317
|
+
.command('addSkill')
|
|
318
|
+
.argument('<package_name>', 'Package name')
|
|
319
|
+
.option('-t, --title <title>', 'Content title')
|
|
320
|
+
.option('-c, --content <content>', 'Content text')
|
|
321
|
+
.option('-f, --file <file>', 'Read content from file')
|
|
322
|
+
.action(async (packageName, options) => {
|
|
323
|
+
if (!options.title && !options.file) {
|
|
324
|
+
console.error('ā Please provide either --title or --file');
|
|
325
|
+
process.exit(1);
|
|
326
|
+
}
|
|
327
|
+
console.log(gradient('cyan', 'magenta')('\nš Adding content to skill...'));
|
|
328
|
+
console.log(`Package: ${packageName}`);
|
|
329
|
+
// Find skill directory
|
|
330
|
+
const { join, dirname } = await import('node:path');
|
|
331
|
+
const { homedir } = await import('node:os');
|
|
332
|
+
const { readdirSync } = await import('node:fs');
|
|
333
|
+
const baseDir = join(process.cwd(), '.claude', 'skills');
|
|
334
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true })
|
|
335
|
+
.filter(dirent => dirent.isDirectory())
|
|
336
|
+
.map(dirent => dirent.name)
|
|
337
|
+
.filter(name => name.includes(packageName.replace(/[^a-z0-9]/gi, '')));
|
|
338
|
+
if (dirs.length === 0) {
|
|
339
|
+
console.error(`ā No skill found for package ${packageName}`);
|
|
340
|
+
process.exit(1);
|
|
341
|
+
}
|
|
342
|
+
const skillDir = join(baseDir, dirs[0]);
|
|
343
|
+
// Change to skill directory and run add script
|
|
344
|
+
const { chdir } = await import('node:process');
|
|
345
|
+
const originalCwd = process.cwd();
|
|
346
|
+
chdir(skillDir);
|
|
347
|
+
try {
|
|
348
|
+
const { runScript } = await import('./core/runScript.js');
|
|
349
|
+
const args = [];
|
|
350
|
+
if (options.title)
|
|
351
|
+
args.push('--title', options.title);
|
|
352
|
+
if (options.content)
|
|
353
|
+
args.push('--content', options.content);
|
|
354
|
+
if (options.file)
|
|
355
|
+
args.push('--file', options.file);
|
|
356
|
+
await runScript('add', args);
|
|
357
|
+
}
|
|
358
|
+
finally {
|
|
359
|
+
chdir(originalCwd);
|
|
360
|
+
}
|
|
361
|
+
console.log(gradient('green', 'cyan')('\nā
Content added successfully!'));
|
|
362
|
+
});
|
|
363
|
+
// Add sub-commands for script execution
|
|
364
|
+
program
|
|
365
|
+
.command('run-script')
|
|
366
|
+
.argument('<script>', 'Script to run (search, add, update-context7, build-index, list-content)')
|
|
367
|
+
.allowUnknownOption(true)
|
|
368
|
+
.action(async (script) => {
|
|
369
|
+
const { runScript } = await import('./core/runScript.js');
|
|
370
|
+
await runScript(script, process.argv.slice(4));
|
|
371
|
+
});
|
|
372
|
+
// Export for testing
|
|
373
|
+
export { program };
|
|
374
|
+
// Run CLI if this file is executed directly
|
|
375
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
376
|
+
program.parse();
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChromaDB-based search engine with default embeddings
|
|
3
|
+
*/
|
|
4
|
+
import type { SearchResult } from '../types/index.js';
|
|
5
|
+
export interface ChromaSearchOptions {
|
|
6
|
+
dbPath: string;
|
|
7
|
+
collectionName: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class ChromaSearchEngine {
|
|
10
|
+
private db;
|
|
11
|
+
private options;
|
|
12
|
+
private embeddingFunction;
|
|
13
|
+
constructor(options: ChromaSearchOptions);
|
|
14
|
+
initialize(): Promise<void>;
|
|
15
|
+
buildIndex(referencesDir: string, hashFile: string): Promise<void>;
|
|
16
|
+
search(query: string, topK?: number, where?: Record<string, any>): Promise<SearchResult[]>;
|
|
17
|
+
searchByPriority(query: string, topK?: number): Promise<SearchResult[]>;
|
|
18
|
+
getStats(): Promise<{
|
|
19
|
+
totalDocuments: number;
|
|
20
|
+
}>;
|
|
21
|
+
private initializeIfNeeded;
|
|
22
|
+
private splitIntoSections;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=chromaSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromaSearch.d.ts","sourceRoot":"","sources":["../../src/core/chromaSearch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,iBAAiB,CAAwC;gBAErD,OAAO,EAAE,mBAAmB;IAIlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+FlE,MAAM,CACV,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAU,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAoCpB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAY1E,QAAQ,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;YAiBvC,kBAAkB;IAOhC,OAAO,CAAC,iBAAiB;CA2B1B"}
|