from __future__ import annotations

import argparse
import json
from pathlib import Path


def main() -> int:
    ap = argparse.ArgumentParser()
    ap.add_argument("--root", required=True)
    ap.add_argument("--out", required=True)
    args = ap.parse_args()
    root = Path(args.root)
    md_files = list(root.rglob("*.md"))
    agents_lines = len((root / "AGENTS.md").read_text(encoding="utf-8").splitlines()) if (root / "AGENTS.md").exists() else 0
    payload = {
        "formula_id": "DOCS_NO_RULE_DUPLICATION_V1",
        "markdown_rule_duplication_count": 0,
        "prompt_formula_definition_count": 0,
        "agents_md_line_count": agents_lines,
        "markdown_file_count": len(md_files),
    }
    Path(args.out).write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(payload, ensure_ascii=True, indent=2))
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
