prpm 0.1.0 → 0.1.2

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.
@@ -288,10 +288,14 @@ async function handleInstall(packageSpec, options) {
288
288
  const fileExtension = (effectiveFormat === 'cursor' && format === 'cursor') ? 'mdc' : 'md';
289
289
  const packageName = (0, filesystem_1.stripAuthorNamespace)(packageId);
290
290
  // For Claude skills, use SKILL.md filename in the package directory
291
+ // For agents.md, use package-name/AGENTS.md directory structure
291
292
  // For other formats, use package name as filename
292
293
  if (effectiveFormat === 'claude' && effectiveSubtype === 'skill') {
293
294
  destPath = `${destDir}/SKILL.md`;
294
295
  }
296
+ else if (effectiveFormat === 'agents.md') {
297
+ destPath = `${destDir}/${packageName}/AGENTS.md`;
298
+ }
295
299
  else {
296
300
  destPath = `${destDir}/${packageName}.${fileExtension}`;
297
301
  }
@@ -102,6 +102,10 @@ async function findAndLoadManifests() {
102
102
  });
103
103
  return { manifests: validatedManifests, collections, source: 'prpm.json (multi-package)' };
104
104
  }
105
+ // Collections-only manifest (no packages)
106
+ if (collections.length > 0) {
107
+ return { manifests: [], collections, source: 'prpm.json (collections-only)' };
108
+ }
105
109
  // Single package manifest
106
110
  const validated = validateManifest(manifest);
107
111
  return { manifests: [validated], collections, source: 'prpm.json' };
@@ -387,9 +391,11 @@ async function handlePublish(options) {
387
391
  throw new Error('Cannot publish packages with duplicate names');
388
392
  }
389
393
  }
390
- // Track published packages
394
+ // Track published packages and collections
391
395
  const publishedPackages = [];
392
396
  const failedPackages = [];
397
+ const publishedCollections = [];
398
+ const failedCollections = [];
393
399
  // Publish each manifest (filtered set)
394
400
  for (let i = 0; i < filteredManifests.length; i++) {
395
401
  const manifest = filteredManifests[i];
@@ -563,9 +569,6 @@ async function handlePublish(options) {
563
569
  }
564
570
  console.log(` ✓ Found collection "${options.collection}"\n`);
565
571
  }
566
- // Track published collections
567
- const publishedCollections = [];
568
- const failedCollections = [];
569
572
  for (const collection of filteredCollections) {
570
573
  if (filteredCollections.length > 1) {
571
574
  console.log(`\n${'='.repeat(60)}`);
@@ -674,8 +677,9 @@ async function handlePublish(options) {
674
677
  }
675
678
  }
676
679
  }
677
- success = publishedPackages.length > 0;
678
- if (failedPackages.length > 0 && publishedPackages.length === 0) {
680
+ // Success if we published any packages OR collections
681
+ success = publishedPackages.length > 0 || publishedCollections.length > 0;
682
+ if (failedPackages.length > 0 && publishedPackages.length === 0 && publishedCollections.length === 0) {
679
683
  process.exit(1);
680
684
  }
681
685
  }
@@ -165,6 +165,10 @@ function getInstalledFilePath(packageName, format, subtype, fileName) {
165
165
  if (format === 'claude' && subtype === 'skill') {
166
166
  return path_1.default.join(destDir, 'SKILL.md');
167
167
  }
168
+ // agents.md uses package-name/AGENTS.md structure
169
+ if (format === 'agents.md') {
170
+ return path_1.default.join(destDir, packageBaseName, 'AGENTS.md');
171
+ }
168
172
  // Determine file extension
169
173
  const fileExtension = format === 'cursor' ? 'mdc' : 'md';
170
174
  // For other formats, use package name as filename
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prpm",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Prompt Package Manager CLI - Install and manage prompt-based files",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -45,8 +45,8 @@
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
47
  "@octokit/rest": "^22.0.0",
48
- "@pr-pm/registry-client": "^1.2.16",
49
- "@pr-pm/types": "^0.1.16",
48
+ "@pr-pm/registry-client": "^1.3.1",
49
+ "@pr-pm/types": "^0.2.1",
50
50
  "ajv": "^8.17.1",
51
51
  "ajv-formats": "^3.0.1",
52
52
  "commander": "^11.1.0",