Files
crucible-agent-create-commi…/application_landing_zone_agent/cli.py

27 lines
823 B
Python

from __future__ import annotations
import argparse
import json
from pathlib import Path
from .generator import generate
def main(argv: list[str] | None = None) -> int:
parser = argparse.ArgumentParser(description="Generate a TSD and editable draw.io architecture diagram")
parser.add_argument("requirements", help="JSON requirements file or plain-text requirements file")
parser.add_argument("--output-dir", default="artifacts")
args = parser.parse_args(argv)
source = Path(args.requirements).read_text(encoding="utf-8")
try:
requirements = json.loads(source)
except json.JSONDecodeError:
requirements = source
result = generate(requirements, args.output_dir)
print(json.dumps(result, indent=2))
return 0
if __name__ == "__main__":
raise SystemExit(main())