import argparse import sys import logging from modules.squad_logic import MorningStandup, HeavyWorker, QAAuditor, ScrumReport # Налаштування логування logging.basicConfig( level=logging.INFO, format='%(asctime)s - [ANTIGRAVITY] - %(levelname)s - %(message)s', datefmt='%H:%M:%S', handlers=[logging.StreamHandler(sys.stdout)] ) logger = logging.getLogger(__name__) def main(): parser = argparse.ArgumentParser(description="Antigravity Squad Dispatcher") parser.add_argument( "--task", choices=["standup", "worker", "audit", "report"], help="Phase of the day to execute" ) # Опція для перевірки версії parser.add_argument("--version", action="store_true", help="Show version") args = parser.parse_args() if args.version: print("Antigravity Agent v0.3.0 (Squad Architecture)") sys.exit(0) # Якщо аргумент не передано, за замовчуванням запускаємо worker # (це забезпечує сумісність, якщо ми випадково запустимо без прапорців) task = args.task if args.task else "worker" logger.info(f"🚀 Starting Antigravity Core. Task: {task.upper()}") try: if task == "standup": MorningStandup().run() elif task == "worker": HeavyWorker().run() elif task == "audit": QAAuditor().run() elif task == "report": ScrumReport().run() except Exception as e: logger.error(f"❌ CRITICAL FAILURE in {task}: {e}") sys.exit(1) if __name__ == "__main__": main()