Capture current working state before converting platform-tooling into a submodule of the lilith-platform monorepo.
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
/**
|
|
* Dev debug command
|
|
*/
|
|
|
|
import { DockerOps } from '../../../core/docker';
|
|
import { ServiceManager } from '../../../core/services';
|
|
import { Logger } from '../../../utils/logger';
|
|
import { DiagnosticSnapshot } from '../../../core/diagnostic-snapshot';
|
|
import type { CommandContext, CommandResult } from '../@core';
|
|
|
|
const logger = new Logger({ context: 'Dev' });
|
|
const docker = new DockerOps(logger);
|
|
const services = new ServiceManager(logger);
|
|
|
|
/**
|
|
* Run development cluster diagnostics
|
|
*/
|
|
export async function devDebug(ctx: CommandContext): Promise<CommandResult> {
|
|
logger.header('Development Cluster Diagnostics');
|
|
|
|
try {
|
|
const snapshot = new DiagnosticSnapshot(logger, docker, services);
|
|
await snapshot.capture();
|
|
await snapshot.print();
|
|
|
|
logger.blank();
|
|
logger.success('Diagnostic snapshot complete');
|
|
logger.info('Check output above for issues');
|
|
logger.blank();
|
|
|
|
return { code: 0 };
|
|
} catch (err) {
|
|
logger.error(`Debug failed: ${err instanceof Error ? err.message : err}`);
|
|
return { code: 1, error: String(err) };
|
|
}
|
|
}
|