minions-ai-agents/antigravity_brain_export/tools/scaffold_maker.py

44 lines
1.5 KiB
Python

# .agent/tools/scaffold_maker.py
import sys
import os
import json
def create_structure(json_input):
"""Lê arquivo JSON e cria estrutura de pastas/arquivos."""
if not os.path.exists(json_input):
return "❌ Arquivo JSON não encontrado."
try:
with open(json_input, 'r', encoding='utf-8') as f:
structure = json.load(f)
except Exception as e:
return f"❌ Erro ao ler JSON: {e}"
log = []
def build(base, items):
for name, content in items.items():
path = os.path.join(base, name)
if isinstance(content, dict):
os.makedirs(path, exist_ok=True)
log.append(f"📁 Pasta: {path}")
build(path, content)
elif isinstance(content, str):
parent = os.path.dirname(path)
if parent and not os.path.exists(parent): os.makedirs(parent, exist_ok=True)
mode = 'w' if not os.path.exists(path) else 'w' # Sobrescreve se existir
with open(path, mode, encoding='utf-8') as f:
f.write(content)
log.append(f"📄 Arquivo: {path}")
try:
build('.', structure)
return "✅ Estrutura criada:\n" + "\n".join(log)
except Exception as e:
return f"❌ Falha: {e}"
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Uso: python scaffold_maker.py estrutura.json")
else:
print(create_structure(sys.argv[1]))