prpm 2.1.34 → 2.1.36

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.
@@ -96,7 +96,7 @@
96
96
  "supportsAgentsMd": true,
97
97
  "supportsSlashCommands": true,
98
98
  "markdownFallback": "opencode-agent.md",
99
- "notes": "OpenCode supports agents, skills, plugins, and slash commands. Skills use Agent Skills spec in .opencode/skill/${name}/SKILL.md. Plugins are JavaScript/TypeScript modules in .opencode/plugin with 40+ event hooks. Full agents.md support."
99
+ "notes": "OpenCode supports agents, skills, plugins, and slash commands. Skills use Agent Skills spec in .opencode/skills/${name}/SKILL.md. Plugins are JavaScript/TypeScript modules in .opencode/plugin with 40+ event hooks. Full agents.md support."
100
100
  },
101
101
  "ruler": {
102
102
  "name": "Ruler",
package/dist/index.js CHANGED
@@ -13708,7 +13708,7 @@ var init_format_registry = __esm({
13708
13708
  fileExtension: ".md"
13709
13709
  },
13710
13710
  skill: {
13711
- directory: ".opencode/skill",
13711
+ directory: ".opencode/skills",
13712
13712
  filePatterns: ["SKILL.md"],
13713
13713
  nested: true,
13714
13714
  nestedIndicator: "SKILL.md",
@@ -18360,6 +18360,7 @@ This could indicate:
18360
18360
  }
18361
18361
  }
18362
18362
  const fileExtension = (registryExtension == null ? void 0 : registryExtension.replace(/^\./, "")) || "md";
18363
+ const nestedIndicator = getNestedIndicator(effectiveFormat, effectiveSubtype);
18363
18364
  const packageName = stripAuthorNamespace2(packageId);
18364
18365
  if (effectiveFormat === "claude" && effectiveSubtype === "skill") {
18365
18366
  destPath = `${destDir}/SKILL.md`;
@@ -18425,6 +18426,8 @@ This could indicate:
18425
18426
  destPath = `${destDir}/SKILL.md`;
18426
18427
  } else if (effectiveFormat === "copilot" && effectiveSubtype === "skill") {
18427
18428
  destPath = `${destDir}/SKILL.md`;
18429
+ } else if (nestedIndicator) {
18430
+ destPath = `${destDir}/${nestedIndicator}`;
18428
18431
  } else {
18429
18432
  const nativeSubtypes2 = import_types.FORMAT_NATIVE_SUBTYPES[effectiveFormat];
18430
18433
  const needsProgressiveDisclosureHere = nativeSubtypes2 && !nativeSubtypes2.includes(effectiveSubtype) && (effectiveSubtype === "skill" || effectiveSubtype === "agent" || effectiveSubtype === "slash-command");
@@ -18544,7 +18547,9 @@ This could indicate:
18544
18547
  console.log(` \u{1F4C1} Installing Cursor package to custom location: ${destDir}`);
18545
18548
  }
18546
18549
  const isCursorConversion = effectiveFormat === "cursor" && pkg.format === "claude" && pkg.subtype === "skill";
18547
- const packageDir = effectiveFormat === "claude" && effectiveSubtype === "skill" ? destDir : isCursorConversion ? destDir : needsProgressiveDisclosureMulti ? destDir : `${destDir}/${packageName}`;
18550
+ const nativeSubtypeConfig = getSubtypeConfig(effectiveFormat, effectiveSubtype);
18551
+ const usesNativePackageSubdirectory = !needsProgressiveDisclosureMulti && Boolean(nativeSubtypeConfig == null ? void 0 : nativeSubtypeConfig.usesPackageSubdirectory);
18552
+ const packageDir = effectiveFormat === "claude" && effectiveSubtype === "skill" ? destDir : isCursorConversion ? destDir : needsProgressiveDisclosureMulti ? destDir : usesNativePackageSubdirectory ? destDir : `${destDir}/${packageName}`;
18548
18553
  destPath = packageDir;
18549
18554
  console.log(` \u{1F4C1} Multi-file package - creating directory: ${packageDir}`);
18550
18555
  if (effectiveFormat === "claude" && effectiveSubtype === "skill") {
@@ -18574,7 +18579,7 @@ This could indicate:
18574
18579
  for (const file of extractedFiles) {
18575
18580
  const pathParts = file.name.split("/");
18576
18581
  let relativeFileName = file.name;
18577
- const skillsDirIndex = pathParts.indexOf("skills");
18582
+ const skillsDirIndex = pathParts.findIndex((part) => part === "skills" || part === "skill");
18578
18583
  if (skillsDirIndex !== -1 && pathParts.length > skillsDirIndex + 2) {
18579
18584
  relativeFileName = pathParts.slice(skillsDirIndex + 2).join("/");
18580
18585
  } else if (pathParts.length > 1) {
@@ -24732,11 +24737,10 @@ async function handleUpdate(packageName, options = {}) {
24732
24737
  `
24733
24738
  \u{1F4E6} Updating ${packageId}: ${currentVersion} \u2192 ${latestVersion}`
24734
24739
  );
24735
- const installOptions = {};
24736
- if (installedFormat && installedFormat !== pkg.sourceFormat) {
24737
- installOptions.as = installedFormat;
24738
- }
24739
- await handleInstall(`${packageId}@${latestVersion}`, installOptions);
24740
+ const targetFormat = pkg.format || installedFormat;
24741
+ await handleInstall(`${packageId}@${latestVersion}`, {
24742
+ as: targetFormat
24743
+ });
24740
24744
  updatedCount++;
24741
24745
  } catch (err) {
24742
24746
  console.error(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prpm",
3
- "version": "2.1.34",
3
+ "version": "2.1.36",
4
4
  "description": "Prompt Package Manager CLI - Install and manage prompt-based files",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -45,9 +45,9 @@
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
47
  "@octokit/rest": "^22.0.0",
48
- "@pr-pm/converters": "^2.1.35",
49
- "@pr-pm/registry-client": "^2.3.34",
50
- "@pr-pm/types": "^2.1.35",
48
+ "@pr-pm/converters": "^2.1.37",
49
+ "@pr-pm/registry-client": "^2.3.36",
50
+ "@pr-pm/types": "^2.1.37",
51
51
  "ajv": "^8.17.1",
52
52
  "ajv-formats": "^3.0.1",
53
53
  "chalk": "^5.6.2",