opencode-swarm-plugin 0.12.22 → 0.12.23
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/bin/swarm.ts +55 -0
- package/package.json +1 -1
package/bin/swarm.ts
CHANGED
|
@@ -1106,6 +1106,7 @@ function config() {
|
|
|
1106
1106
|
const commandPath = join(configDir, "command", "swarm.md");
|
|
1107
1107
|
const plannerAgentPath = join(configDir, "agent", "swarm-planner.md");
|
|
1108
1108
|
const workerAgentPath = join(configDir, "agent", "swarm-worker.md");
|
|
1109
|
+
const globalSkillsPath = join(configDir, "skills");
|
|
1109
1110
|
|
|
1110
1111
|
console.log(yellow(BANNER));
|
|
1111
1112
|
console.log(dim(" " + TAGLINE + " v" + VERSION));
|
|
@@ -1129,6 +1130,60 @@ function config() {
|
|
|
1129
1130
|
console.log();
|
|
1130
1131
|
}
|
|
1131
1132
|
|
|
1133
|
+
// Skills section
|
|
1134
|
+
console.log(cyan("Skills:"));
|
|
1135
|
+
console.log();
|
|
1136
|
+
|
|
1137
|
+
// Global skills directory
|
|
1138
|
+
const globalSkillsExists = existsSync(globalSkillsPath);
|
|
1139
|
+
const globalStatus = globalSkillsExists ? "✓" : "✗";
|
|
1140
|
+
const globalColor = globalSkillsExists ? "\x1b[32m" : "\x1b[31m";
|
|
1141
|
+
console.log(` 📚 Global skills directory`);
|
|
1142
|
+
console.log(
|
|
1143
|
+
` ${globalColor}${globalStatus}\x1b[0m ${dim(globalSkillsPath)}`,
|
|
1144
|
+
);
|
|
1145
|
+
|
|
1146
|
+
// Count skills if directory exists
|
|
1147
|
+
if (globalSkillsExists) {
|
|
1148
|
+
try {
|
|
1149
|
+
const { readdirSync } = require("fs");
|
|
1150
|
+
const skills = readdirSync(globalSkillsPath, { withFileTypes: true })
|
|
1151
|
+
.filter((d: { isDirectory: () => boolean }) => d.isDirectory())
|
|
1152
|
+
.map((d: { name: string }) => d.name);
|
|
1153
|
+
if (skills.length > 0) {
|
|
1154
|
+
console.log(
|
|
1155
|
+
` ${dim(`Found ${skills.length} skill(s): ${skills.join(", ")}`)}`,
|
|
1156
|
+
);
|
|
1157
|
+
}
|
|
1158
|
+
} catch {
|
|
1159
|
+
// Ignore errors
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
console.log();
|
|
1163
|
+
|
|
1164
|
+
// Project skills locations
|
|
1165
|
+
console.log(` 📁 Project skills locations ${dim("(checked in order)")}`);
|
|
1166
|
+
console.log(` ${dim(".opencode/skills/")}`);
|
|
1167
|
+
console.log(` ${dim(".claude/skills/")}`);
|
|
1168
|
+
console.log(` ${dim("skills/")}`);
|
|
1169
|
+
console.log();
|
|
1170
|
+
|
|
1171
|
+
// Bundled skills info
|
|
1172
|
+
const bundledSkillsPath = join(__dirname, "..", "global-skills");
|
|
1173
|
+
if (existsSync(bundledSkillsPath)) {
|
|
1174
|
+
try {
|
|
1175
|
+
const { readdirSync } = require("fs");
|
|
1176
|
+
const bundled = readdirSync(bundledSkillsPath, { withFileTypes: true })
|
|
1177
|
+
.filter((d: { isDirectory: () => boolean }) => d.isDirectory())
|
|
1178
|
+
.map((d: { name: string }) => d.name);
|
|
1179
|
+
console.log(` 🎁 Bundled skills ${dim("(always available)")}`);
|
|
1180
|
+
console.log(` ${dim(bundled.join(", "))}`);
|
|
1181
|
+
console.log();
|
|
1182
|
+
} catch {
|
|
1183
|
+
// Ignore errors
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1132
1187
|
console.log(dim("Edit these files to customize swarm behavior."));
|
|
1133
1188
|
console.log(dim("Run 'swarm setup' to regenerate defaults."));
|
|
1134
1189
|
console.log();
|
package/package.json
CHANGED