@a16njs/plugin-cursor 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EAQrB,MAAM,gBAAgB,CAAC;AAqQxB;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA+BrE"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EAQrB,MAAM,gBAAgB,CAAC;AAybxB;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAoCrE"}
package/dist/discover.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as fs from 'fs/promises';
2
- import * as path from 'path';
2
+ import * as nodePath from 'path';
3
3
  import { CustomizationType, WarningCode, createId, } from '@a16njs/models';
4
4
  import { parseMdc } from './mdc.js';
5
5
  /**
@@ -12,7 +12,7 @@ import { parseMdc } from './mdc.js';
12
12
  async function findMdcFiles(rulesDir, relativePath = '') {
13
13
  const results = [];
14
14
  try {
15
- const entries = await fs.readdir(path.join(rulesDir, relativePath), { withFileTypes: true });
15
+ const entries = await fs.readdir(nodePath.join(rulesDir, relativePath), { withFileTypes: true });
16
16
  for (const entry of entries) {
17
17
  const entryRelativePath = relativePath ? `${relativePath}/${entry.name}` : entry.name;
18
18
  if (entry.isFile() && entry.name.endsWith('.mdc')) {
@@ -47,7 +47,7 @@ function parseGlobs(globsString) {
47
47
  * 1. alwaysApply: true → GlobalPrompt
48
48
  * 2. globs: present → FileRule
49
49
  * 3. description: present → AgentSkill
50
- * 4. None of above → GlobalPrompt (fallback)
50
+ * 4. None of above → ManualPrompt (agent-requestable, invoked via slash command)
51
51
  */
52
52
  function classifyRule(frontmatter, body, sourcePath) {
53
53
  // Priority 1: alwaysApply: true → GlobalPrompt
@@ -87,12 +87,15 @@ function classifyRule(frontmatter, body, sourcePath) {
87
87
  metadata: { ...frontmatter },
88
88
  };
89
89
  }
90
- // Priority 4: FallbackGlobalPrompt
90
+ // Priority 4: No activation criteria ManualPrompt (Phase 7)
91
+ // Rules without alwaysApply: true, globs, or description are agent-requestable
92
+ const promptName = nodePath.basename(sourcePath, nodePath.extname(sourcePath));
91
93
  return {
92
- id: createId(CustomizationType.GlobalPrompt, sourcePath),
93
- type: CustomizationType.GlobalPrompt,
94
+ id: createId(CustomizationType.ManualPrompt, sourcePath),
95
+ type: CustomizationType.ManualPrompt,
94
96
  sourcePath,
95
97
  content: body,
98
+ promptName,
96
99
  metadata: { ...frontmatter },
97
100
  };
98
101
  }
