52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
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() |