ma-agents 2.12.0 → 2.13.1

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.
Files changed (2) hide show
  1. package/bin/cli.js +43 -9
  2. package/package.json +1 -1
package/bin/cli.js CHANGED
@@ -51,8 +51,18 @@ function showSkills() {
51
51
  function showAgents() {
52
52
  const agents = listAgents();
53
53
  console.log(chalk.bold('\n Supported Agents:\n'));
54
- agents.forEach(agent => {
55
- console.log(chalk.cyan(` ${agent.id.padEnd(20)}`) + chalk.white(agent.name) + chalk.gray(` v${agent.version} - ${agent.description}`));
54
+
55
+ const ideAgents = agents.filter(a => !['bmm-sre', 'bmm-devops', 'bmm-cyber'].includes(a.id));
56
+ const bmadAgents = agents.filter(a => ['bmm-sre', 'bmm-devops', 'bmm-cyber'].includes(a.id));
57
+
58
+ console.log(chalk.bold.yellow(' AI Coding Assistants:'));
59
+ ideAgents.forEach(agent => {
60
+ console.log(chalk.cyan(` ${agent.id.padEnd(20)}`) + chalk.white(agent.name) + chalk.gray(` v${agent.version} - ${agent.description}`));
61
+ });
62
+
63
+ console.log(chalk.bold.yellow('\n BMAD Method Agents:'));
64
+ bmadAgents.forEach(agent => {
65
+ console.log(chalk.cyan(` ${agent.id.padEnd(20)}`) + chalk.white(agent.name) + chalk.gray(` v${agent.version} - ${agent.description}`));
56
66
  });
57
67
  console.log('');
58
68
  }
@@ -225,21 +235,45 @@ async function installWizard(preselectedSkill, preselectedAgents, customPath, fo
225
235
 
226
236
  // Step 2: Select agents
227
237
  if (selectedAgentIds.length === 0 || isUpdate) {
228
- const { agents: chosen } = await prompts({
238
+ const ideAgents = agents.filter(a => !['bmm-sre', 'bmm-devops', 'bmm-cyber'].includes(a.id));
239
+ const bmadAgents = agents.filter(a => ['bmm-sre', 'bmm-devops', 'bmm-cyber'].includes(a.id));
240
+
241
+ // 2.1 Coding Assistants
242
+ const { ideChosen } = await prompts({
229
243
  type: 'multiselect',
230
- name: 'agents',
231
- message: 'Select which coding agents to include:',
232
- choices: agents.map(a => ({
244
+ name: 'ideChosen',
245
+ message: 'Select AI Coding Assistants:',
246
+ choices: ideAgents.map(a => ({
233
247
  title: chalk.white(a.name) + chalk.gray(` v${a.version} - ${a.description}`),
234
248
  value: a.id,
235
249
  selected: selectedAgentIds.includes(a.id)
236
250
  })),
237
251
  instructions: chalk.gray(' Use space to select, enter to confirm'),
238
- min: 1
239
252
  });
240
253
 
241
- if (!chosen) process.exit(0);
242
- selectedAgentIds = chosen;
254
+ if (ideChosen === undefined) process.exit(0);
255
+
256
+ // 2.2 BMAD Method Agents
257
+ const { bmadChosen } = await prompts({
258
+ type: 'multiselect',
259
+ name: 'bmadChosen',
260
+ message: 'Select BMAD Method Agents:',
261
+ choices: bmadAgents.map(a => ({
262
+ title: chalk.white(a.name) + chalk.gray(` v${a.version} - ${a.description}`),
263
+ value: a.id,
264
+ selected: selectedAgentIds.includes(a.id)
265
+ })),
266
+ instructions: chalk.gray(' Use space to select, enter to confirm'),
267
+ });
268
+
269
+ if (bmadChosen === undefined) process.exit(0);
270
+
271
+ selectedAgentIds = [...ideChosen, ...bmadChosen];
272
+
273
+ if (selectedAgentIds.length === 0) {
274
+ console.log(chalk.yellow('No agents selected. Please select at least one agent to install skills.'));
275
+ process.exit(1);
276
+ }
243
277
  }
244
278
 
245
279
  // Step 3: Scope (Skip if update, we already know it's project)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ma-agents",
3
- "version": "2.12.0",
3
+ "version": "2.13.1",
4
4
  "description": "NPX tool to install skills for AI coding agents (Claude Code, Gemini, Copilot, Kilocode, Cline, Cursor)",
5
5
  "main": "index.js",
6
6
  "bin": {