diff --git a/README.md b/README.md index cb53c72..50c3fce 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ python build.py --all # -> all rooms ./ctrl/logs.sh # View logs # Bare-metal dev (without Docker) -cd gen/standalone && .venv/bin/python run.py +cd gen/standalone && python run.py ``` ## Adding a New Room @@ -48,4 +48,4 @@ python build.py --cfg myroom cd gen/myroom/soleprint && docker compose up ``` -Or use the generation UI at `/generate`. +Or use the generation UI: `python -m http.server 8080` in `spr/` and visit `/generate.html`. diff --git a/build.py b/build.py index 2aa8ee5..4257284 100644 --- a/build.py +++ b/build.py @@ -280,7 +280,6 @@ def build_soleprint(output_dir: Path, room: str): "main.py", "run.py", "index.html", - "generate.html", "requirements.txt", "Dockerfile", ]: diff --git a/soleprint/generate.html b/generate.html similarity index 100% rename from soleprint/generate.html rename to generate.html diff --git a/soleprint/run.py b/soleprint/run.py index 8c5257a..6427b1d 100644 --- a/soleprint/run.py +++ b/soleprint/run.py @@ -296,72 +296,6 @@ def station_route(path: str): return {"system": "station", "path": path} -# === Generate === - - -@app.get("/generate") -def generate_ui(): - """Serve the generation UI.""" - from fastapi.responses import FileResponse - - return FileResponse(SPR_ROOT / "generate.html") - - -@app.post("/api/generate") -def generate_config(req: dict): - """Generate a config.json for a new room.""" - config = load_config() - hub_port = config.get("framework", {}).get("hub_port", 12000) - - framework = req.get("framework", {}) - systems = req.get("systems", {}) - managed = req.get("managed") - - result = { - "framework": { - "name": framework.get("name", "soleprint"), - "slug": framework.get("name", "soleprint").lower().replace(" ", "-"), - "version": "0.1.0", - "hub_port": hub_port, - }, - "systems": [ - { - "key": "data_flow", - "name": systems.get("artery", "artery"), - }, - { - "key": "documentation", - "name": systems.get("atlas", "atlas"), - }, - { - "key": "execution", - "name": systems.get("station", "station"), - }, - ], - } - - if managed and managed.get("name"): - result["managed"] = {"name": managed["name"], "repos": managed.get("repos", {})} - - return {"config": result, "room_name": req.get("room_name")} - - -@app.post("/api/generate/preview") -def generate_preview(req: dict): - """Preview the generated folder structure.""" - room = req.get("room_name") or "room" - fw = req.get("framework", {}).get("name") or "soleprint" - managed = req.get("managed") - - lines = [f'gen/{room}/'] - if managed and managed.get("name"): - lines.append(f' {managed["name"]}/') - lines.append(' link/') - lines.append(f' {fw}/') - - return {"tree": "\n".join(lines)} - - # === Main ===