import argparse import sys from pathlib import Path from config import load_config from core.runner import run_audit def parse_args() -> argparse.Namespace: cwd = Path.cwd() parser = argparse.ArgumentParser( "hydrogen", description="Lightweight highly extensible security framework for your server.", ) parser.add_argument("-c", "--config", type=Path, default=cwd / "config.yaml") parser.add_argument("-p", "--path", type=Path, default=cwd / "modules") parser.add_argument("--package-prefix", default="modules") return parser.parse_args() def main() -> int: args = parse_args() config = load_config(args.config) return run_audit(args.path, config, args.package_prefix) if __name__ == "__main__": sys.exit(main())