Skip to content

Specforge

Specforge turns plain-English into a live, callable backend API in 60 seconds.

Core trick

A managed agent writes and tests backend code in a persistent sandbox, and a local control plane hot-reloads it behind a tunnel URL.

Tags

Description

Specforge turns plain-English into a live, callable backend API in 60 seconds. Describe what you want, the Gemini agent writes the service, runs tests in its sandbox, and hands you a public URL. Iterate by talking "now add auth" and watch it evolve.
samratdotm/specforge★ 10 forksPythonCreated May 23, 2026 · last push May 24, 2026

README excerpt

# Specforge

**Speak an API into existence. Iterate by talking. Walk away with running code.**

Describe a backend in plain English; a Managed Gemini Agent writes it, tests it in its own sandbox, and your local control plane hot-reloads it behind a public `ngrok` URL. Then keep talking — *"now add auth"*, *"add rate limiting"* — and watch the service evolve.

Built for the Cerebral Valley × Google I/O hackathon, showcasing the new **Managed Agents in the Gemini API**.

## Why this works

Most code-gen tools are one-shot: they hand you a snippet and stop. Specforge runs a **persistent agent loop** — the Managed Agent owns the test/fix cycle inside a sandboxed Linux VM (Python 3.12, Node 22), and that environment survives across turns (and across days, up to 7). State, files, history, all preserved. That's what makes the conversational iteration loop work.

## Architecture (one paragraph)

```
You ─▶ htmx UI ─▶ FastAPI control plane ─▶ Managed Gemini Agent (in its sandbox)
                       │                       │
                       │                       ├── writes service.py
                       │                       ├── writes test_service.py
                       │                       └── runs tests until green
                       │
                       ▼
              service_runner.py
                       │
                       ▼
   uvicorn (subprocess) on :9001 ◀──── ngrok tunnel ◀──── public URL
```

The control plane never writes code itself

Team