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.
- package/package.json +1 -1
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-error-handling-i18n/SKILL.md +61 -27
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-grpc-services/SKILL.md +60 -41
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-hexagonal-core/SKILL.md +482 -213
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-kafka-messaging/SKILL.md +46 -29
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-observability-otel/SKILL.md +47 -31
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-openapi-tmforum/SKILL.md +42 -25
- package/src/bmm-skills/agents/bmad-quarkus-build/skills/quarkus-sql-jdbc-agroal/SKILL.md +115 -85
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-error-handling-i18n/SKILL.md +61 -27
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-grpc-services/SKILL.md +60 -41
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-hexagonal-core/SKILL.md +482 -213
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-kafka-messaging/SKILL.md +46 -29
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-observability-otel/SKILL.md +47 -31
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-openapi-tmforum/SKILL.md +42 -25
- package/src/bmm-skills/agents/bmad-quarkus-dev/skills/quarkus-sql-jdbc-agroal/SKILL.md +115 -85
- package/src/commands/dev-all.md +105 -0
- package/src/commands/quarkus-all.md +156 -0
- package/tools/installer/ide/_config-driven.js +43 -0
- 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.
|