import argparse
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))

import pandas as pd

from data.validate_manifest import REQUIRED_COLUMNS


def main() -> int:
    parser = argparse.ArgumentParser(description="Create an empty manifest CSV template.")
    parser.add_argument("--output", default="data/manifests/01_data_manifest.csv")
    args = parser.parse_args()
    output = Path(args.output)
    output.parent.mkdir(parents=True, exist_ok=True)
    pd.DataFrame(columns=REQUIRED_COLUMNS).to_csv(output, index=False)
    print(f"created: {output}")
    return 0


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