/** * Main exports and CLI entry point for GitOps */ export { GitopsApp } from './classes/gitopsapp.ts'; export { logger } from './logging.ts'; import { GitopsApp } from './classes/gitopsapp.ts'; import { logger } from './logging.ts'; export async function runCli(): Promise { const args = Deno.args; const command = args[0] || 'server'; switch (command) { case 'server': { const port = parseInt(Deno.env.get('GITOPS_PORT') || '3000', 10); const app = new GitopsApp(); await app.start(port); // Handle graceful shutdown const shutdown = async () => { logger.info('Shutting down...'); await app.stop(); Deno.exit(0); }; Deno.addSignalListener('SIGINT', shutdown); Deno.addSignalListener('SIGTERM', shutdown); break; } default: logger.error(`Unknown command: ${command}`); logger.info('Usage: gitops [server]'); Deno.exit(1); } }