#!/usr/bin/env python3 # file: scripts/audit_rust_workspace_rules.py # version: 1 """Run all Rust normalization and games.sasedev workspace audits.""" from __future__ import annotations import argparse import pathlib import subprocess import sys def main() -> int: """Run general, export-completeness and project-specific audits.""" parser = argparse.ArgumentParser() parser.add_argument("--root", default=".", help="workspace root") arguments = parser.parse_args() script_dir = pathlib.Path(__file__).resolve().parent commands = [ ["python3", str(script_dir / "audit_rust_general_rules.py"), "--root", arguments.root], ["python3", str(script_dir / "audit_rust_export_completeness.py"), "--root", arguments.root], ["python3", str(script_dir / "audit_project_workspace_rules.py"), "--root", arguments.root], ] for command in commands: completed = subprocess.run(command, check=False) if completed.returncode != 0: return completed.returncode return 0 if __name__ == "__main__": raise SystemExit(main())