AI-Powered Website Builder using Prompture agent orchestration
Project description
AgentSite
AI-Powered Website Builder using Multi-Agent Orchestration
Generate complete, production-ready websites from a single text prompt.
Four specialized AI agents collaborate to plan, design, build, and review your site.
How It Works
Prompt ──> PM Agent ──> Designer Agent ──> Developer Agent ──> Reviewer Agent ──> Website
(plan) (style) (code) (QA)
| Agent | Role | Output |
|---|---|---|
| PM | Analyzes prompt, plans site structure and build order | SitePlan |
| Designer | Defines colors, typography, spacing, and visual system | StyleSpec |
| Developer | Writes semantic HTML, CSS, and vanilla JS for each page | PageOutput |
| Reviewer | Evaluates quality, accessibility, and correctness | ReviewFeedback |
The reviewer can trigger revision loops, sending feedback back to the developer until quality meets the approval threshold.
Features
- Multi-agent pipeline — four agents with distinct personas coordinate through Prompture groups
- Real-time progress — WebSocket-based live updates during generation
- Web UI — browser interface with live preview, chat input, style controls, and usage dashboard
- CLI — generate sites directly from the terminal
- Multi-provider LLM support — OpenAI, Claude, Google, Groq, Grok, Ollama, LM Studio, OpenRouter, and more
- Export — download generated sites as ZIP archives
- Accessible output — agents enforce WCAG AA contrast, semantic HTML, ARIA labels, and keyboard navigation
Quick Start
Installation
pip install -e ".[dev]"
Configuration
cp .env.copy .env
# Edit .env with your API keys
Generate from the CLI
agentsite generate "A portfolio website for a photographer"
Start the Web UI
agentsite serve
# Open http://127.0.0.1:8000
CLI Reference
agentsite generate <prompt> # Generate a website from a text prompt
-m, --model <provider/model> # LLM model to use (default: from settings)
-o, --output <dir> # Output directory
-n, --name <name> # Project name
agentsite serve # Start the web UI server
--host <host> # Server host (default: 127.0.0.1)
--port <port> # Server port (default: 8000)
--reload # Enable auto-reload for development
agentsite models # List available LLM models
Configuration
| Variable | Description | Default |
|---|---|---|
AGENTSITE_DEFAULT_MODEL |
LLM model for all agents | openai/gpt-4o |
AGENTSITE_DATA_DIR |
Project storage directory | ~/.agentsite |
AGENTSITE_HOST |
Server bind address | 127.0.0.1 |
AGENTSITE_PORT |
Server port | 8000 |
Provider API keys (OPENAI_API_KEY, CLAUDE_API_KEY, GOOGLE_API_KEY, etc.) are inherited from Prompture's configuration.
Project Structure
agentsite/
agents/ # Agent factories, Prompture Personas, orchestration
personas.py # PM, Designer, Developer, Reviewer persona definitions
orchestrator.py # Pipeline wiring and group configuration
api/ # FastAPI application
routes/ # REST endpoints (projects, generate, models, assets, preview)
websocket.py # WebSocket manager for real-time progress
app.py # Application factory with CORS and lifespan
engine/ # Core generation logic
pipeline.py # Orchestrates agents, handles file output and events
project_manager.py # Filesystem operations for project directories
asset_handler.py # Image upload and asset management
storage/ # Persistence layer
database.py # Async SQLite via aiosqlite
repository.py # CRUD operations for projects and generations
cli.py # Click CLI entry point
config.py # Pydantic-settings (env vars, defaults)
models.py # Domain models (SitePlan, StyleSpec, PageOutput, etc.)
frontend/ # Browser UI (vanilla JS, no build step)
tests/ # pytest test suite
Tech Stack
| Layer | Technology |
|---|---|
| Agent orchestration | Prompture (Agents, Personas, Groups) |
| API server | FastAPI + Uvicorn |
| Database | SQLite via aiosqlite |
| CLI | Click |
| Config | Pydantic Settings |
| Frontend | Vanilla JavaScript (no framework, no build step) |
| Linting | Ruff |
Development
# Install with dev + test extras
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with verbose output
pytest -v
# Lint
ruff check .
# Format
ruff format .
License
Built by Juan Denis
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentsite-0.1.0.tar.gz.
File metadata
- Download URL: agentsite-0.1.0.tar.gz
- Upload date:
- Size: 45.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f46135622877e1217995a7481a0a64a263f8d87a92e81bdf3a8a1165d4432d12
|
|
| MD5 |
848438371fd67f502d077ee4d715deeb
|
|
| BLAKE2b-256 |
1b0f9cd3d7013a8b4760111d9df06da1135d2ac7053ab962865dc1798fba69ec
|
File details
Details for the file agentsite-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentsite-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4182bbd0c92d933d73524b1ca41120b165cf3107a3bfb4c314dca7927fba4238
|
|
| MD5 |
04bf2176bf7d35790a55c4915a31489d
|
|
| BLAKE2b-256 |
192752cf03c40305003da5e83fae5efc8006421d99280c813fa4f8b31aa18bd1
|