File size: 3,259 Bytes
c62dfb3
 
4b60444
 
6b050a6
c62dfb3
4b60444
 
6b050a6
 
 
 
 
 
 
 
c62dfb3
 
6b050a6
4b60444
6b050a6
4b60444
6b050a6
4b60444
6b050a6
 
 
 
 
 
 
 
 
 
4b60444
6b050a6
4b60444
6b050a6
 
 
 
 
 
 
 
 
 
 
4b60444
6b050a6
 
 
 
 
4b60444
 
6b050a6
 
4b60444
 
6b050a6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
---
title: Agent Generator
emoji: πŸ€–
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
license: apache-2.0
pinned: false
short_description: Describe an AI team in English. Get runnable code.
tags:
  - agents
  - crewai
  - langgraph
  - watsonx
  - code-generation
---

# Agent Generator β€” Live Demo

This is the **public demo** of [agent-generator](https://github.com/ruslanmv/agent-generator) running as a [Hugging Face Space](https://huggingface.co/spaces). It serves the **same React SPA** shipped with the web, desktop, and mobile builds β€” there is no separate demo UI to maintain.

## What you can try

| Feature | Works in demo |
|---|---|
| Describe an agent team in natural language | βœ… |
| Pick a framework (CrewAI, LangGraph, WatsonX, CrewAI Flow, ReAct) | βœ… |
| Inspect the compatibility matrix (8 frameworks Γ— 5 hyperscalers Γ— 2 patterns Γ— 7 models) | βœ… |
| Browse the marketplace fixture | βœ… |
| Generate a project + download as ZIP | βœ… |
| Sign in with GitHub | 🚫 disabled in demo |
| Persistent project history | 🚫 in-memory only |
| Real run executions / Docker builds | 🚫 demo-mode stubs |

## How it works

```
            HuggingFace Space (Docker SDK, port 7860)
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚  GET /            β†’ frontend/dist (real SPA)  β”‚
            β”‚  POST /api/plan   ┐                            β”‚
            β”‚  POST /api/build  β”‚ ─→ agent_generator         β”‚
            β”‚  POST /api/generateβ”˜   (PyPI / git+ pinned)    β”‚
            β”‚  GET  /api/compatibility/*  (reused verbatim  β”‚
            β”‚  GET  /api/marketplace/*    from backend/app) β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

- The SPA bundle is built from the **same `frontend/` source** as the desktop and mobile shells with `AG_BUILD_CHANNEL=hf`. A single `IS_DEMO` flag gates auth, persistence, and run history.
- The generator pipeline (`planning_service β†’ ProjectSpec β†’ build_service`) is the **published `agent-generator` Python package**, pinned by CI to the deployed commit so the demo never drifts.
- The compatibility matrix and marketplace endpoints are **literally the production modules** at `backend/app/api/{compatibility,marketplace}.py`, copied in at deploy time.

## Local reproduction

```bash
docker build -t agent-generator-hf hf
docker run --rm -p 7860:7860 agent-generator-hf
```

Open <http://localhost:7860>.

You can also use the Makefile targets at the repo root:

```bash
make hf-build      # build the Space image locally
make hf-run        # start it on :7860
```

## Continuous deployment

Every push to `master` triggers `.github/workflows/hf-space.yml`, which:

1. Builds the SPA with `AG_BUILD_CHANNEL=hf`.
2. Stages the deploy tree (vendoring `frontend/dist/` and the two reused backend modules).
3. Pushes to <https://huggingface.co/spaces/ruslanmv/agent-generator>.

A second workflow (`hf-space-pr.yml`) smoke-tests the same tree on pull requests without deploying.

## License

Apache-2.0.