fix: quality-rails Commander version mismatch + installer defaults (#364)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful

This commit was merged in pull request #364.
This commit is contained in:
2026-04-03 02:40:02 +00:00
parent d4c5797a65
commit acfb31f8f6
6 changed files with 25 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@mosaic/cli",
"version": "0.0.9",
"version": "0.0.10",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -2,7 +2,7 @@
import { createRequire } from 'module';
import { Command } from 'commander';
import { createQualityRailsCli } from '@mosaic/quality-rails';
import { registerQualityRails } from '@mosaic/quality-rails';
import { registerAgentCommand } from './commands/agent.js';
import { registerMissionCommand } from './commands/mission.js';
// prdy is registered via launch.ts
@@ -300,11 +300,7 @@ registerMissionCommand(program);
// ─── quality-rails ──────────────────────────────────────────────────────
const qrWrapper = createQualityRailsCli();
const qrCmd = qrWrapper.commands.find((c) => c.name() === 'quality-rails');
if (qrCmd !== undefined) {
program.addCommand(qrCmd as unknown as Command);
}
registerQualityRails(program);
// ─── update ─────────────────────────────────────────────────────────────

View File

@@ -1,6 +1,6 @@
{
"name": "@mosaic/mosaic",
"version": "0.0.9",
"version": "0.0.10",
"description": "Mosaic agent framework — installation wizard and meta package",
"type": "module",
"main": "dist/index.js",

View File

@@ -1,6 +1,6 @@
{
"name": "@mosaic/quality-rails",
"version": "0.0.2",
"version": "0.0.3",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -17,7 +17,7 @@
"test": "vitest run --passWithNoTests"
},
"dependencies": {
"commander": "^12.0.0"
"commander": "^13.0.0"
},
"devDependencies": {
"@types/node": "^22.0.0",

View File

@@ -106,12 +106,26 @@ function printScaffoldResult(
}
}
/**
* Register quality-rails subcommands on an existing Commander program.
* This avoids cross-package Commander version mismatches by using the
* caller's Command instance directly.
*/
export function registerQualityRails(parent: Command): void {
buildQualityRailsCommand(
parent.command('quality-rails').description('Manage quality rails scaffolding'),
);
}
export function createQualityRailsCli(): Command {
const program = new Command('mosaic');
const qualityRails = program
.command('quality-rails')
.description('Manage quality rails scaffolding');
buildQualityRailsCommand(
program.command('quality-rails').description('Manage quality rails scaffolding'),
);
return program;
}
function buildQualityRailsCommand(qualityRails: Command): void {
qualityRails
.command('init')
.requiredOption('--project <path>', 'Project path')
@@ -184,8 +198,6 @@ export function createQualityRailsCli(): Command {
);
}
});
return program;
}
export async function runQualityRailsCli(argv: string[] = process.argv): Promise<void> {

4
pnpm-lock.yaml generated
View File

@@ -541,8 +541,8 @@ importers:
packages/quality-rails:
dependencies:
commander:
specifier: ^12.0.0
version: 12.1.0
specifier: ^13.0.0
version: 13.1.0
devDependencies:
'@types/node':
specifier: ^22.0.0