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())