skill-creator 1.4.2 → 1.5.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/dist/chunk-Da8dvM5T.mjs +1 -0
- package/dist/cli.d.mts +1016 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.mjs +36 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/contentManager-8rmWJMb6.mjs +22 -0
- package/dist/contentManager-8rmWJMb6.mjs.map +1 -0
- package/dist/contentManager-Xt8N5psY.mjs +1 -0
- package/dist/dist-DZL34HNo.mjs +8 -0
- package/dist/dist-DZL34HNo.mjs.map +1 -0
- package/dist/dist-X_kVEzbK.mjs +1 -0
- package/dist/esm-8qfZdcpd.mjs +33 -0
- package/dist/esm-8qfZdcpd.mjs.map +1 -0
- package/dist/esm-BF5pvSbc.mjs +1 -0
- package/dist/esm-BbhxxeGF.mjs +4 -0
- package/dist/esm-BbhxxeGF.mjs.map +1 -0
- package/dist/index.d.mts +1964 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +21 -0
- package/dist/index.mjs.map +1 -0
- package/dist/listContext7-DKXzgWdn.mjs +2 -0
- package/dist/listContext7-DKXzgWdn.mjs.map +1 -0
- package/dist/package-B4FNst2t.mjs +2 -0
- package/dist/package-B4FNst2t.mjs.map +1 -0
- package/dist/path-CuoiIaIe.mjs +2 -0
- package/dist/path-CuoiIaIe.mjs.map +1 -0
- package/dist/removeContext7-DOXrTXeI.mjs +3 -0
- package/dist/removeContext7-DOXrTXeI.mjs.map +1 -0
- package/dist/removeSkill-C-ehFexk.mjs +5 -0
- package/dist/removeSkill-C-ehFexk.mjs.map +1 -0
- package/dist/removeSkill-DWwhvzej.mjs +1 -0
- package/dist/runScript-Cr9RRN9y.mjs +14 -0
- package/dist/runScript-Cr9RRN9y.mjs.map +1 -0
- package/dist/search_format-DIs-1lKk.mjs +5 -0
- package/dist/search_format-DIs-1lKk.mjs.map +1 -0
- package/dist/shared-CFoY2Xhg.mjs +2 -0
- package/dist/shared-CFoY2Xhg.mjs.map +1 -0
- package/dist/skillMdManager-DP8fGZb7.mjs +7 -0
- package/dist/skillMdManager-DP8fGZb7.mjs.map +1 -0
- package/dist/unifiedSearch-CGZXw0NB.mjs +1 -0
- package/dist/unifiedSearch-l-lrSc9C.mjs +4 -0
- package/dist/unifiedSearch-l-lrSc9C.mjs.map +1 -0
- package/package.json +30 -16
- package/dist/cli.d.ts +0 -8
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -513
- package/dist/cli.js.map +0 -1
- package/dist/commands/addContent.d.ts +0 -5
- package/dist/commands/addContent.d.ts.map +0 -1
- package/dist/commands/addContent.js +0 -88
- package/dist/commands/addContent.js.map +0 -1
- package/dist/commands/buildIndex.d.ts +0 -5
- package/dist/commands/buildIndex.d.ts.map +0 -1
- package/dist/commands/buildIndex.js +0 -16
- package/dist/commands/buildIndex.js.map +0 -1
- package/dist/commands/createSkill.d.ts +0 -6
- package/dist/commands/createSkill.d.ts.map +0 -1
- package/dist/commands/createSkill.js +0 -32
- package/dist/commands/createSkill.js.map +0 -1
- package/dist/commands/downloadContext7.d.ts +0 -5
- package/dist/commands/downloadContext7.d.ts.map +0 -1
- package/dist/commands/downloadContext7.js +0 -71
- package/dist/commands/downloadContext7.js.map +0 -1
- package/dist/commands/init.d.ts +0 -5
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -95
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/listContent.d.ts +0 -5
- package/dist/commands/listContent.d.ts.map +0 -1
- package/dist/commands/listContent.js +0 -34
- package/dist/commands/listContent.js.map +0 -1
- package/dist/commands/listContext7.d.ts +0 -5
- package/dist/commands/listContext7.d.ts.map +0 -1
- package/dist/commands/listContext7.js +0 -26
- package/dist/commands/listContext7.js.map +0 -1
- package/dist/commands/listSkills.d.ts +0 -5
- package/dist/commands/listSkills.d.ts.map +0 -1
- package/dist/commands/listSkills.js +0 -34
- package/dist/commands/listSkills.js.map +0 -1
- package/dist/commands/removeContext7.d.ts +0 -5
- package/dist/commands/removeContext7.d.ts.map +0 -1
- package/dist/commands/removeContext7.js +0 -54
- package/dist/commands/removeContext7.js.map +0 -1
- package/dist/commands/removeSkill.d.ts +0 -5
- package/dist/commands/removeSkill.d.ts.map +0 -1
- package/dist/commands/removeSkill.js +0 -83
- package/dist/commands/removeSkill.js.map +0 -1
- package/dist/commands/searchContent.d.ts +0 -5
- package/dist/commands/searchContent.d.ts.map +0 -1
- package/dist/commands/searchContent.js +0 -99
- package/dist/commands/searchContent.js.map +0 -1
- package/dist/commands/shared.d.ts +0 -21
- package/dist/commands/shared.d.ts.map +0 -1
- package/dist/commands/shared.js +0 -80
- package/dist/commands/shared.js.map +0 -1
- package/dist/core/autoSearchAdapter.d.ts +0 -42
- package/dist/core/autoSearchAdapter.d.ts.map +0 -1
- package/dist/core/autoSearchAdapter.js +0 -116
- package/dist/core/autoSearchAdapter.js.map +0 -1
- package/dist/core/chromaSearch.d.ts +0 -24
- package/dist/core/chromaSearch.d.ts.map +0 -1
- package/dist/core/chromaSearch.js +0 -194
- package/dist/core/chromaSearch.js.map +0 -1
- package/dist/core/chromaSearchAdapter.d.ts +0 -86
- package/dist/core/chromaSearchAdapter.d.ts.map +0 -1
- package/dist/core/chromaSearchAdapter.js +0 -477
- package/dist/core/chromaSearchAdapter.js.map +0 -1
- package/dist/core/chromaServerManager.d.ts +0 -64
- package/dist/core/chromaServerManager.d.ts.map +0 -1
- package/dist/core/chromaServerManager.js +0 -186
- package/dist/core/chromaServerManager.js.map +0 -1
- package/dist/core/contentManager.d.ts +0 -65
- package/dist/core/contentManager.d.ts.map +0 -1
- package/dist/core/contentManager.js +0 -533
- package/dist/core/contentManager.js.map +0 -1
- package/dist/core/fuzzySearchAdapter.d.ts +0 -33
- package/dist/core/fuzzySearchAdapter.d.ts.map +0 -1
- package/dist/core/fuzzySearchAdapter.js +0 -185
- package/dist/core/fuzzySearchAdapter.js.map +0 -1
- package/dist/core/portUtils.d.ts +0 -51
- package/dist/core/portUtils.d.ts.map +0 -1
- package/dist/core/portUtils.js +0 -120
- package/dist/core/portUtils.js.map +0 -1
- package/dist/core/runScript.d.ts +0 -5
- package/dist/core/runScript.d.ts.map +0 -1
- package/dist/core/runScript.js +0 -40
- package/dist/core/runScript.js.map +0 -1
- package/dist/core/searchAdapter.d.ts +0 -48
- package/dist/core/searchAdapter.d.ts.map +0 -1
- package/dist/core/searchAdapter.js +0 -6
- package/dist/core/searchAdapter.js.map +0 -1
- package/dist/core/searchEngineFactory.d.ts +0 -30
- package/dist/core/searchEngineFactory.d.ts.map +0 -1
- package/dist/core/searchEngineFactory.js +0 -41
- package/dist/core/searchEngineFactory.js.map +0 -1
- package/dist/core/skillCreator.d.ts +0 -12
- package/dist/core/skillCreator.d.ts.map +0 -1
- package/dist/core/skillCreator.js +0 -75
- package/dist/core/skillCreator.js.map +0 -1
- package/dist/core/templateManager.d.ts +0 -28
- package/dist/core/templateManager.d.ts.map +0 -1
- package/dist/core/templateManager.js +0 -583
- package/dist/core/templateManager.js.map +0 -1
- package/dist/core/unifiedSearch.d.ts +0 -69
- package/dist/core/unifiedSearch.d.ts.map +0 -1
- package/dist/core/unifiedSearch.js +0 -105
- package/dist/core/unifiedSearch.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +0 -1
- package/dist/search_format/enhancedFormatter.d.ts +0 -109
- package/dist/search_format/enhancedFormatter.d.ts.map +0 -1
- package/dist/search_format/enhancedFormatter.js +0 -262
- package/dist/search_format/enhancedFormatter.js.map +0 -1
- package/dist/search_format/index.d.ts +0 -10
- package/dist/search_format/index.d.ts.map +0 -1
- package/dist/search_format/index.js +0 -22
- package/dist/search_format/index.js.map +0 -1
- package/dist/search_format/listFormatter.d.ts +0 -16
- package/dist/search_format/listFormatter.d.ts.map +0 -1
- package/dist/search_format/listFormatter.js +0 -51
- package/dist/search_format/listFormatter.js.map +0 -1
- package/dist/search_format/types.d.ts +0 -69
- package/dist/search_format/types.d.ts.map +0 -1
- package/dist/search_format/types.js +0 -5
- package/dist/search_format/types.js.map +0 -1
- package/dist/types/index.d.ts +0 -74
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/utils/claudeCodeDetection.d.ts +0 -27
- package/dist/utils/claudeCodeDetection.d.ts.map +0 -1
- package/dist/utils/claudeCodeDetection.js +0 -81
- package/dist/utils/claudeCodeDetection.js.map +0 -1
- package/dist/utils/config.d.ts +0 -23
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -41
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/package.d.ts +0 -88
- package/dist/utils/package.d.ts.map +0 -1
- package/dist/utils/package.js +0 -221
- package/dist/utils/package.js.map +0 -1
- package/dist/utils/skillMdManager.d.ts +0 -44
- package/dist/utils/skillMdManager.d.ts.map +0 -1
- package/dist/utils/skillMdManager.js +0 -157
- package/dist/utils/skillMdManager.js.map +0 -1
package/dist/utils/package.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package utilities
|
|
3
|
-
*/
|
|
4
|
-
import { readFileSync } from 'node:fs';
|
|
5
|
-
import { resolve } from 'node:path';
|
|
6
|
-
export class PackageUtils {
|
|
7
|
-
/**
|
|
8
|
-
* Get package version from npm registry
|
|
9
|
-
*/
|
|
10
|
-
static async getPackageVersion(packageName) {
|
|
11
|
-
try {
|
|
12
|
-
const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`);
|
|
13
|
-
if (!response.ok)
|
|
14
|
-
return null;
|
|
15
|
-
const data = await response.json();
|
|
16
|
-
return data.version;
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Get full package info from npm registry for the latest version
|
|
24
|
-
*/
|
|
25
|
-
static async getPackageInfo(packageName) {
|
|
26
|
-
try {
|
|
27
|
-
const response = await fetch(`https://registry.npmjs.org/${packageName}`);
|
|
28
|
-
if (!response.ok)
|
|
29
|
-
return null;
|
|
30
|
-
const data = await response.json();
|
|
31
|
-
const latestVersionTag = data['dist-tags']?.latest;
|
|
32
|
-
if (!latestVersionTag)
|
|
33
|
-
return null;
|
|
34
|
-
const latestVersionInfo = data.versions?.[latestVersionTag];
|
|
35
|
-
if (!latestVersionInfo)
|
|
36
|
-
return null;
|
|
37
|
-
return latestVersionInfo;
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get full package info from npm registry for the latest version
|
|
45
|
-
*/
|
|
46
|
-
static getCurrentPackageInfo() {
|
|
47
|
-
try {
|
|
48
|
-
const packageInfo = JSON.parse(readFileSync(resolve(import.meta.dirname, '../../package.json'), 'utf-8'));
|
|
49
|
-
return packageInfo;
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Format version according to doc-downloader rules
|
|
57
|
-
*/
|
|
58
|
-
static formatVersion(version) {
|
|
59
|
-
if (!version)
|
|
60
|
-
return '';
|
|
61
|
-
// Remove 'v' prefix if present
|
|
62
|
-
if (version.startsWith('v')) {
|
|
63
|
-
version = version.slice(1);
|
|
64
|
-
}
|
|
65
|
-
const parts = version.split('.');
|
|
66
|
-
if (parts.length >= 2) {
|
|
67
|
-
const major = parseInt(parts[0], 10);
|
|
68
|
-
if (major >= 1) {
|
|
69
|
-
return String(major);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
return `${major}.${parts[1]}`;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return version;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Create skill folder name according to spec
|
|
79
|
-
*/
|
|
80
|
-
static createSkillFolderName(packageName, version) {
|
|
81
|
-
// Replace / with __ as specified in doc-downloader.md
|
|
82
|
-
const safePackage = packageName.replace(/\//g, '__');
|
|
83
|
-
const formattedVersion = this.formatVersion(version);
|
|
84
|
-
if (formattedVersion) {
|
|
85
|
-
return `${safePackage}@${formattedVersion}`;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return safePackage;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Normalize package name (remove @ prefix)
|
|
93
|
-
*/
|
|
94
|
-
static normalizePackageName(packageName) {
|
|
95
|
-
if (packageName.startsWith('@')) {
|
|
96
|
-
return packageName.slice(1);
|
|
97
|
-
}
|
|
98
|
-
return packageName;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Validate package name format
|
|
102
|
-
*/
|
|
103
|
-
static validatePackageName(packageName) {
|
|
104
|
-
if (!packageName || packageName.length === 0) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
// Basic validation for npm package names
|
|
108
|
-
const validNamePattern = /^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;
|
|
109
|
-
return validNamePattern.test(packageName);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Search for packages on npm registry
|
|
113
|
-
*/
|
|
114
|
-
static async searchPackages(keywords, options = {}) {
|
|
115
|
-
const { limit = 10, minScore = 0.3 } = options;
|
|
116
|
-
try {
|
|
117
|
-
const query = keywords.join(' ');
|
|
118
|
-
const response = await fetch(`https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(query)}&size=${limit * 2}`);
|
|
119
|
-
if (!response.ok)
|
|
120
|
-
return [];
|
|
121
|
-
const data = await response.json();
|
|
122
|
-
const results = [];
|
|
123
|
-
for (const pkg of data.objects || []) {
|
|
124
|
-
const score = pkg.score?.detail?.popularity || 0;
|
|
125
|
-
if (score >= minScore) {
|
|
126
|
-
// Get detailed package information including homepage
|
|
127
|
-
const packageInfo = await this.getPackageInfo(pkg.package.name);
|
|
128
|
-
results.push({
|
|
129
|
-
name: pkg.package.name,
|
|
130
|
-
description: pkg.package.description || '',
|
|
131
|
-
version: pkg.package.version,
|
|
132
|
-
date: pkg.package.date,
|
|
133
|
-
publisher: pkg.package.publisher?.username || 'unknown',
|
|
134
|
-
score,
|
|
135
|
-
homepage: packageInfo?.homepage,
|
|
136
|
-
repository: packageInfo?.repository?.url,
|
|
137
|
-
skill_dir_name: packageInfo
|
|
138
|
-
? this.createSkillFolderName(packageInfo.name, packageInfo.version)
|
|
139
|
-
: undefined,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return results.slice(0, limit);
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
return [];
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Find exact package match
|
|
151
|
-
*/
|
|
152
|
-
static async findExactPackage(packageName) {
|
|
153
|
-
try {
|
|
154
|
-
const packageInfo = await this.getPackageInfo(packageName);
|
|
155
|
-
if (!packageInfo)
|
|
156
|
-
return null;
|
|
157
|
-
return {
|
|
158
|
-
name: packageInfo.name,
|
|
159
|
-
description: packageInfo.description || '',
|
|
160
|
-
version: packageInfo.version,
|
|
161
|
-
date: packageInfo.time?.modified || new Date().toISOString(),
|
|
162
|
-
publisher: packageInfo.publisher?.username || 'unknown',
|
|
163
|
-
score: 1.0,
|
|
164
|
-
homepage: packageInfo.homepage,
|
|
165
|
-
repository: packageInfo.repository?.url,
|
|
166
|
-
skill_dir_name: this.createSkillFolderName(packageInfo.name, packageInfo.version),
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Suggest packages based on keywords
|
|
175
|
-
*/
|
|
176
|
-
static async suggestPackages(input, options = {}) {
|
|
177
|
-
const results = [];
|
|
178
|
-
// Check if input looks like an exact package name and include it as first result
|
|
179
|
-
if (PackageUtils.validatePackageName(input)) {
|
|
180
|
-
const exact = await PackageUtils.findExactPackage(input);
|
|
181
|
-
if (exact) {
|
|
182
|
-
results.push(exact);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
// Always perform broader search to find related packages
|
|
186
|
-
// Extract keywords from input
|
|
187
|
-
const keywords = input
|
|
188
|
-
.split(/[\s-]+/)
|
|
189
|
-
.filter((word) => word.length > 2)
|
|
190
|
-
.slice(0, 3);
|
|
191
|
-
if (keywords.length === 0) {
|
|
192
|
-
// Fallback: search with the whole input
|
|
193
|
-
keywords.push(input);
|
|
194
|
-
}
|
|
195
|
-
const searchResults = await PackageUtils.searchPackages(keywords, options);
|
|
196
|
-
// Merge exact match with search results, avoiding duplicates
|
|
197
|
-
const exactMatchNames = new Set(results.map((r) => r.name));
|
|
198
|
-
const additionalResults = searchResults.filter((r) => !exactMatchNames.has(r.name));
|
|
199
|
-
return [...results, ...additionalResults].slice(0, options.limit || 10);
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Select package from multiple options
|
|
203
|
-
*/
|
|
204
|
-
static async selectPackage(input) {
|
|
205
|
-
const suggestions = await PackageUtils.suggestPackages(input, { limit: 5 });
|
|
206
|
-
if (suggestions.length === 0) {
|
|
207
|
-
return null;
|
|
208
|
-
}
|
|
209
|
-
if (suggestions.length === 1) {
|
|
210
|
-
const pkg = suggestions[0];
|
|
211
|
-
const version = await PackageUtils.getPackageVersion(pkg.name);
|
|
212
|
-
return { name: pkg.name, version: version || pkg.version };
|
|
213
|
-
}
|
|
214
|
-
// Multiple options found - would need interactive selection in CLI
|
|
215
|
-
// For now, return the highest scored package
|
|
216
|
-
const best = suggestions.reduce((prev, curr) => (curr.score > prev.score ? curr : prev));
|
|
217
|
-
const version = await PackageUtils.getPackageVersion(best.name);
|
|
218
|
-
return { name: best.name, version: version || best.version };
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
//# sourceMappingURL=package.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/utils/package.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SKILL.md tag management utilities
|
|
3
|
-
* Manages <user-skills> and <context7-skills> tags in SKILL.md file
|
|
4
|
-
*/
|
|
5
|
-
export interface TagContent {
|
|
6
|
-
tagName: string;
|
|
7
|
-
id?: string;
|
|
8
|
-
content: string;
|
|
9
|
-
startIndex: number;
|
|
10
|
-
endIndex: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Parse all tags from SKILL.md content
|
|
14
|
-
*/
|
|
15
|
-
export declare function parseSkillMdTags(content: string): TagContent[];
|
|
16
|
-
/**
|
|
17
|
-
* Update or create a tag in SKILL.md content
|
|
18
|
-
*/
|
|
19
|
-
export declare function updateSkillMdTag(content: string, tagName: 'user-skills' | 'context7-skills', newContent: string, id?: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Remove a context7-skills tag from SKILL.md
|
|
22
|
-
*/
|
|
23
|
-
export declare function removeContext7Tag(content: string, projectId: string): string;
|
|
24
|
-
/**
|
|
25
|
-
* Get all context7 project IDs from SKILL.md
|
|
26
|
-
*/
|
|
27
|
-
export declare function getContext7ProjectIds(content: string): string[];
|
|
28
|
-
/**
|
|
29
|
-
* Get user skills files from SKILL.md
|
|
30
|
-
*/
|
|
31
|
-
export declare function getUserSkillsFiles(content: string): string[];
|
|
32
|
-
/**
|
|
33
|
-
* Get context7 files for a specific project from SKILL.md
|
|
34
|
-
*/
|
|
35
|
-
export declare function getContext7Files(content: string, projectId: string): string[];
|
|
36
|
-
/**
|
|
37
|
-
* Update SKILL.md file with new tag content
|
|
38
|
-
*/
|
|
39
|
-
export declare function updateSkillMdFile(filePath: string, tagName: 'user-skills' | 'context7-skills', newContent: string, id?: string): void;
|
|
40
|
-
/**
|
|
41
|
-
* Remove context7 tag from SKILL.md file
|
|
42
|
-
*/
|
|
43
|
-
export declare function removeContext7TagFromFile(filePath: string, projectId: string): void;
|
|
44
|
-
//# sourceMappingURL=skillMdManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skillMdManager.d.ts","sourceRoot":"","sources":["../../src/utils/skillMdManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CA8B9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GAAG,iBAAiB,EAC1C,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,MAAM,CA8CR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAwB5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAe5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAe7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GAAG,iBAAiB,EAC1C,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAInF"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SKILL.md tag management utilities
|
|
3
|
-
* Manages <user-skills> and <context7-skills> tags in SKILL.md file
|
|
4
|
-
*/
|
|
5
|
-
import { readFileSync, writeFileSync } from 'node:fs';
|
|
6
|
-
/**
|
|
7
|
-
* Parse all tags from SKILL.md content
|
|
8
|
-
*/
|
|
9
|
-
export function parseSkillMdTags(content) {
|
|
10
|
-
const tags = [];
|
|
11
|
-
// Match <user-skills>...</user-skills>
|
|
12
|
-
const userSkillsRegex = /<user-skills>([\s\S]*?)<\/user-skills>/g;
|
|
13
|
-
let match;
|
|
14
|
-
while ((match = userSkillsRegex.exec(content)) !== null) {
|
|
15
|
-
tags.push({
|
|
16
|
-
tagName: 'user-skills',
|
|
17
|
-
content: match[1].trim(),
|
|
18
|
-
startIndex: match.index,
|
|
19
|
-
endIndex: match.index + match[0].length,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
// Match <context7-skills id="xxx">...</context7-skills>
|
|
23
|
-
const context7Regex = /<context7-skills\s+id="([^"]+)">([\s\S]*?)<\/context7-skills>/g;
|
|
24
|
-
while ((match = context7Regex.exec(content)) !== null) {
|
|
25
|
-
tags.push({
|
|
26
|
-
tagName: 'context7-skills',
|
|
27
|
-
id: match[1],
|
|
28
|
-
content: match[2].trim(),
|
|
29
|
-
startIndex: match.index,
|
|
30
|
-
endIndex: match.index + match[0].length,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
return tags.sort((a, b) => a.startIndex - b.startIndex);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Update or create a tag in SKILL.md content
|
|
37
|
-
*/
|
|
38
|
-
export function updateSkillMdTag(content, tagName, newContent, id) {
|
|
39
|
-
const tags = parseSkillMdTags(content);
|
|
40
|
-
// Find existing tag
|
|
41
|
-
const existingTag = tags.find((t) => t.tagName === tagName && (tagName === 'user-skills' || t.id === id));
|
|
42
|
-
if (existingTag) {
|
|
43
|
-
// Replace existing tag content
|
|
44
|
-
const tagStart = tagName === 'user-skills' ? `<user-skills>` : `<context7-skills id="${id}">`;
|
|
45
|
-
const tagEnd = `</${tagName}>`;
|
|
46
|
-
const newTag = `${tagStart}\n${newContent}\n${tagEnd}`;
|
|
47
|
-
return content.slice(0, existingTag.startIndex) + newTag + content.slice(existingTag.endIndex);
|
|
48
|
-
}
|
|
49
|
-
else if (tagName === 'context7-skills' && id) {
|
|
50
|
-
// Add new context7-skills tag
|
|
51
|
-
// Find the Context7 Documentation section
|
|
52
|
-
const context7SectionRegex = /## Context7 Documentation[\s\S]*?(?=\n##|$)/;
|
|
53
|
-
const sectionMatch = content.match(context7SectionRegex);
|
|
54
|
-
if (sectionMatch) {
|
|
55
|
-
const sectionStart = content.indexOf(sectionMatch[0]);
|
|
56
|
-
const sectionEnd = sectionStart + sectionMatch[0].length;
|
|
57
|
-
// Find the end of existing context7-skills tags
|
|
58
|
-
const existingContext7Tags = tags.filter((t) => t.tagName === 'context7-skills');
|
|
59
|
-
let insertPosition = sectionEnd;
|
|
60
|
-
if (existingContext7Tags.length > 0) {
|
|
61
|
-
const lastTag = existingContext7Tags[existingContext7Tags.length - 1];
|
|
62
|
-
insertPosition = lastTag.endIndex;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// Insert after the section header and comment
|
|
66
|
-
const headerEnd = content.indexOf('\n', sectionStart + sectionMatch[0].indexOf('\n'));
|
|
67
|
-
const commentEnd = content.indexOf('-->', headerEnd);
|
|
68
|
-
insertPosition = commentEnd > headerEnd ? commentEnd + 3 : headerEnd;
|
|
69
|
-
}
|
|
70
|
-
const newTag = `\n\n<context7-skills id="${id}">\n${newContent}\n</context7-skills>`;
|
|
71
|
-
return content.slice(0, insertPosition) + newTag + content.slice(insertPosition);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return content;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Remove a context7-skills tag from SKILL.md
|
|
78
|
-
*/
|
|
79
|
-
export function removeContext7Tag(content, projectId) {
|
|
80
|
-
const tags = parseSkillMdTags(content);
|
|
81
|
-
const tagToRemove = tags.find((t) => t.tagName === 'context7-skills' && t.id === projectId);
|
|
82
|
-
if (!tagToRemove) {
|
|
83
|
-
return content;
|
|
84
|
-
}
|
|
85
|
-
// Remove the tag and any surrounding whitespace
|
|
86
|
-
let startIndex = tagToRemove.startIndex;
|
|
87
|
-
let endIndex = tagToRemove.endIndex;
|
|
88
|
-
// Remove leading newlines
|
|
89
|
-
while (startIndex > 0 && content[startIndex - 1] === '\n') {
|
|
90
|
-
startIndex--;
|
|
91
|
-
if (startIndex > 0 && content[startIndex - 1] === '\n')
|
|
92
|
-
break; // Keep one newline
|
|
93
|
-
}
|
|
94
|
-
// Remove trailing newlines
|
|
95
|
-
while (endIndex < content.length && content[endIndex] === '\n') {
|
|
96
|
-
endIndex++;
|
|
97
|
-
}
|
|
98
|
-
return content.slice(0, startIndex) + content.slice(endIndex);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Get all context7 project IDs from SKILL.md
|
|
102
|
-
*/
|
|
103
|
-
export function getContext7ProjectIds(content) {
|
|
104
|
-
const tags = parseSkillMdTags(content);
|
|
105
|
-
return tags.filter((t) => t.tagName === 'context7-skills' && t.id).map((t) => t.id);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get user skills files from SKILL.md
|
|
109
|
-
*/
|
|
110
|
-
export function getUserSkillsFiles(content) {
|
|
111
|
-
const tags = parseSkillMdTags(content);
|
|
112
|
-
const userSkillsTag = tags.find((t) => t.tagName === 'user-skills');
|
|
113
|
-
if (!userSkillsTag || !userSkillsTag.content) {
|
|
114
|
-
return [];
|
|
115
|
-
}
|
|
116
|
-
// Parse markdown list items
|
|
117
|
-
return userSkillsTag.content
|
|
118
|
-
.split('\n')
|
|
119
|
-
.map((line) => line.trim())
|
|
120
|
-
.filter((line) => line.startsWith('-'))
|
|
121
|
-
.map((line) => line.slice(1).trim())
|
|
122
|
-
.filter(Boolean);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get context7 files for a specific project from SKILL.md
|
|
126
|
-
*/
|
|
127
|
-
export function getContext7Files(content, projectId) {
|
|
128
|
-
const tags = parseSkillMdTags(content);
|
|
129
|
-
const projectTag = tags.find((t) => t.tagName === 'context7-skills' && t.id === projectId);
|
|
130
|
-
if (!projectTag || !projectTag.content) {
|
|
131
|
-
return [];
|
|
132
|
-
}
|
|
133
|
-
// Parse markdown list items
|
|
134
|
-
return projectTag.content
|
|
135
|
-
.split('\n')
|
|
136
|
-
.map((line) => line.trim())
|
|
137
|
-
.filter((line) => line.startsWith('-'))
|
|
138
|
-
.map((line) => line.slice(1).trim())
|
|
139
|
-
.filter(Boolean);
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Update SKILL.md file with new tag content
|
|
143
|
-
*/
|
|
144
|
-
export function updateSkillMdFile(filePath, tagName, newContent, id) {
|
|
145
|
-
const content = readFileSync(filePath, 'utf-8');
|
|
146
|
-
const updated = updateSkillMdTag(content, tagName, newContent, id);
|
|
147
|
-
writeFileSync(filePath, updated, 'utf-8');
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Remove context7 tag from SKILL.md file
|
|
151
|
-
*/
|
|
152
|
-
export function removeContext7TagFromFile(filePath, projectId) {
|
|
153
|
-
const content = readFileSync(filePath, 'utf-8');
|
|
154
|
-
const updated = removeContext7Tag(content, projectId);
|
|
155
|
-
writeFileSync(filePath, updated, 'utf-8');
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=skillMdManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skillMdManager.js","sourceRoot":"","sources":["../../src/utils/skillMdManager.ts"],"names":[],"mappings":"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"}
|