skill-creator 1.4.3 → 1.5.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.
Files changed (187) hide show
  1. package/dist/chunk-Da8dvM5T.mjs +1 -0
  2. package/dist/cli.d.mts +1016 -0
  3. package/dist/cli.d.mts.map +1 -0
  4. package/dist/cli.mjs +36 -0
  5. package/dist/cli.mjs.map +1 -0
  6. package/dist/contentManager-8rmWJMb6.mjs +22 -0
  7. package/dist/contentManager-8rmWJMb6.mjs.map +1 -0
  8. package/dist/contentManager-Xt8N5psY.mjs +1 -0
  9. package/dist/dist-DZL34HNo.mjs +8 -0
  10. package/dist/dist-DZL34HNo.mjs.map +1 -0
  11. package/dist/dist-X_kVEzbK.mjs +1 -0
  12. package/dist/esm-8qfZdcpd.mjs +33 -0
  13. package/dist/esm-8qfZdcpd.mjs.map +1 -0
  14. package/dist/esm-BF5pvSbc.mjs +1 -0
  15. package/dist/esm-BbhxxeGF.mjs +4 -0
  16. package/dist/esm-BbhxxeGF.mjs.map +1 -0
  17. package/dist/index.d.mts +1964 -0
  18. package/dist/index.d.mts.map +1 -0
  19. package/dist/index.mjs +21 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/dist/listContext7-DKXzgWdn.mjs +2 -0
  22. package/dist/listContext7-DKXzgWdn.mjs.map +1 -0
  23. package/dist/package-Cxx_VSyD.mjs +2 -0
  24. package/dist/package-Cxx_VSyD.mjs.map +1 -0
  25. package/dist/path-CuoiIaIe.mjs +2 -0
  26. package/dist/path-CuoiIaIe.mjs.map +1 -0
  27. package/dist/removeContext7-DOXrTXeI.mjs +3 -0
  28. package/dist/removeContext7-DOXrTXeI.mjs.map +1 -0
  29. package/dist/removeSkill-C-ehFexk.mjs +5 -0
  30. package/dist/removeSkill-C-ehFexk.mjs.map +1 -0
  31. package/dist/removeSkill-DWwhvzej.mjs +1 -0
  32. package/dist/runScript-Cr9RRN9y.mjs +14 -0
  33. package/dist/runScript-Cr9RRN9y.mjs.map +1 -0
  34. package/dist/search_format-DIs-1lKk.mjs +5 -0
  35. package/dist/search_format-DIs-1lKk.mjs.map +1 -0
  36. package/dist/shared-CFoY2Xhg.mjs +2 -0
  37. package/dist/shared-CFoY2Xhg.mjs.map +1 -0
  38. package/dist/skillMdManager-DP8fGZb7.mjs +7 -0
  39. package/dist/skillMdManager-DP8fGZb7.mjs.map +1 -0
  40. package/dist/unifiedSearch-CGZXw0NB.mjs +1 -0
  41. package/dist/unifiedSearch-l-lrSc9C.mjs +4 -0
  42. package/dist/unifiedSearch-l-lrSc9C.mjs.map +1 -0
  43. package/package.json +30 -17
  44. package/dist/cli.d.ts +0 -8
  45. package/dist/cli.d.ts.map +0 -1
  46. package/dist/cli.js +0 -513
  47. package/dist/cli.js.map +0 -1
  48. package/dist/commands/addContent.d.ts +0 -5
  49. package/dist/commands/addContent.d.ts.map +0 -1
  50. package/dist/commands/addContent.js +0 -88
  51. package/dist/commands/addContent.js.map +0 -1
  52. package/dist/commands/buildIndex.d.ts +0 -5
  53. package/dist/commands/buildIndex.d.ts.map +0 -1
  54. package/dist/commands/buildIndex.js +0 -16
  55. package/dist/commands/buildIndex.js.map +0 -1
  56. package/dist/commands/createSkill.d.ts +0 -6
  57. package/dist/commands/createSkill.d.ts.map +0 -1
  58. package/dist/commands/createSkill.js +0 -32
  59. package/dist/commands/createSkill.js.map +0 -1
  60. package/dist/commands/downloadContext7.d.ts +0 -5
  61. package/dist/commands/downloadContext7.d.ts.map +0 -1
  62. package/dist/commands/downloadContext7.js +0 -71
  63. package/dist/commands/downloadContext7.js.map +0 -1
  64. package/dist/commands/init.d.ts +0 -5
  65. package/dist/commands/init.d.ts.map +0 -1
  66. package/dist/commands/init.js +0 -95
  67. package/dist/commands/init.js.map +0 -1
  68. package/dist/commands/listContent.d.ts +0 -5
  69. package/dist/commands/listContent.d.ts.map +0 -1
  70. package/dist/commands/listContent.js +0 -34
  71. package/dist/commands/listContent.js.map +0 -1
  72. package/dist/commands/listContext7.d.ts +0 -5
  73. package/dist/commands/listContext7.d.ts.map +0 -1
  74. package/dist/commands/listContext7.js +0 -26
  75. package/dist/commands/listContext7.js.map +0 -1
  76. package/dist/commands/listSkills.d.ts +0 -5
  77. package/dist/commands/listSkills.d.ts.map +0 -1
  78. package/dist/commands/listSkills.js +0 -34
  79. package/dist/commands/listSkills.js.map +0 -1
  80. package/dist/commands/removeContext7.d.ts +0 -5
  81. package/dist/commands/removeContext7.d.ts.map +0 -1
  82. package/dist/commands/removeContext7.js +0 -54
  83. package/dist/commands/removeContext7.js.map +0 -1
  84. package/dist/commands/removeSkill.d.ts +0 -5
  85. package/dist/commands/removeSkill.d.ts.map +0 -1
  86. package/dist/commands/removeSkill.js +0 -83
  87. package/dist/commands/removeSkill.js.map +0 -1
  88. package/dist/commands/searchContent.d.ts +0 -5
  89. package/dist/commands/searchContent.d.ts.map +0 -1
  90. package/dist/commands/searchContent.js +0 -99
  91. package/dist/commands/searchContent.js.map +0 -1
  92. package/dist/commands/shared.d.ts +0 -21
  93. package/dist/commands/shared.d.ts.map +0 -1
  94. package/dist/commands/shared.js +0 -80
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/core/autoSearchAdapter.d.ts +0 -42
  97. package/dist/core/autoSearchAdapter.d.ts.map +0 -1
  98. package/dist/core/autoSearchAdapter.js +0 -116
  99. package/dist/core/autoSearchAdapter.js.map +0 -1
  100. package/dist/core/chromaSearch.d.ts +0 -24
  101. package/dist/core/chromaSearch.d.ts.map +0 -1
  102. package/dist/core/chromaSearch.js +0 -194
  103. package/dist/core/chromaSearch.js.map +0 -1
  104. package/dist/core/chromaSearchAdapter.d.ts +0 -86
  105. package/dist/core/chromaSearchAdapter.d.ts.map +0 -1
  106. package/dist/core/chromaSearchAdapter.js +0 -477
  107. package/dist/core/chromaSearchAdapter.js.map +0 -1
  108. package/dist/core/chromaServerManager.d.ts +0 -64
  109. package/dist/core/chromaServerManager.d.ts.map +0 -1
  110. package/dist/core/chromaServerManager.js +0 -186
  111. package/dist/core/chromaServerManager.js.map +0 -1
  112. package/dist/core/contentManager.d.ts +0 -65
  113. package/dist/core/contentManager.d.ts.map +0 -1
  114. package/dist/core/contentManager.js +0 -533
  115. package/dist/core/contentManager.js.map +0 -1
  116. package/dist/core/fuzzySearchAdapter.d.ts +0 -33
  117. package/dist/core/fuzzySearchAdapter.d.ts.map +0 -1
  118. package/dist/core/fuzzySearchAdapter.js +0 -185
  119. package/dist/core/fuzzySearchAdapter.js.map +0 -1
  120. package/dist/core/portUtils.d.ts +0 -51
  121. package/dist/core/portUtils.d.ts.map +0 -1
  122. package/dist/core/portUtils.js +0 -120
  123. package/dist/core/portUtils.js.map +0 -1
  124. package/dist/core/runScript.d.ts +0 -5
  125. package/dist/core/runScript.d.ts.map +0 -1
  126. package/dist/core/runScript.js +0 -40
  127. package/dist/core/runScript.js.map +0 -1
  128. package/dist/core/searchAdapter.d.ts +0 -48
  129. package/dist/core/searchAdapter.d.ts.map +0 -1
  130. package/dist/core/searchAdapter.js +0 -6
  131. package/dist/core/searchAdapter.js.map +0 -1
  132. package/dist/core/searchEngineFactory.d.ts +0 -30
  133. package/dist/core/searchEngineFactory.d.ts.map +0 -1
  134. package/dist/core/searchEngineFactory.js +0 -41
  135. package/dist/core/searchEngineFactory.js.map +0 -1
  136. package/dist/core/skillCreator.d.ts +0 -12
  137. package/dist/core/skillCreator.d.ts.map +0 -1
  138. package/dist/core/skillCreator.js +0 -79
  139. package/dist/core/skillCreator.js.map +0 -1
  140. package/dist/core/templateManager.d.ts +0 -28
  141. package/dist/core/templateManager.d.ts.map +0 -1
  142. package/dist/core/templateManager.js +0 -583
  143. package/dist/core/templateManager.js.map +0 -1
  144. package/dist/core/unifiedSearch.d.ts +0 -69
  145. package/dist/core/unifiedSearch.d.ts.map +0 -1
  146. package/dist/core/unifiedSearch.js +0 -105
  147. package/dist/core/unifiedSearch.js.map +0 -1
  148. package/dist/index.d.ts +0 -13
  149. package/dist/index.d.ts.map +0 -1
  150. package/dist/index.js +0 -11
  151. package/dist/index.js.map +0 -1
  152. package/dist/search_format/enhancedFormatter.d.ts +0 -109
  153. package/dist/search_format/enhancedFormatter.d.ts.map +0 -1
  154. package/dist/search_format/enhancedFormatter.js +0 -262
  155. package/dist/search_format/enhancedFormatter.js.map +0 -1
  156. package/dist/search_format/index.d.ts +0 -10
  157. package/dist/search_format/index.d.ts.map +0 -1
  158. package/dist/search_format/index.js +0 -22
  159. package/dist/search_format/index.js.map +0 -1
  160. package/dist/search_format/listFormatter.d.ts +0 -16
  161. package/dist/search_format/listFormatter.d.ts.map +0 -1
  162. package/dist/search_format/listFormatter.js +0 -51
  163. package/dist/search_format/listFormatter.js.map +0 -1
  164. package/dist/search_format/types.d.ts +0 -69
  165. package/dist/search_format/types.d.ts.map +0 -1
  166. package/dist/search_format/types.js +0 -5
  167. package/dist/search_format/types.js.map +0 -1
  168. package/dist/types/index.d.ts +0 -74
  169. package/dist/types/index.d.ts.map +0 -1
  170. package/dist/types/index.js +0 -2
  171. package/dist/types/index.js.map +0 -1
  172. package/dist/utils/claudeCodeDetection.d.ts +0 -27
  173. package/dist/utils/claudeCodeDetection.d.ts.map +0 -1
  174. package/dist/utils/claudeCodeDetection.js +0 -81
  175. package/dist/utils/claudeCodeDetection.js.map +0 -1
  176. package/dist/utils/config.d.ts +0 -23
  177. package/dist/utils/config.d.ts.map +0 -1
  178. package/dist/utils/config.js +0 -41
  179. package/dist/utils/config.js.map +0 -1
  180. package/dist/utils/package.d.ts +0 -88
  181. package/dist/utils/package.d.ts.map +0 -1
  182. package/dist/utils/package.js +0 -221
  183. package/dist/utils/package.js.map +0 -1
  184. package/dist/utils/skillMdManager.d.ts +0 -45
  185. package/dist/utils/skillMdManager.d.ts.map +0 -1
  186. package/dist/utils/skillMdManager.js +0 -173
  187. package/dist/utils/skillMdManager.js.map +0 -1
