Minimalist Mode 🧭
Keep this file lean — no mocks, no placeholders, only confirmed logic.
A web application that generates professional diagrams from natural language descriptions using Strands Agents and AWS Diagram MCP Server.
- Natural Language Input: Describe your diagram in plain English
- Multiple Diagram Types: Supports AWS, Azure, GCP, Kubernetes, and more
- Web Interface: Clean, modern UI for diagram generation
- Python 3.11+
- Graphviz installed on your system
- AWS credentials configured (for Bedrock) or OpenAI API key
Backend:
# Unix/macOS/Linux
cd backend && bash setup.sh
# Windows
cd backend && setup.batFrontend:
# Unix/macOS/Linux
cd frontend && bash setup.sh
# Windows
cd frontend && setup.bat-
Clone the repository
-
Create virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Install Graphviz:
- Windows: Download from https://graphviz.org/download/
- macOS:
brew install graphviz - Linux:
sudo apt-get install graphviz
-
Copy
.env.exampleto.envand configure:cp .env.example .env
-
Update
.envwith your credentials
Feature flags allow you to enable/disable features without code changes. Configure them in your .env file:
# Feature Flags (defaults shown)
FEATURE_FLAG_ENABLE_TEXT_INPUT=true
FEATURE_FLAG_ENABLE_HELP_PAGE=true
FEATURE_FLAG_ENABLE_AUDIO_INPUT=false
FEATURE_FLAG_ENABLE_IMAGE_UPLOAD=false
FEATURE_FLAG_ENABLE_DIAGRAM_EDITING=false
FEATURE_FLAG_ENABLE_TEMPLATES=false
FEATURE_FLAG_ENABLE_EXPORT_FORMATS=false
FEATURE_FLAG_ENABLE_STYLING=falseAvailable Features:
ENABLE_TEXT_INPUT- Natural language text input (MVP, enabled by default)ENABLE_HELP_PAGE- Help & FAQ page (enabled by default)ENABLE_AUDIO_INPUT- Voice input processing (planned)ENABLE_IMAGE_UPLOAD- Handwritten diagram upload (planned)ENABLE_DIAGRAM_EDITING- Edit generated diagrams (planned)ENABLE_TEMPLATES- Diagram templates (planned)ENABLE_EXPORT_FORMATS- Multiple export formats (planned)ENABLE_STYLING- Custom styling and themes (planned)
Check current feature flags: GET /api/features
-
Start the backend server:
python backend/run.py
Or:
cd backend python -m uvicorn app:app --reload -
Open
frontend/index.htmlin your browser
- Enter a natural language description of your diagram
- Click "Generate Diagram"
- Download the generated diagram
- "Create a serverless architecture with API Gateway, Lambda, and DynamoDB"
- "Show a microservices architecture with Kubernetes"
- "Design a data pipeline with S3, Glue, and Redshift"
backend/ # FastAPI backend
frontend/ # Web interface
docs/ # Documentation
tests/ # Test files
MIT