bmad-method-quarkus 1.0.1 → 1.0.3

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 (19) hide show
  1. package/package.json +1 -1
  2. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-error-handling-i18n/SKILL.md +61 -27
  3. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-grpc-services/SKILL.md +60 -41
  4. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-hexagonal-core/SKILL.md +482 -213
  5. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-kafka-messaging/SKILL.md +46 -29
  6. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-observability-otel/SKILL.md +47 -31
  7. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-openapi-tmforum/SKILL.md +42 -25
  8. package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-sql-jdbc-agroal/SKILL.md +115 -85
  9. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-error-handling-i18n/SKILL.md +61 -27
  10. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-grpc-services/SKILL.md +60 -41
  11. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-hexagonal-core/SKILL.md +482 -213
  12. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-kafka-messaging/SKILL.md +46 -29
  13. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-observability-otel/SKILL.md +47 -31
  14. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-openapi-tmforum/SKILL.md +42 -25
  15. package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-sql-jdbc-agroal/SKILL.md +115 -85
  16. package/src/commands/dev-all.md +105 -0
  17. package/src/commands/quarkus-all.md +156 -0
  18. package/tools/installer/ide/_config-driven.js +43 -0
  19. package/tools/installer/ide/platform-codes.yaml +2 -0
@@ -4,6 +4,7 @@ const yaml = require('yaml');
4
4
  const prompts = require('../prompts');
5
5
  const csv = require('csv-parse/sync');
6
6
  const { BMAD_FOLDER_NAME } = require('./shared/path-utils');
7
+ const { getSourcePath } = require('../project-root');
7
8
  const { getInstalledCanonicalIds, isBmadOwnedEntry } = require('./shared/installed-skills');
8
9
 
9
10
  // Reserved OpenCode slash commands. A skill whose canonicalId collides with
@@ -255,6 +256,7 @@ class ConfigDrivenIdeSetup {
255
256
 
256
257
  if (config.commands_target_dir) {
257
258
  results.commands = await this.installCommandPointers(projectDir, bmadDir, config, options);
259
+ results.customCommands = await this.installCustomCommands(projectDir, config, options);
258
260
  }
259
261
 
260
262
  await this.printSummary(results, target_dir, options);
@@ -301,6 +303,11 @@ class ConfigDrivenIdeSetup {
301
303
  fallbackDescription: 0,
302
304
  };
303
305
 
306
+ // If filtered to custom commands only, skip generating pointer files for skills
307
+ if (config.commands_filter === 'custom-only') {
308
+ return result;
309
+ }
310
+
304
311
  const csvPath = path.join(bmadDir, '_config', 'skill-manifest.csv');
305
312
  if (!(await fs.pathExists(csvPath))) return result;
306
313
 
@@ -404,6 +411,42 @@ class ConfigDrivenIdeSetup {
404
411
  return result;
405
412
  }
406
413
 
414
+ /**
415
+ * Copy static/custom command markdown files from src/commands/ into commands_target_dir.
416
+ * @param {string} projectDir - Project directory
417
+ * @param {Object} config - Installer config; reads commands_target_dir.
418
+ * @param {Object} options - Setup options.
419
+ * @returns {Promise<Object>} { copied, writeFailures }
420
+ */
421
+ async installCustomCommands(projectDir, config, options = {}) {
422
+ const result = { copied: 0, writeFailures: 0 };
423
+ if (!config.commands_target_dir) return result;
424
+
425
+ const sourceCommandsDir = getSourcePath('commands');
426
+ if (!(await fs.pathExists(sourceCommandsDir))) return result;
427
+
428
+ const commandsPath = path.join(projectDir, config.commands_target_dir);
429
+ await fs.ensureDir(commandsPath);
430
+
431
+ const files = await fs.readdir(sourceCommandsDir);
432
+ for (const file of files) {
433
+ if (file.endsWith('.md')) {
434
+ const srcFile = path.join(sourceCommandsDir, file);
435
+ const destFile = path.join(commandsPath, file);
436
+ try {
437
+ await fs.copy(srcFile, destFile, { overwrite: true });
438
+ result.copied++;
439
+ } catch (error) {
440
+ result.writeFailures++;
441
+ if (!options.silent) {
442
+ await prompts.log.warn(`Failed to copy custom command ${file}: ${error.message}`);
443
+ }
444
+ }
445
+ }
446
+ }
447
+ return result;
448
+ }
449
+
407
450
  /**
408
451
  * Install verbatim native SKILL.md directories from skill-manifest.csv.
409
452
  * Copies the entire source directory as-is into the IDE skill directory.
@@ -62,6 +62,8 @@ platforms:
62
62
  installer:
63
63
  target_dir: .claude/skills
64
64
  global_target_dir: ~/.claude/skills
65
+ commands_target_dir: .claude/commands
66
+ commands_filter: custom-only
65
67
 
66
68
  cline:
67
69
  name: "Cline"