@@ -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,45 +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
- baseDir?: string;
9
- content: string;
10
- startIndex: number;
11
- endIndex: number;
12
- }
13
- /**
14
- * Parse all tags from SKILL.md content
15
- */
16
- export declare function parseSkillMdTags(content: string): TagContent[];
17
- /**
18
- * Update or create a tag in SKILL.md content
19
- */
20
- export declare function updateSkillMdTag(content: string, tagName: 'user-skills' | 'context7-skills', newContent: string, id?: string, baseDir?: string): string;
21
- /**
22
- * Remove a context7-skills tag from SKILL.md
23
- */
24
- export declare function removeContext7Tag(content: string, projectId: string): string;
25
- /**
26
- * Get all context7 project IDs from SKILL.md
27
- */
28
- export declare function getContext7ProjectIds(content: string): string[];
29
- /**
30
- * Get user skills files from SKILL.md
31
- */
32
- export declare function getUserSkillsFiles(content: string): string[];
33
- /**
34
- * Get context7 files for a specific project from SKILL.md
35
- */
36
- export declare function getContext7Files(content: string, projectId: string): string[];
37
- /**
38
- * Update SKILL.md file with new tag content
39
- */
40
- export declare function updateSkillMdFile(filePath: string, tagName: 'user-skills' | 'context7-skills', newContent: string, id?: string, baseDir?: string): void;
41
- /**
42
- * Remove context7 tag from SKILL.md file
43
- */
44
- export declare function removeContext7TagFromFile(filePath: string, projectId: string): void;
45
- //# 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,CAAC,EAAE,MAAM,CAAA;IAChB,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,CAkC9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GAAG,iBAAiB,EAC1C,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CA0DR;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,EACX,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAInF"}
@@ -1,173 +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 baseDir="...">...</user-skills>
12
- const userSkillsRegex = /<user-skills(?:\s+baseDir="([^"]+)")?>(\s[\s\S]*?)<\/user-skills>/g;
13
- let match;
14
- while ((match = userSkillsRegex.exec(content)) !== null) {
15
- tags.push({
16
- tagName: 'user-skills',
17
- baseDir: match[1] || 'assets/references/user', // Default baseDir
18
- content: match[2].trim(),
19
- startIndex: match.index,
20
- endIndex: match.index + match[0].length,
21
- });
22
- }
23
- // Match <context7-skills id="xxx" baseDir="...">...</context7-skills>
24
- const context7Regex = /<context7-skills\s+id="([^"]+)"(?:\s+baseDir="([^"]+)")?>(\s[\s\S]*?)<\/context7-skills>/g;
25
- while ((match = context7Regex.exec(content)) !== null) {
26
- const projectId = match[1];
27
- tags.push({
28
- tagName: 'context7-skills',
29
- id: projectId,
30
- baseDir: match[2] || `assets/references/context7/${projectId}`, // Default baseDir with project ID
31
- content: match[3].trim(),
32
- startIndex: match.index,
33
- endIndex: match.index + match[0].length,
34
- });
35
- }
36
- return tags.sort((a, b) => a.startIndex - b.startIndex);
37
- }
38
- /**
39
- * Update or create a tag in SKILL.md content
40
- */
41
- export function updateSkillMdTag(content, tagName, newContent, id, baseDir) {
42
- const tags = parseSkillMdTags(content);
43
- // Find existing tag
44
- const existingTag = tags.find((t) => t.tagName === tagName && (tagName === 'user-skills' || t.id === id));
45
- if (existingTag) {
46
- // Replace existing tag content, preserving or updating baseDir
47
- const finalBaseDir = baseDir || existingTag.baseDir;
48
- let tagStart;
49
- if (tagName === 'user-skills') {
50
- tagStart = finalBaseDir ? `<user-skills baseDir="${finalBaseDir}">` : `<user-skills>`;
51
- }
52
- else {
53
- tagStart = finalBaseDir
54
- ? `<context7-skills id="${id}" baseDir="${finalBaseDir}">`
55
- : `<context7-skills id="${id}">`;
56
- }
57
- const tagEnd = `</${tagName}>`;
58
- const newTag = `${tagStart}\n${newContent}\n${tagEnd}`;
59
- return content.slice(0, existingTag.startIndex) + newTag + content.slice(existingTag.endIndex);
60
- }
61
- else if (tagName === 'context7-skills' && id) {
62
- // Add new context7-skills tag
63
- // Find the Context7 Documentation section
64
- const context7SectionRegex = /## Context7 Documentation[\s\S]*?(?=\n##|$)/;
65
- const sectionMatch = content.match(context7SectionRegex);
66
- if (sectionMatch) {
67
- const sectionStart = content.indexOf(sectionMatch[0]);
68
- const sectionEnd = sectionStart + sectionMatch[0].length;
69
- // Find the end of existing context7-skills tags
70
- const existingContext7Tags = tags.filter((t) => t.tagName === 'context7-skills');
71
- let insertPosition = sectionEnd;
72
- if (existingContext7Tags.length > 0) {
73
- const lastTag = existingContext7Tags[existingContext7Tags.length - 1];
74
- insertPosition = lastTag.endIndex;
75
- }
76
- else {
77
- // Insert after the section header and comment
78
- const headerEnd = content.indexOf('\n', sectionStart + sectionMatch[0].indexOf('\n'));
79
- const commentEnd = content.indexOf('-->', headerEnd);
80
- insertPosition = commentEnd > headerEnd ? commentEnd + 3 : headerEnd;
81
- }
82
- const finalBaseDir = baseDir || `assets/references/context7/${id}`;
83
- const tagStart = finalBaseDir
84
- ? `<context7-skills id="${id}" baseDir="${finalBaseDir}">`
85
- : `<context7-skills id="${id}">`;
86
- const newTag = `\n\n${tagStart}\n${newContent}\n</context7-skills>`;
87
- return content.slice(0, insertPosition) + newTag + content.slice(insertPosition);
88
- }
89
- }
90
- return content;
91
- }
92
- /**
93
- * Remove a context7-skills tag from SKILL.md
94
- */
95
- export function removeContext7Tag(content, projectId) {
96
- const tags = parseSkillMdTags(content);
97
- const tagToRemove = tags.find((t) => t.tagName === 'context7-skills' && t.id === projectId);
98
- if (!tagToRemove) {
99
- return content;
100
- }
101
- // Remove the tag and any surrounding whitespace
102
- let startIndex = tagToRemove.startIndex;
103
- let endIndex = tagToRemove.endIndex;
104
- // Remove leading newlines
105
- while (startIndex > 0 && content[startIndex - 1] === '\n') {
106
- startIndex--;
107
- if (startIndex > 0 && content[startIndex - 1] === '\n')
108
- break; // Keep one newline
109
- }
110
- // Remove trailing newlines
111
- while (endIndex < content.length && content[endIndex] === '\n') {
112
- endIndex++;
113
- }
114
- return content.slice(0, startIndex) + content.slice(endIndex);
115
- }
116
- /**
117
- * Get all context7 project IDs from SKILL.md
118
- */
119
- export function getContext7ProjectIds(content) {
120
- const tags = parseSkillMdTags(content);
121
- return tags.filter((t) => t.tagName === 'context7-skills' && t.id).map((t) => t.id);
122
- }
123
- /**
124
- * Get user skills files from SKILL.md
125
- */
126
- export function getUserSkillsFiles(content) {
127
- const tags = parseSkillMdTags(content);
128
- const userSkillsTag = tags.find((t) => t.tagName === 'user-skills');
129
- if (!userSkillsTag || !userSkillsTag.content) {
130
- return [];
131
- }
132
- // Parse markdown list items
133
- return userSkillsTag.content
134
- .split('\n')
135
- .map((line) => line.trim())
136
- .filter((line) => line.startsWith('-'))
137
- .map((line) => line.slice(1).trim())
138
- .filter(Boolean);
139
- }
140
- /**
141
- * Get context7 files for a specific project from SKILL.md
142
- */
143
- export function getContext7Files(content, projectId) {
144
- const tags = parseSkillMdTags(content);
145
- const projectTag = tags.find((t) => t.tagName === 'context7-skills' && t.id === projectId);
146
- if (!projectTag || !projectTag.content) {
147
- return [];
148
- }
149
- // Parse markdown list items
150
- return projectTag.content
151
- .split('\n')
152
- .map((line) => line.trim())
153
- .filter((line) => line.startsWith('-'))
154
- .map((line) => line.slice(1).trim())
155
- .filter(Boolean);
156
- }
157
- /**
158
- * Update SKILL.md file with new tag content
159
- */
160
- export function updateSkillMdFile(filePath, tagName, newContent, id, baseDir) {
161
- const content = readFileSync(filePath, 'utf-8');
162
- const updated = updateSkillMdTag(content, tagName, newContent, id, baseDir);
163
- writeFileSync(filePath, updated, 'utf-8');
164
- }
165
- /**
166
- * Remove context7 tag from SKILL.md file
167
- */
168
- export function removeContext7TagFromFile(filePath, projectId) {
169
- const content = readFileSync(filePath, 'utf-8');
170
- const updated = removeContext7Tag(content, projectId);
171
- writeFileSync(filePath, updated, 'utf-8');
172
- }
173
- //# 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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"}