claude-autopm 2.8.5 → 2.8.6
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/install/install.js
CHANGED
|
@@ -918,13 +918,34 @@ See: https://github.com/rafeekpro/ClaudeAutoPM
|
|
|
918
918
|
}
|
|
919
919
|
|
|
920
920
|
for (const command of metadata.commands) {
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
921
|
+
// Handle subdirectory collections with auto-discovery
|
|
922
|
+
if (command.subdirectory && command.discovery === 'auto') {
|
|
923
|
+
const commandsSourceDir = path.join(pluginPath, command.subdirectory);
|
|
924
|
+
|
|
925
|
+
if (fs.existsSync(commandsSourceDir)) {
|
|
926
|
+
// Auto-discover all .md files in subdirectory
|
|
927
|
+
const files = fs.readdirSync(commandsSourceDir);
|
|
928
|
+
for (const file of files) {
|
|
929
|
+
if (file.endsWith('.md')) {
|
|
930
|
+
const sourcePath = path.join(commandsSourceDir, file);
|
|
931
|
+
const targetPath = path.join(targetDir, file);
|
|
932
|
+
|
|
933
|
+
if (fs.existsSync(sourcePath) && !fs.existsSync(targetPath)) {
|
|
934
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
935
|
+
commandsInstalled++;
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
} else if (command.file) {
|
|
941
|
+
// Handle individual command files
|
|
942
|
+
const sourcePath = path.join(pluginPath, command.file);
|
|
943
|
+
const targetPath = path.join(targetDir, path.basename(command.file));
|
|
924
944
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
945
|
+
if (fs.existsSync(sourcePath) && !fs.existsSync(targetPath)) {
|
|
946
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
947
|
+
commandsInstalled++;
|
|
948
|
+
}
|
|
928
949
|
}
|
|
929
950
|
}
|
|
930
951
|
}
|
|
@@ -1020,9 +1041,11 @@ See: https://github.com/rafeekpro/ClaudeAutoPM
|
|
|
1020
1041
|
}
|
|
1021
1042
|
}
|
|
1022
1043
|
|
|
1044
|
+
const displayName = metadata.displayName || metadata.name || pluginName;
|
|
1045
|
+
|
|
1023
1046
|
installedPlugins.push({
|
|
1024
1047
|
name: pluginName,
|
|
1025
|
-
displayName:
|
|
1048
|
+
displayName: displayName,
|
|
1026
1049
|
agents: agentsInstalled,
|
|
1027
1050
|
commands: commandsInstalled,
|
|
1028
1051
|
rules: rulesInstalled
|
|
@@ -1033,7 +1056,7 @@ See: https://github.com/rafeekpro/ClaudeAutoPM
|
|
|
1033
1056
|
if (commandsInstalled > 0) summary.push(`${commandsInstalled} commands`);
|
|
1034
1057
|
if (rulesInstalled > 0) summary.push(`${rulesInstalled} rules`);
|
|
1035
1058
|
|
|
1036
|
-
this.printSuccess(`${
|
|
1059
|
+
this.printSuccess(`${displayName} installed (${summary.join(', ') || 'no resources'})`);
|
|
1037
1060
|
} catch (error) {
|
|
1038
1061
|
failedPlugins.push({ name: pluginName, error: error.message });
|
|
1039
1062
|
this.printWarning(`Failed to install ${pluginName}: ${error.message}`);
|
package/package.json
CHANGED