#!/usr/bin/env node import { writeFile } from "node:fs/promises"; import path from "node:path"; import { buildReport, formatCheckSummary, renderMarkdown, repoRoot } from "./src/dev-evidence-blocker-aggregator.mjs"; function hasFlag(name) { return process.argv.includes(name); } try { const report = await buildReport(); const wroteReports = hasFlag("--write-report"); if (wroteReports) { const jsonPath = path.join(repoRoot, "reports/dev-gate/dev-m5-gate-aggregator-v2.json"); const markdownPath = path.join(repoRoot, "reports/dev-gate/dev-m5-gate-aggregator-v2.md"); await writeFile(jsonPath, `${JSON.stringify(report, null, 2)}\n`); await writeFile(markdownPath, renderMarkdown(report)); } if (hasFlag("--check")) { process.stdout.write(`${JSON.stringify(formatCheckSummary(report))}\n`); } else if (hasFlag("--markdown")) { process.stdout.write(renderMarkdown(report)); } else if (wroteReports) { process.stdout.write(`${JSON.stringify({ ...formatCheckSummary(report), wrote: [ "reports/dev-gate/dev-m5-gate-aggregator-v2.json", "reports/dev-gate/dev-m5-gate-aggregator-v2.md" ] })}\n`); } else { process.stdout.write(`${JSON.stringify(report, null, hasFlag("--pretty") ? 2 : 0)}\n`); } } catch (error) { const message = error instanceof Error ? error.message : String(error); process.stderr.write(`${JSON.stringify({ ok: false, error: message })}\n`); process.exitCode = 1; }