diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index 5d6980e957..226368ac62 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -24,6 +24,7 @@ interface StartOptions { headless?: boolean; port: string; attach?: string; + open?: boolean; } /** Command to start GenKit server, optionally without static file serving */ @@ -35,6 +36,7 @@ export const start = new Command('start') false ) .option('-p, --port ', 'Port to serve on. Default is 4000', '4000') + .option('-o, --open', 'Open the browser with the Developer UI') .option( '-a, --attach ', 'Externally running dev process address to attach to' @@ -57,5 +59,5 @@ export const start = new Command('start') } else { await runner.start(); } - return startServer(runner, options.headless ?? false, port); + return startServer(runner, options.headless ?? false, port, !!options.open); }); diff --git a/genkit-tools/common/src/server/server.ts b/genkit-tools/common/src/server/server.ts index 7ff0ea0f7d..b4715936e5 100644 --- a/genkit-tools/common/src/server/server.ts +++ b/genkit-tools/common/src/server/server.ts @@ -45,7 +45,8 @@ const API_BASE_PATH = '/api'; export function startServer( runner: Runner, headless: boolean, - port: number + port: number, + openBrowser: boolean ): Promise { let serverEnder: (() => void) | undefined = undefined; const enderPromise = new Promise((resolver) => { @@ -133,7 +134,9 @@ export function startServer( .waitUntilHealthy() .then(() => { logger.info(`${clc.green(clc.bold('Genkit Tools UI:'))} ${uiUrl}`); - open(uiUrl); + if (openBrowser) { + open(uiUrl); + } }) .catch((e) => { logger.error(e.message);