A modern web interface for generating AWS CloudFormation templates, pricing estimates, and architecture diagrams using AI agents and MCP servers.
This project follows a minimal-first, iterative approach:
- Mock First: Start with sample data to validate UX flow
- Track Everything: Log all changes and prompt evolution
- Iterate Gradually: Add complexity only after core functionality works
- Stay Organized: Clear folder structure and consistent naming
/backend - FastAPI server with Strands agent integration
├── server.py - Main FastAPI application
├── strands_agent.py - AWS MCP server integration
├── requirements.txt - Python dependencies
└── diagrams/ - Generated architecture diagrams
/frontend - Vite + React + TypeScript + Tailwind
├── src/
│ ├── components/ - UI components (AppLayout, InputPanel, etc.)
│ ├── pages/ - Route pages (ObservabilityPage)
│ ├── hooks/ - Custom React hooks
│ ├── services/ - API services and utilities
│ └── router.tsx - React Router configuration
├── package.json - Node.js dependencies
└── vite.config.ts - Vite build configuration
/deployment - Infrastructure and deployment scripts
├── cloudformation/ - AWS CloudFormation templates
├── systemd/ - System service configurations
├── nginx/ - Reverse proxy configuration
└── deploy-*.sh - Automated deployment scripts
/docs - Documentation and product tracking
/prompts - Prompt evolution tracking
-
Download Node.js:
- Visit nodejs.org
- Download the LTS version (recommended for most users)
- Choose Windows Installer (.msi) for your system (x64 for 64-bit)
-
Install Node.js:
- Run the downloaded .msi file
- Follow the installation wizard (accept defaults)
- Restart your terminal/command prompt after installation
-
Verify Installation:
node --version npm --version
Both commands should return version numbers.
- Python 3.9+
- pip package manager
Backend Setup:
# 1. Install Python dependencies
cd backend
pip install -r requirements.txt
# 2. Start the mock backend server
uvicorn server:app --reload
# Backend will be available at http://localhost:8000Frontend Setup:
# 1. Fix PowerShell execution policy (run as Administrator if needed)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 2. Install Node.js dependencies (requires Node.js 18+)
cd frontend
npm install
# 3. Start the development server
npm run dev
# Frontend will be available at http://localhost:5173Test the System:
- Open http://localhost:5173 in your browser
- Enter architecture requirements (e.g., "Create a 3-tier web app")
- Click "Generate Architecture"
- View results in the three tabs: CloudFormation, Pricing, Diagram
Note: Now includes real Strands agent integration with AWS MCP servers!
# Install new dependencies for Strands integration
cd backend
pip install -r requirements.txt
# Backend now connects to AWS MCP servers:
# - awslabs.cfn-mcp-server (CloudFormation templates)
# - awslabs.aws-pricing-mcp-server (Cost estimates)
# - awslabs.aws-diagram-mcp-server (Architecture diagrams)# Frontend now includes:
# - Modular component architecture with TypeScript
# - React Router for multi-page navigation
# - Syntax highlighting for CloudFormation templates
# - Enhanced pricing display with cost breakdown
# - Professional diagram viewing with controls
# - ZIP download for complete results package
# - Real-time observability dashboard
# - Event streaming and activity feeds
# - AWS Console-inspired design with dark theme
# - Responsive design for all screen sizes- Phase 1: Foundation & tracking setup ✅
- Phase 2: Mock backend with sample data ✅
- Phase 3: Minimal frontend UI ✅
- Phase 4: Real Strands agent integration ✅
- Phase 5: Enhanced UI & advanced features ✅
- Phase 6: Production deployment & scaling (Next)
- Real AWS CloudFormation templates generated using Strands agents
- Accurate cost estimation with AWS Pricing API integration
- Professional architecture diagrams with AWS Diagram MCP server
- Downloadable results in ZIP format with all artifacts
- Real-time event streaming for generation activities
- Activity feed with detailed event tracking
- Filter controls for event types and time ranges
- Event cards with rich metadata and status indicators
- AWS Console-inspired design with dark theme
- Responsive layout for desktop and mobile
- Syntax highlighting for CloudFormation templates
- Interactive components with smooth animations
- Multi-page navigation with React Router
- Automated deployment with CloudFormation
- Systemd services with security hardening
- Nginx reverse proxy with SSL support
- Health monitoring and logging
- Firewall configuration and security groups
POST /generate- Generate architecture (requirements → CF template + pricing + diagram)GET /diagram/{filename}- Serve generated architecture diagramsGET /- Health check endpoint
- Track Changes: Log every modification in
/docs/product_tracker.md - Track Prompts: Record prompt evolution in
/prompts/prompt_tracker.md - Iterate: Build minimal → test → enhance → repeat
- Document: Keep README updated with current state
Follow the minimal-first philosophy:
- Get basic functionality working first
- Add complexity only when needed
- Document all changes in tracking files
- Keep code simple and well-commented