# main.py #!/usr/bin/env python """ COBOL テストデータ生成 Agent 使用方法: python main.py --design 詳細設計書_ZAN04MAT.md --source ZAN04MAT.cbl \ --file-db-md COPY句定義書.md --cpy cpy/ --db-md DB定義書.md --output output/ """ import argparse import os import sys from agent import generate DEFAULT_RULES_DIR = os.path.join(os.path.dirname(__file__), 'rules') def main(): parser = argparse.ArgumentParser( description='COBOLテストデータ生成Agent' ) parser.add_argument('--design', required=True, help='詳細設計書 .md のパス') parser.add_argument('--source', required=True, help='COBOL ソース .cbl のパス') parser.add_argument('--file-db-md', required=True, help='ファイル/DB 構造 .md のパス') parser.add_argument('--cpy', required=True, help='COPYBOOK 格納ディレクトリ') parser.add_argument('--db-md', required=True, help='DB 定義書 .md のパス') parser.add_argument('--output', default='output', help='出力ディレクトリ') parser.add_argument('--api-key', default='sk-6156cccdc9c14d949cf5bfc5afc67a03', help='DeepSeek API Key') parser.add_argument('--model', default='deepseek-v4-flash', help='API モデル名') parser.add_argument('--rules', default=DEFAULT_RULES_DIR, help='ルール格納ディレクトリ') args = parser.parse_args() for name, path in [('--design', args.design), ('--source', args.source)]: if not os.path.exists(path): print(f"エラー: {name} のファイルが見つかりません: {path}", file=sys.stderr) sys.exit(1) result = generate( design_md=args.design, source_cbl=args.source, file_db_md=args.file_db_md, cpy_dir=args.cpy, db_md=args.db_md, output_dir=args.output, api_key=args.api_key, api_model=args.model, rules_dir=args.rules, ) print(f"\n== 完了 ==") print(f"プログラムID: {result['program_id']}") print(f"グループ数: {result['groups']}") print(f"入力タイプ: {result['input_type']}") print(f"出力ファイル:") for key, path in sorted(result['output_files'].items()): print(f" {key}: {path}") if __name__ == '__main__': main()