#!/usr/bin/env node /** * CLI Entrypoint for CannaIQ Backend * @module cli * * Usage: * npx tsx src/cli.ts # Start API server * npx tsx src/cli.ts --worker # Start worker process * npx tsx src/cli.ts --help # Show help * * Environment Variables: * DATABASE_URL - PostgreSQL connection string (required) * PORT - API server port (default: 3010) * WORKER_ID - Worker instance identifier (auto-generated if not set) */ const args = process.argv.slice(2); function showHelp() { console.log(` CannaIQ Backend CLI Usage: npx tsx src/cli.ts [options] Options: --worker Start as a job queue worker (processes crawl jobs) --api Start as API server (default) --help Show this help message Environment Variables: DATABASE_URL PostgreSQL connection string (required) PORT API server port (default: 3010) WORKER_ID Worker instance identifier (auto-generated) Examples: # Start API server on default port DATABASE_URL="postgresql://..." npx tsx src/cli.ts # Start worker process DATABASE_URL="postgresql://..." npx tsx src/cli.ts --worker # Start API on custom port PORT=3015 DATABASE_URL="postgresql://..." npx tsx src/cli.ts --api `); process.exit(0); } async function main() { if (args.includes('--help') || args.includes('-h')) { showHelp(); } // Default: start API server console.log('[CLI] Starting API server...'); await import('./index'); } main().catch((error) => { console.error('[CLI] Fatal error:', error); process.exit(1); }); export {};