| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/usr/bin/env node
- import { existsSync, readFileSync } from "node:fs";
- import { resolve } from "node:path";
- import { Command } from "commander";
- import { renderCommand } from "./commands/render.js";
- import { previewCommand } from "./commands/preview.js";
- import { templatesCommand } from "./commands/templates.js";
- import { voicesCommand } from "./commands/voices.js";
- import { initCommand } from "./commands/init.js";
- import { collectCommand } from "./commands/collect.js";
- // Auto-load .env from monorepo root (3 levels up from dist/index.js)
- const envPath = resolve(import.meta.dirname, "../../../.env");
- if (existsSync(envPath)) {
- const content = readFileSync(envPath, "utf-8");
- for (const line of content.split("\n")) {
- const trimmed = line.trim();
- if (!trimmed || trimmed.startsWith("#")) continue;
- const eq = trimmed.indexOf("=");
- if (eq < 0) continue;
- const key = trimmed.slice(0, eq).trim();
- const val = trimmed.slice(eq + 1).trim();
- if (!process.env[key]) {
- process.env[key] = val;
- }
- }
- }
- const program = new Command();
- program
- .name("pipeline")
- .description("Text-to-video generation pipeline")
- .version("0.0.1");
- program.addCommand(renderCommand);
- program.addCommand(collectCommand);
- program.addCommand(previewCommand);
- program.addCommand(templatesCommand);
- program.addCommand(voicesCommand);
- program.addCommand(initCommand);
- program.parse();
|