#!/usr/bin/env node
/**
 * 一次初始化宿主项目的 MVFrame Codex + Cursor 规则。
 *
 * 用法：
 *   node path/to/mvframe/scripts/init-rules.js
 *   node path/to/mvframe/scripts/init-rules.js /abs/path/to/your-project
 *   yarn exec mvframe-init-rules
 *
 * 环境变量（可选）：
 *   MVFRAME_INIT_RULES_OUT=/path/to/project  等价于第一个参数
 */

const fs = require("fs");
const path = require("path");
const { upsertCodexAgents } = require("./install-codex-agents.js");
const { installCursorRules } = require("./install-cursor-rules.js");

function main() {
  const argPath = process.argv.find((a, i) => i >= 2 && !a.startsWith("--"));
  const projectRoot = path.resolve(
    process.env.MVFRAME_INIT_RULES_OUT || argPath || process.cwd(),
  );

  if (!fs.existsSync(projectRoot)) {
    console.error("[mvframe] 目录不存在:", projectRoot);
    process.exit(1);
  }

  installCursorRules(projectRoot);
  upsertCodexAgents(projectRoot);

  console.log("[mvframe] 已完成 MVFrame 规则初始化：");
  console.log("  - Cursor: .cursor/rules/*.mdc");
  console.log("  - Codex: AGENTS.md");
  console.log("[mvframe] 请重开 Cursor / 开启新 Codex 会话，确保新规则被重新读取。");
}

if (require.main === module) {
  main();
}