@@ -136,7 +139,7 @@ function isComplexCommand(content) {
136
139
  async function findCommandFiles(commandsDir, relativePath = '') {
137
140
  const results = [];
138
141
  try {
139
- const entries = await fs.readdir(path.join(commandsDir, relativePath), { withFileTypes: true });
142
+ const entries = await fs.readdir(nodePath.join(commandsDir, relativePath), { withFileTypes: true });
140
143
  for (const entry of entries) {
141
144
  const entryRelativePath = relativePath ? `${relativePath}/${entry.name}` : entry.name;
142
145
  if (entry.isFile() && entry.name.endsWith('.md')) {
@@ -155,49 +158,192 @@ async function findCommandFiles(commandsDir, relativePath = '') {
155
158
  }
156
159
  /**
157
160
  * Discover commands from .cursor/commands/**\/*.md
158
- * - Simple commands → AgentCommand
161
+ * - Simple commands → ManualPrompt
159
162
  * - Complex commands → Skip with warning
160
163
  */
161
164
  async function discoverCommands(root) {
162
165
  const items = [];
163
166
  const warnings = [];
164
- const commandsDir = path.join(root, '.cursor', 'commands');
167
+ const commandsDir = nodePath.join(root, '.cursor', 'commands');
165
168
  const commandFiles = await findCommandFiles(commandsDir);
166
169
  for (const file of commandFiles) {
167
- const filePath = path.join(commandsDir, file);
170
+ const filePath = nodePath.join(commandsDir, file);
168
171
  const content = await fs.readFile(filePath, 'utf-8');
169
172
  const sourcePath = `.cursor/commands/${file}`;
170
173
  // Check for complex features
171
174
  const { isComplex, reasons } = isComplexCommand(content);
172
175
  if (isComplex) {
173
- // Extract command name for warning message
174
- const commandName = path.basename(file, '.md');
176
+ // Extract prompt name for warning message
177
+ const promptName = nodePath.basename(file, '.md');
175
178
  warnings.push({
176
179
  code: WarningCode.Skipped,
177
- message: `Skipped command '${commandName}': Contains ${reasons.join(', ')} (not convertible to Claude)`,
180
+ message: `Skipped command '${promptName}': Contains ${reasons.join(', ')} (not convertible to Claude)`,
178
181
  sources: [sourcePath],
179
182
  });
180
183
  continue;
181
184
  }
182
- // Simple command - create AgentCommand
183
- const commandName = path.basename(file, '.md');
185
+ // Simple command - create ManualPrompt
186
+ const promptName = nodePath.basename(file, '.md');
184
187
  items.push({
185
- id: createId(CustomizationType.AgentCommand, sourcePath),
186
- type: CustomizationType.AgentCommand,
188
+ id: createId(CustomizationType.ManualPrompt, sourcePath),
189
+ type: CustomizationType.ManualPrompt,
187
190
  sourcePath,
188
191
  content,
189
- commandName,
192
+ promptName,
190
193
  metadata: {},
191
194
  });
192
195
  }
193
196
  return { items, warnings };
194
197
  }
198
+ function parseSkillFrontmatter(content) {
199
+ const lines = content.split('\n');
200
+ let frontmatterStart = -1;
201
+ let frontmatterEnd = -1;
202
+ for (let i = 0; i < lines.length; i++) {
203
+ const line = lines[i]?.trim();
204
+ if (line === '---') {
205
+ if (frontmatterStart === -1) {
206
+ frontmatterStart = i;
207
+ }
208
+ else {
209
+ frontmatterEnd = i;
210
+ break;
211
+ }
212
+ }
213
+ }
214
+ // No frontmatter found
215
+ if (frontmatterStart === -1 || frontmatterEnd === -1) {
216
+ return {
217
+ frontmatter: {},
218
+ body: content.trim(),
219
+ };
220
+ }
221
+ const frontmatter = {};
222
+ // Parse frontmatter lines
223
+ for (let i = frontmatterStart + 1; i < frontmatterEnd; i++) {
224
+ const line = lines[i];
225
+ if (!line)
226
+ continue;
227
+ // Parse disable-model-invocation: true
228
+ const disableMatch = line.match(/^disable-model-invocation:\s*(true|false)\s*$/);
229
+ if (disableMatch) {
230
+ frontmatter.disableModelInvocation = disableMatch[1] === 'true';
231
+ continue;
232
+ }
233
+ // Parse description: "..."
234
+ const descriptionMatch = line.match(/^description:\s*["']?(.+?)["']?\s*$/);
235
+ if (descriptionMatch) {
236
+ frontmatter.description = descriptionMatch[1];
237
+ continue;
238
+ }
239
+ // Parse name: "..."
240
+ const nameMatch = line.match(/^name:\s*["']?(.+?)["']?\s*$/);
241
+ if (nameMatch) {
242
+ frontmatter.name = nameMatch[1];
243
+ continue;
244
+ }
245
+ }
246
+ // Extract body (everything after second ---)
247
+ const bodyLines = lines.slice(frontmatterEnd + 1);
248
+ const body = bodyLines.join('\n').trim();
249
+ return { frontmatter, body };
250
+ }
251
+ /**
252
+ * Find all SKILL.md files in .cursor/skills/ subdirectories.
253
+ * Returns paths like ".cursor/skills/deploy/SKILL.md"
254
+ */
255
+ async function findSkillFiles(root) {
256
+ const results = [];
257
+ const skillsDir = nodePath.join(root, '.cursor', 'skills');
258
+ try {
259
+ const entries = await fs.readdir(skillsDir, { withFileTypes: true });
260
+ for (const entry of entries) {
261
+ if (entry.isDirectory()) {
262
+ const skillFile = nodePath.join(skillsDir, entry.name, 'SKILL.md');
263
+ try {
264
+ await fs.access(skillFile);
265
+ results.push(`.cursor/skills/${entry.name}/SKILL.md`);
266
+ }
267
+ catch {
268
+ // No SKILL.md in this directory
269
+ }
270
+ }
271
+ }
272
+ }
273
+ catch {
274
+ // .cursor/skills doesn't exist
275
+ }
276
+ return results;
277
+ }
278
+ /**
279
+ * Discover skills from .cursor/skills/*\/SKILL.md
280
+ * - Skills with description -> AgentSkill
281
+ * - Skills with disable-model-invocation: true -> ManualPrompt
282
+ * - Skills without either -> Skip with warning
283
+ */
284
+ async function discoverSkills(root) {
285
+ const items = [];
286
+ const warnings = [];
287
+ const skillFiles = await findSkillFiles(root);
288
+ for (const skillPath of skillFiles) {
289
+ const fullPath = nodePath.join(root, skillPath);
290
+ try {
291
+ const content = await fs.readFile(fullPath, 'utf-8');
292
+ const { frontmatter, body } = parseSkillFrontmatter(content);
293
+ // Extract skill name from path or frontmatter
294
+ const dirName = skillPath.split('/')[2] || 'unknown';
295
+ const skillName = frontmatter.name || dirName;
296
+ // Classification priority:
297
+ // 1. disable-model-invocation: true → ManualPrompt
298
+ // 2. description present → AgentSkill
299
+ // 3. Neither → Skip with warning
300
+ if (frontmatter.disableModelInvocation === true) {
301
+ // ManualPrompt
302
+ items.push({
303
+ id: createId(CustomizationType.ManualPrompt, skillPath),
304
+ type: CustomizationType.ManualPrompt,
305
+ sourcePath: skillPath,
306
+ content: body,
307
+ promptName: skillName,
308
+ metadata: { name: frontmatter.name },
309
+ });
310
+ }
311
+ else if (frontmatter.description) {
312
+ // AgentSkill
313
+ items.push({
314
+ id: createId(CustomizationType.AgentSkill, skillPath),
315
+ type: CustomizationType.AgentSkill,
316
+ sourcePath: skillPath,
317
+ content: body,
318
+ description: frontmatter.description,
319
+ metadata: { name: frontmatter.name },
320
+ });
321
+ }
322
+ else {
323
+ // Skip with warning
324
+ warnings.push({
325
+ code: WarningCode.Skipped,
326
+ message: `Skipped skill '${skillName}': Missing description or disable-model-invocation (not convertible)`,
327
+ sources: [skillPath],
328
+ });
329
+ }
330
+ }
331
+ catch (error) {
332
+ warnings.push({
333
+ code: WarningCode.Skipped,
334
+ message: `Could not read ${skillPath}: ${error.message}`,
335
+ sources: [skillPath],
336
+ });
337
+ }
338
+ }
339
+ return { items, warnings };
340
+ }
195
341
  /**
196
342
  * Discover .cursorignore file and parse its patterns.
197
343
  * Returns null if file doesn't exist or has no valid patterns.
198
344
  */
199
345
  async function discoverCursorIgnore(root) {
200
- const ignorePath = path.join(root, '.cursorignore');
346
+ const ignorePath = nodePath.join(root, '.cursorignore');
201
347
  try {
202
348
  const content = await fs.readFile(ignorePath, 'utf-8');
203
349
  const patterns = content
@@ -236,10 +382,10 @@ export async function discover(root) {
236
382
  const items = [];
237
383
  const warnings = [];
238
384
  // Find .cursor/rules/*.mdc files
239
- const rulesDir = path.join(root, '.cursor', 'rules');
385
+ const rulesDir = nodePath.join(root, '.cursor', 'rules');
240
386
  const mdcFiles = await findMdcFiles(rulesDir);
241
387
  for (const file of mdcFiles) {
242
- const filePath = path.join(rulesDir, file);
388
+ const filePath = nodePath.join(rulesDir, file);
243
389
  const content = await fs.readFile(filePath, 'utf-8');
244
390
  const { frontmatter, body } = parseMdc(content);
245
391
  // Classify and add all rules (Phase 2: supports GlobalPrompt, FileRule, AgentSkill)
@@ -251,6 +397,10 @@ export async function discover(root) {
251
397
  const commandResult = await discoverCommands(root);
252
398
  items.push(...commandResult.items);
253
399
  warnings.push(...commandResult.warnings);
400
+ // Discover skills from .cursor/skills/ (Phase 7)
401
+ const skillResult = await discoverSkills(root);
402
+ items.push(...skillResult.items);
403
+ warnings.push(...skillResult.warnings);
254
404
  // Discover .cursorignore (Phase 3)
255
405
  const agentIgnore = await discoverCursorIgnore(root);
256
406
  if (agentIgnore) {
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,MAAM,CAAC;AACjC,OAAO,EASL,iBAAiB,EACjB,WAAW,EACX,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAuB,MAAM,UAAU,CAAC;AAEzD;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,eAAuB,EAAE;IACrE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAEtF,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,8BAA8B;gBAC9B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,WAAmB;IACrC,OAAO,WAAW;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CACnB,WAA2B,EAC3B,IAAY,EACZ,UAAkB;IAElB,+CAA+C;IAC/C,IAAI,WAAW,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;YACxD,IAAI,EAAE,iBAAiB,CAAC,YAAY;YACpC,UAAU;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE;SACb,CAAC;IACpB,CAAC;IAED,qDAAqD;IACrD,oFAAoF;IACpF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACpD,IAAI,EAAE,iBAAiB,CAAC,QAAQ;gBAChC,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE;aACjB,CAAC;QAChB,CAAC;QACD,gEAAgE;IAClE,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC;YACtD,IAAI,EAAE,iBAAiB,CAAC,UAAU;YAClC,UAAU;YACV,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE;SACf,CAAC;IAClB,CAAC;IAED,8DAA8D;IAC9D,+EAA+E;IAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/E,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;QACxD,IAAI,EAAE,iBAAiB,CAAC,YAAY;QACpC,UAAU;QACV,OAAO,EAAE,IAAI;QACb,UAAU;QACV,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE;KACb,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG;IAC/B,4DAA4D;IAC5D,SAAS,EAAE,qBAAqB;IAChC,wCAAwC;IACxC,aAAa,EAAE,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,MAAM;IAChB,wCAAwC;IACxC,YAAY,EAAE,6BAA6B;CAC5C,CAAC;AAEF;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,wBAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,wBAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,eAAuB,EAAE;IAC5E,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAEtF,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAI1C,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEzD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,oBAAoB,IAAI,EAAE,CAAC;QAE9C,6BAA6B;QAC7B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,SAAS,EAAE,CAAC;YACd,0CAA0C;YAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW,CAAC,OAAO;gBACzB,OAAO,EAAE,oBAAoB,UAAU,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;gBACtG,OAAO,EAAE,CAAC,UAAU,CAAC;aACtB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,uCAAuC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;YACxD,IAAI,EAAE,iBAAiB,CAAC,YAAY;YACpC,UAAU;YACV,OAAO;YACP,UAAU;YACV,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAiBD,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5B,gBAAgB,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,gBAAgB,KAAK,CAAC,CAAC,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAqB,EAAE,CAAC;IAEzC,0BAA0B;IAC1B,KAAK,IAAI,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,sBAAsB,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;YAChE,SAAS;QACX,CAAC;QAED,2BAA2B;QAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3E,IAAI,gBAAgB,EAAE,CAAC;YACrB,WAAW,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnE,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAAC,IAAY;IAIxC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAE7D,8CAA8C;YAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACrD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC;YAE9C,2BAA2B;YAC3B,mDAAmD;YACnD,sCAAsC;YACtC,iCAAiC;YAEjC,IAAI,WAAW,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;gBAChD,eAAe;gBACf,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC;oBACvD,IAAI,EAAE,iBAAiB,CAAC,YAAY;oBACpC,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,SAAS;oBACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;iBACrB,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBACnC,aAAa;gBACb,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACrD,IAAI,EAAE,iBAAiB,CAAC,UAAU;oBAClC,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;iBACvB,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW,CAAC,OAAO;oBACzB,OAAO,EAAE,kBAAkB,SAAS,sEAAsE;oBAC1G,OAAO,EAAE,CAAC,SAAS,CAAC;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW,CAAC,OAAO;gBACzB,OAAO,EAAE,kBAAkB,SAAS,KAAM,KAAe,CAAC,OAAO,EAAE;gBACnE,OAAO,EAAE,CAAC,SAAS,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CAAC,IAAY;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO;aACrB,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,yCAAyC;YACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,kBAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvC,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC;YAC5D,IAAI,EAAE,iBAAiB,CAAC,WAAW;YACnC,UAAU,EAAE,eAAe;YAC3B,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,iCAAiC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhD,oFAAoF;QACpF,MAAM,UAAU,GAAG,iBAAiB,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEzC,iDAAiD;IACjD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,mCAAmC;IACnC,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,WAAW,EAYjB,MAAM,gBAAgB,CAAC;AAsGxB;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAqPrB"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,WAAW,EAYjB,MAAM,gBAAgB,CAAC;AA4IxB;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CA4PrB"}
package/dist/emit.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as fs from 'fs/promises';
2
2
  import * as path from 'path';
3
- import { CustomizationType, WarningCode, isGlobalPrompt, isFileRule, isAgentSkill, isAgentIgnore, isAgentCommand, } from '@a16njs/models';
3
+ import { CustomizationType, WarningCode, isGlobalPrompt, isFileRule, isAgentSkill, isAgentIgnore, isManualPrompt, } from '@a16njs/models';
4
4
  /**
5
5
  * Sanitize a filename to be safe for the filesystem.
6
6
  * Converts to lowercase, replaces spaces and special chars with hyphens.
@@ -20,12 +20,12 @@ function sanitizeFilename(sourcePath) {
20
20
  return sanitized || 'rule';
21
21
  }
22
22
  /**
23
- * Sanitize a command name to prevent path traversal and ensure filesystem safety.
23
+ * Sanitize a prompt name to prevent path traversal and ensure filesystem safety.
24
24
  * Returns a safe string with only alphanumeric characters and hyphens.
25
25
  */
26
- function sanitizeCommandName(commandName) {
26
+ function sanitizePromptName(promptName) {
27
27
  // Remove any path separators and normalize
28
- const sanitized = commandName
28
+ const sanitized = promptName
29
29
  .toLowerCase()
30
30
  .replace(/[/\\]/g, '-') // Replace path separators with hyphens
31
31
  .replace(/[^a-z0-9]+/g, '-') // Replace other unsafe chars with hyphens
@@ -76,6 +76,7 @@ ${content}
76
76
  }
77
77
  /**
78
78
  * Format content as MDC with AgentSkill frontmatter (description).
79
+ * Used for legacy .cursor/rules/*.mdc emission.
79
80
  */
80
81
  function formatAgentSkillMdc(content, description) {
81
82
  // Quote description if it contains special YAML characters
@@ -88,6 +89,39 @@ description: ${quotedDesc}
88
89
  ${content}
89
90
  `;
90
91
  }
92
+ /**
93
+ * Format AgentSkill as a SKILL.md file.
94
+ * Used for .cursor/skills/ emission (Phase 7).
95
+ */
96
+ function formatAgentSkillMd(skill) {
97
+ const skillName = skill.metadata?.name || sanitizeFilename(skill.sourcePath);
98
+ const safeName = JSON.stringify(skillName);
99
+ const safeDescription = JSON.stringify(skill.description);
100
+ return `---
101
+ name: ${safeName}
102
+ description: ${safeDescription}
103
+ ---
104
+
105
+ ${skill.content}
106
+ `;
107
+ }
108
+ /**
109
+ * Format ManualPrompt as a SKILL.md file with disable-model-invocation.
110
+ * Used for .cursor/skills/ emission (Phase 7).
111
+ */
112
+ function formatManualPromptSkillMd(prompt) {
113
+ const safeName = JSON.stringify(prompt.promptName);
114
+ const description = `Invoke with /${prompt.promptName}`;
115
+ const safeDescription = JSON.stringify(description);
116
+ return `---
117
+ name: ${safeName}
118
+ description: ${safeDescription}
119
+ disable-model-invocation: true
120
+ ---
121
+
122
+ ${prompt.content}
123
+ `;
124
+ }
91
125
  /**
92
126
  * Emit agent customizations to Cursor format.
93
127
  * - GlobalPrompt → .mdc with alwaysApply: true
@@ -105,25 +139,30 @@ export async function emit(models, root, options) {
105
139
  const fileRules = models.filter(isFileRule);
106
140
  const agentSkills = models.filter(isAgentSkill);
107
141
  const agentIgnores = models.filter(isAgentIgnore);
108
- const agentCommands = models.filter(isAgentCommand);
142
+ const manualPrompts = models.filter(isManualPrompt);
109
143
  // Track unsupported types (future types)
110
144
  for (const model of models) {
111
- if (!isGlobalPrompt(model) && !isFileRule(model) && !isAgentSkill(model) && !isAgentIgnore(model) && !isAgentCommand(model)) {
145
+ if (!isGlobalPrompt(model) && !isFileRule(model) && !isAgentSkill(model) && !isAgentIgnore(model) && !isManualPrompt(model)) {
112
146
  unsupported.push(model);
113
147
  }
114
148
  }
115
- const allItems = [...globalPrompts, ...fileRules, ...agentSkills];
116
- // Early return only if no items at all (including agentIgnores and agentCommands)
117
- if (allItems.length === 0 && agentIgnores.length === 0 && agentCommands.length === 0) {
149
+ // Items that go to .cursor/rules/*.mdc
150
+ const mdcItems = [...globalPrompts, ...fileRules];
151
+ // Items that go to .cursor/skills/*/SKILL.md (Phase 7)
152
+ const skillItems = [...agentSkills, ...manualPrompts];
153
+ // Early return only if no items at all (including agentIgnores)
154
+ if (mdcItems.length === 0 && skillItems.length === 0 && agentIgnores.length === 0) {
118
155
  return { written, warnings, unsupported };
119
156
  }
120
157
  // Track sources that had collisions for warning
121
158
  const collisionSources = [];
122
159
  // Ensure .cursor/rules directory exists (only if we have mdc items, skip in dry-run)
123
160
  const rulesDir = path.join(root, '.cursor', 'rules');
124
- if (allItems.length > 0 && !dryRun) {
161
+ if (mdcItems.length > 0 && !dryRun) {
125
162
  await fs.mkdir(rulesDir, { recursive: true });
126
163
  }
164
+ // Track used skill names for .cursor/skills/ collision detection
165
+ const usedSkillNames = new Set();
127
166
  // Emit each GlobalPrompt as a separate .mdc file
128
167
  for (const gp of globalPrompts) {
129
168
  const baseName = sanitizeFilename(gp.sourcePath) + '.mdc';
@@ -182,15 +221,28 @@ export async function emit(models, root, options) {
182
221
  sourceItems: [fr],
183
222
  });
184
223
  }
185
- // Emit each AgentSkill as a separate .mdc file with description
224
+ // === Emit AgentSkills as .cursor/skills/*/SKILL.md (Phase 7) ===
186
225
  for (const skill of agentSkills) {
187
- const baseName = sanitizeFilename(skill.sourcePath) + '.mdc';
188
- const { filename, collision } = getUniqueFilename(baseName, usedFilenames);
189
- if (collision) {
226
+ // Get skill name from metadata or sourcePath
227
+ const skillName = skill.metadata?.name || sanitizeFilename(skill.sourcePath);
228
+ const baseName = sanitizePromptName(skillName);
229
+ // Get unique name to avoid collisions
230
+ let dirName = baseName;
231
+ if (usedSkillNames.has(dirName)) {
190
232
  collisionSources.push(skill.sourcePath);
233
+ let counter = 1;
234
+ while (usedSkillNames.has(`${baseName}-${counter}`)) {
235
+ counter++;
236
+ }
237
+ dirName = `${baseName}-${counter}`;
191
238
  }
192
- const filepath = path.join(rulesDir, filename);
193
- const content = formatAgentSkillMdc(skill.content, skill.description);
239
+ usedSkillNames.add(dirName);
240
+ const skillDir = path.join(root, '.cursor', 'skills', dirName);
241
+ if (!dryRun) {
242
+ await fs.mkdir(skillDir, { recursive: true });
243
+ }
244
+ const filepath = path.join(skillDir, 'SKILL.md');
245
+ const content = formatAgentSkillMd(skill);
194
246
  // Check if file exists before writing
195
247
  let isNewFile = true;
196
248
  try {
@@ -251,58 +303,46 @@ export async function emit(models, root, options) {
251
303
  });
252
304
  }
253
305
  }
254
- // === Emit AgentCommands as .cursor/commands/*.md ===
255
- if (agentCommands.length > 0) {
256
- const commandsDir = path.join(root, '.cursor', 'commands');
306
+ // === Emit ManualPrompts as .cursor/skills/*/SKILL.md (Phase 7) ===
307
+ for (const prompt of manualPrompts) {
308
+ // Sanitize prompt name to prevent path traversal
309
+ const baseName = sanitizePromptName(prompt.promptName);
310
+ // Get unique name to avoid collisions (shared with AgentSkills)
311
+ let dirName = baseName;
312
+ if (usedSkillNames.has(dirName)) {
313
+ collisionSources.push(prompt.sourcePath);
314
+ let counter = 1;
315
+ while (usedSkillNames.has(`${baseName}-${counter}`)) {
316
+ counter++;
317
+ }
318
+ dirName = `${baseName}-${counter}`;
319
+ }
320
+ usedSkillNames.add(dirName);
321
+ const skillDir = path.join(root, '.cursor', 'skills', dirName);
257
322
  if (!dryRun) {
258
- await fs.mkdir(commandsDir, { recursive: true });
323
+ await fs.mkdir(skillDir, { recursive: true });
259
324
  }
260
- const usedCommandNames = new Set();
261
- const commandCollisionSources = [];
262
- for (const command of agentCommands) {
263
- // Sanitize command name to prevent path traversal
264
- const baseName = sanitizeCommandName(command.commandName);
265
- // Get unique filename to avoid collisions
266
- let filename = `${baseName}.md`;
267
- if (usedCommandNames.has(filename)) {
268
- // Collision detected - track for warning
269
- commandCollisionSources.push(command.sourcePath);
270
- let counter = 2;
271
- while (usedCommandNames.has(`${baseName}-${counter}.md`)) {
272
- counter++;
273
- }
274
- filename = `${baseName}-${counter}.md`;
275
- }
276
- usedCommandNames.add(filename);
277
- const commandPath = path.join(commandsDir, filename);
278
- // Check if file exists before writing
279
- let isNewFile = true;
280
- try {
281
- await fs.access(commandPath);
282
- isNewFile = false; // File exists
283
- }
284
- catch {
285
- isNewFile = true; // File does not exist
286
- }
287
- if (!dryRun) {
288
- await fs.writeFile(commandPath, command.content, 'utf-8');
289
- }
290
- written.push({
291
- path: commandPath,
292
- type: CustomizationType.AgentCommand,
293
- itemCount: 1,
294
- isNewFile,
295
- sourceItems: [command],
296
- });
325
+ const filepath = path.join(skillDir, 'SKILL.md');
326
+ const content = formatManualPromptSkillMd(prompt);
327
+ // Check if file exists before writing
328
+ let isNewFile = true;
329
+ try {
330
+ await fs.access(filepath);
331
+ isNewFile = false; // File exists
297
332
  }
298
- // Emit warning if any command collisions occurred
299
- if (commandCollisionSources.length > 0) {
300
- warnings.push({
301
- code: WarningCode.FileRenamed,
302
- message: `Command filename collision: ${commandCollisionSources.length} file(s) renamed to avoid overwrite`,
303
- sources: commandCollisionSources,
304
- });
333
+ catch {
334
+ isNewFile = true; // File does not exist
335
+ }
336
+ if (!dryRun) {
337
+ await fs.writeFile(filepath, content, 'utf-8');
305
338
  }
339
+ written.push({
340
+ path: filepath,
341
+ type: CustomizationType.ManualPrompt,
342
+ itemCount: 1,
343
+ isNewFile,
344
+ sourceItems: [prompt],
345
+ });
306
346
  }
307
347
  return { written, warnings, unsupported };
308
348
  }
package/dist/emit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAIpE;;;GAGG;AACH,QAAA,MAAM,YAAY,EAAE,UAWnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAIpE;;;GAGG;AACH,QAAA,MAAM,YAAY,EAAE,UAYnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ const cursorPlugin = {
12
12
  CustomizationType.GlobalPrompt,
13
13
  CustomizationType.FileRule,
14
14
  CustomizationType.AgentSkill,
15
+ CustomizationType.ManualPrompt,
15
16
  ],
16
17
  discover,
17
18
  emit,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;GAGG;AACH,MAAM,YAAY,GAAe;IAC/B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE;QACR,iBAAiB,CAAC,YAAY;QAC9B,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,UAAU;KAC7B;IAED,QAAQ;IACR,IAAI;CACL,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;GAGG;AACH,MAAM,YAAY,GAAe;IAC/B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE;QACR,iBAAiB,CAAC,YAAY;QAC9B,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,UAAU;QAC5B,iBAAiB,CAAC,YAAY;KAC/B;IAED,QAAQ;IACR,IAAI;CACL,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a16njs/plugin-cursor",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Cursor IDE plugin for a16n",
5
5
  "license": "AGPL-3.0",
6
6
  "author": "Texarkanine",
@@ -33,7 +33,7 @@
33
33
  "dist"
34
34
  ],
35
35
  "dependencies": {
36
- "@a16njs/models": "0.2.0"
36
+ "@a16njs/models": "0.3.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^20.0.0",