The world's first fully autonomous, multi-agent, closed-loop frontend development system with visual feedback, testing constitutions, and visual memory
Build UIs like a team of expert developers - with vision, coordination, memory, and iterative refinement until perfect.
Features • Demo • Installation • Constitutions • Visual Memory • Examples
Traditional AI code assistants are blind to frontend issues:
❌ Can't see if buttons are misaligned ❌ Can't verify colors match design specs ❌ Can't detect visual regressions ❌ Can't test user interactions visually ❌ No feedback loop for UI/UX improvements
Result: Endless back-and-forth, broken UIs, frustrated developers.
Claude Code Frontend Dev gives AI vision and interactivity for frontend development:
Write Code → Test Visually → AI Sees Results → Auto-Fix → Repeat Until Perfect
Like a human developer who:
- Writes code
- Opens the browser
- Looks at the page
- Clicks buttons, fills forms
- Sees what's broken
- Fixes it
- Repeats until perfect
But 10x faster and never gets tired.
- ✅ Automatic visual testing after every code change
- ✅ AI validates results using multimodal vision (Claude 4.5 Sonnet)
- ✅ Iterates until requirements are met
- ✅ Zero manual intervention needed
- ✅ 10x-15x faster than manual testing
10 Comprehensive Test Categories:
-
Functional Testing
- Interactive element validation
- Form testing (validation, edge cases)
- Navigation testing (routing, links)
- State management verification
-
Accessibility Testing (WCAG 2.1 AA/AAA)
- ♿ Keyboard navigation validation
- ♿ Screen reader compatibility (ARIA)
- ♿ Color contrast checking (4.5:1+ ratios)
- ♿ Touch target sizing (44x44px)
- ♿ Automated axe-core scanning
-
Performance Testing (Core Web Vitals)
- ⚡ FCP, LCP, TTI, TBT, CLS, FID metrics
- ⚡ Bundle size analysis
- ⚡ Runtime performance profiling
- ⚡ Network condition testing (3G, offline)
-
Responsive Design Testing
- 📱 7 viewport breakpoints tested
- 📱 Device emulation (iPhone, iPad, Android)
- 📱 Touch interaction validation
- 📱 Orientation change handling
-
Security Testing
- 🛡️ XSS vulnerability detection
- 🛡️ CSP (Content Security Policy) validation
- 🛡️ HTTPS/mixed content checking
- 🛡️ Input sanitization verification
-
Expert SEO Optimization ⭐ NEW
- 🔍 Technical SEO: Crawlability, sitemaps, robots.txt, URL structure
- 🔍 On-Page SEO: Title tags, meta descriptions, heading hierarchy, keyword optimization
- 🔍 Structured Data: Schema.org (Organization, Article, Product, FAQ, Breadcrumb)
- 🔍 Rich Snippets: Featured snippet optimization (+15-30% CTR)
- 🔍 Core Web Vitals for SEO: LCP, FID, CLS (ranking factors)
- 🔍 Image SEO: Alt text, file names, WebP conversion, lazy loading
- 🔍 Social SEO: Open Graph, Twitter Cards, social image optimization
- 🔍 Content SEO: E-A-T signals, keyword strategy, internal linking
- 🔍 International SEO: Hreflang tags, multi-language support
- 🔍 SEO Audits: 100-point scoring, competitive analysis, action plans
-
Visual & UX Testing
- 🎨 Animation quality validation
- 🎨 Visual regression detection
- 🎨 Loading states verification
- 🎨 Error handling assessment
-
Cross-Browser Compatibility
- 🌐 Chromium, Firefox, WebKit support
- 🌐 Progressive enhancement validation
-
Code Quality
- 📝 Best practices validation
- 📝 Clean code assessment
- 📝 Maintainability scoring
-
Production Readiness
- 🚀 Deployment checklist
- 🚀 Pre-launch verification
- 🚀 Monitoring configuration
-
Testing Constitutions ⭐ NEW
- 📋 Page-specific testing configurations
- 📋 Define features, buttons, forms, graphs to test
- 📋 Custom acceptance criteria per page
- 📋 Reusable test definitions across sessions
- 📋 Auto-discovery of page elements
-
Visual Memory (MemVid MCP) ⭐ NEW
- 🧠 Chronological test history
- 🧠 Screenshot storage and retrieval
- 🧠 Visual regression baselines
- 🧠 Cross-session learning
- 🧠 Timeline-based event tracking
-
Authentication Testing ⭐ NEW
- 🔐 Login constitution files
- 🔐 Credential management (env vars)
- 🔐 Form validation testing
- 🔐 Security testing (CSRF, XSS, rate limiting)
- 🔐 Session persistence testing
- 🔐 OAuth/SSO flow support
Industry-Standard Quality Scoring:
- ✅ PASS (95-100/100): Ship immediately
⚠️ PASS WITH NOTES (85-94/100): Ship with confidence- 🔄 ITERATE (65-84/100): Needs improvement
- ❌ FAIL (< 65/100): Critical issues
Evidence-Based Decisions:
- Specific issue identification with file:line locations
- Code snippets for fixes
- Effort estimates (time to fix)
- Re-test requirements
- ✅ Clicks buttons, fills forms, navigates pages
- ✅ Captures screenshots at every step (multi-viewport)
- ✅ Monitors console logs and errors
- ✅ Supports keyboard/mouse interactions
- ✅ Network interception & emulation
- ✅ Detects when you edit frontend files (
.jsx,.tsx,.vue,.svelte,.css) - ✅ Starts dev server automatically (Vite, Next.js, etc.)
- ✅ Runs comprehensive test suite without asking
- ✅ Reports results with screenshots & metrics
Works with any frontend framework:
- React, Vue, Svelte, Angular
- Vite, Next.js, Create React App, Nuxt, SvelteKit
- Plain HTML/CSS/JavaScript
- Any custom framework
|
Step 1: Initial Load ✅ AI verifies: Counter starts at 0 |
Step 2: After 6 Clicks ✅ AI verifies: Counter incremented to 6 |
Step 3: Form Submitted ✅ AI verifies: Success message displays |
- 👁️ Counter Value: Reads exact numbers "0" → "6" → "5" → "0"
- 👁️ Form Input: Sees typed text "Claude Code" and "test@claude.ai"
- 👁️ Success Message: Reads "✅ Success! Welcome, Claude Code!"
- 👁️ Visual States: Detects blue focus borders, fade animations
- 👁️ Console Logs: Monitors all events, catches errors
# 1. Clone into Claude Code plugins directory
cd ~/.claude/plugins
git clone https://github.com/hemangjoshi37a/claude-code-frontend-dev.git frontend-dev
# 2. Install dependencies
cd frontend-dev
npm install
# 3. Restart Claude Code
# Plugin will auto-load on next launch!Type /frontend-dev in Claude Code - you should see one smart command:
/frontend-dev- Intelligent frontend development with automatic visual testing
This ONE command smartly handles everything:
- ✅ Automatic testing (when files change)
- ✅ Manual development (implement features)
- ✅ Manual testing (test existing code)
- ✅ No need to choose - it detects context automatically!
┌─────────────────────────────┐
│ USER COMMAND /frontend-dev │
│ "add a dark mode toggle" │
└──────────────┬──────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ CLOSED-LOOP COORDINATOR (Master Orchestrator) │
│ • Parses intent & plans comprehensively (10-20 steps) │
│ • Reads necessary code for context │
│ • Coordinates 5 specialized agents │
│ • Implements code changes │
│ • Manages closed-loop feedback until perfect │
└───┬────────┬────────┬────────┬────────────────────────────┘
│ │ │ │
│ Parallel Execution │
▼ ▼ │ │
┌───────┐ ┌───────┐ │ │
│ UX │ │ SEO │ │ │
│Design │ │Spec │ │ │
└───┬───┘ └───┬───┘ │ │
│ │ │ │
└────┬────┘ │ │
│ │ │
▼ ▼ ▼
[Implement] [Dev Server] [Test]
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────┐
│ 1️⃣ DEV SERVER MANAGER AGENT │
│ • Auto-detects framework │
│ • Starts dev server │
│ • Returns URL: http://localhost:* │
└─────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 2️⃣ FRONTEND TESTER AGENT │
│ • Browser automation (Playwright) │
│ • Captures screenshots (CRITICAL) │
│ • Monitors console (errors/logs) │
│ • Tests all interactions │
│ • Tests all viewports │
└─────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Visual Evidence + Console Logs │
│ 📸 Screenshots at every step │
│ 📊 Console output (errors/warnings) │
│ ⚡ Performance metrics │
└─────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 3️⃣ FRONTEND VALIDATOR AGENT │
│ • Analyzes screenshots (AI vision) │
│ • Validates vs requirements │
│ • Checks console for errors │
│ • Decision: PASS ✅ or FAIL ❌ │
│ • Provides specific fixes │
└─────────────┬───────────────────────┘
│
┌───────┴────────┐
│ │
▼ ▼
PASS ✅ FAIL ❌
│ │
│ ▼
│ ┌──────────────────────┐
│ │ Coordinator Applies │
│ │ Fixes Automatically │
│ └──────────┬───────────┘
│ │
│ ▼
│ [Re-test Loop]
│ (Up to 5 iterations)
│ │
│←───────────────┘
│
▼
┌─────────────────────────────────────┐
│ COMPLETION REPORT │
│ ✅ Feature implemented & validated │
│ 📸 Visual evidence (screenshots) │
│ 📝 Code changes summary │
│ 🚀 Production-ready │
└──────────────────────────────────────┘
Closed-Loop Coordinator (NEW! Master Orchestrator)
- Plans comprehensive task breakdown (10-20 steps)
- Reads codebase for full context
- Coordinates all 5 specialized agents
- Implements code changes
- Manages iterative feedback loop
- Makes autonomous decisions
- Handles long-horizon tasks (no human intervention)
UX Design Specialist (Expert)
- Modern design trends (glassmorphism, neumorphism)
- Color theory, typography, spacing
- Accessibility-aware design recommendations
Frontend Tester (Critical for Closed-Loop)
- Browser automation with Playwright
- Screenshot capture at EVERY step
- Console monitoring (errors/warnings)
- Multi-viewport testing
- Visual evidence collection
Frontend Validator (Quality Gate)
- Screenshot analysis (AI vision)
- Requirements validation
- PASS/FAIL decisions
- Specific fix recommendations
SEO Specialist (Expert)
- Technical SEO audits
- Structured data implementation
- Core Web Vitals optimization
- Social media optimization
Dev Server Manager (Infrastructure)
- Framework auto-detection
- Dev server lifecycle management
- Health monitoring
Project Config Manager ⭐ NEW (Configuration)
- Initialize
.frontend-dev/directory - Load/create testing constitutions
- Manage login constitutions
- Auto-discover page elements
Auth Tester ⭐ NEW (Authentication)
- Comprehensive login flow testing
- Security testing (CSRF, XSS, SQL injection)
- Session management validation
- OAuth/SSO flow support
- Accessibility testing for auth forms
- AI Model: Claude 4.5 Sonnet (multimodal vision)
- Browser: Puppeteer (default) or Playwright
- Frameworks: Auto-detects Vite, Next.js, CRA, Vue, Svelte, etc.
- Screenshots: AI-powered visual analysis
- Triggers: PostToolUse hooks for automatic testing
You write:
<button style={{marginLeft: 100}}>Click Me</button>AI workflow:
- 📸 Takes screenshot
- 👁️ Sees button is way off-center
- 💡 Reports: "Button has excessive left margin (100px). Not centered."
- 🔧 Auto-fixes:
<button style={{margin: '0 auto', display: 'block'}}>Click Me</button>- 📸 Re-tests, verifies fix
- ✅ Reports: PASS
Requirement: "Show green success message after form submit"
AI workflow:
- Fills form with test data
- Clicks submit button
- 📸 Captures screenshot
- 👁️ Reads message: "✅ Form submitted successfully"
- Validates: Green color (#10B981), checkmark visible
- ✅ Reports: PASS - All requirements met
You ask: "Optimize my landing page for SEO"
AI workflow:
-
🔍 Runs comprehensive SEO audit
- Technical SEO (robots.txt, sitemap, URL structure)
- On-page SEO (title, meta, headings)
- Structured data analysis
- Core Web Vitals for SEO
- Image SEO check
- Social media tags
-
📊 Generates SEO score: 85/100
-
🎯 Identifies issues:
- Major: Missing Article schema (no rich snippets)
- Major: Mobile LCP 3.2s (affects rankings)
- Minor: Meta description too short (95 chars)
- Minor: 12 images missing alt text
-
🔧 Provides specific fixes:
<!-- Add Article Schema for Rich Snippets -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"image": ["https://example.com/image.jpg"],
"author": {"@type": "Person", "name": "Author"},
"publisher": {"@type": "Organization", "name": "Company"},
"datePublished": "2025-11-11"
}
</script>
<!-- Optimize Meta Description -->
<meta name="description" content="Extended description with keywords and CTA that is 150-160 characters long for optimal SERP display">
<!-- Convert hero image to WebP for LCP -->
<picture>
<source type="image/webp" srcset="hero.webp">
<img src="hero.jpg" alt="Descriptive keyword-rich alt text" loading="lazy">
</picture>-
📈 Expected results:
- SEO Score: 85/100 → 95/100
- Rich Snippets: Enabled (+15-30% CTR boost)
- Mobile LCP: 3.2s → 2.1s (passing Core Web Vital)
- Organic Traffic: +25-40% in 3-6 months
-
✅ Reports: SEO optimizations complete, ready for search engines
You accidentally change:
.heading { color: blue; } → .heading { color: white; }On purple background:
- 👁️ AI sees white text on purple = invisible
- 🚨 Reports: "Text not readable - insufficient contrast (WCAG 2.1 fail)"
- 💡 Suggests: Use
color: #FFFFFFwith darker background, or switch to high-contrast color - 🔧 Auto-fixes color
- ✅ Re-validates
Testing constitutions are JSON configuration files that define what and how to test for each page in your project.
When you run /frontend-dev, it creates a .frontend-dev/ directory in your project:
your-project/
├── .frontend-dev/ # Created automatically
│ ├── config.json # Project settings
│ ├── auth/
│ │ └── login-constitution.json # Login page testing config
│ ├── testing/
│ │ ├── homepage.json # Homepage testing constitution
│ │ ├── dashboard.json # Dashboard testing constitution
│ │ └── settings.json # Settings page constitution
│ ├── memory/ # MemVid visual memory
│ │ ├── sessions/
│ │ ├── screenshots/
│ │ └── timeline.json
│ └── reports/ # Historical test reports
{
"pageName": "Dashboard",
"pageUrl": "/dashboard",
"features": {
"primary": [
{
"name": "Revenue Chart",
"selector": "#revenue-chart",
"testType": "visual",
"acceptanceCriteria": [
"Chart renders with data",
"Tooltips show on hover",
"Legend is visible"
]
}
]
},
"interactiveElements": {
"buttons": [
{
"name": "Export Data",
"selector": "[data-testid='export-btn']",
"expectedBehavior": "Opens export modal"
}
],
"forms": [
{
"name": "Date Range Filter",
"selector": "#date-filter-form",
"fields": [...]
}
]
},
"visualElements": {
"graphs": [
{
"name": "Revenue Chart",
"selector": "#revenue-chart",
"type": "line",
"testCases": ["renders_correctly", "handles_empty_data"]
}
]
},
"accessibility": {
"wcagLevel": "AA",
"requirements": [
"All charts have aria-labels",
"Keyboard navigation works"
]
}
}{
"loginPage": {
"url": "/login"
},
"authMethod": {
"type": "form"
},
"credentials": {
"storage": "environment",
"envVars": {
"username": "TEST_USER",
"password": "TEST_PASS"
}
},
"loginForm": {
"selectors": {
"usernameField": "#email",
"passwordField": "#password",
"submitButton": "#login-btn"
}
},
"successIndicators": {
"redirectUrl": "/dashboard",
"elements": [".user-menu", ".logout-btn"]
},
"testScenarios": {
"required": [
{"name": "valid_login", "priority": "critical"},
{"name": "invalid_password", "priority": "high"},
{"name": "empty_fields", "priority": "high"}
]
},
"security": {
"tests": ["csrf_protection", "rate_limiting", "xss_prevention"]
}
}- Consistency: Same tests run every time
- Reusability: Define once, test forever
- Completeness: Never forget to test important features
- Documentation: Constitutions serve as test specs
- Auto-Discovery: AI can create constitutions by analyzing pages
Visual memory allows the testing system to remember previous test runs and compare results over time.
Test Run 1 → Screenshots Stored → Timeline Updated
↓
Test Run 2 → Compare with Previous → Detect Regressions
↓
Test Run 3 → Learn from History → Smarter Testing
1. Screenshot Storage
- Every screenshot is stored with metadata
- Organized by page, viewport, and timestamp
- Easy retrieval for comparison
2. Chronological Timeline
{
"events": [
{
"timestamp": "2025-01-18T10:30:00Z",
"type": "test_start",
"page": "dashboard",
"sessionId": "abc123"
},
{
"timestamp": "2025-01-18T10:30:15Z",
"type": "screenshot",
"page": "dashboard",
"viewport": "desktop",
"path": "screenshots/dashboard-desktop-001.png"
},
{
"timestamp": "2025-01-18T10:30:30Z",
"type": "test_pass",
"page": "dashboard",
"score": 98
}
]
}3. Visual Regression Detection
- Compare current screenshots with baselines
- Detect unintended visual changes
- Highlight differences automatically
4. Cross-Session Learning
- Remember what failed before
- Avoid repeating same mistakes
- Build testing knowledge over time
The system uses memvid-mcp-server for visual memory:
{
"mcpServers": {
"memvid": {
"command": "npx",
"args": ["-y", "memvid-mcp-server@latest"],
"env": {
"MEMVID_LOCAL_STORAGE": "1"
}
}
}
}Available Tools:
create_or_open_memory- Initialize/access project memory (.mv2 file)add_content- Store test results, screenshots metadata, timeline eventssearch_memory- Hybrid search (query="*" lists all items)ask_memory- Natural language queries (requires OpenAI API key)
- 🎨 UI/UX Development - Pixel-perfect design verification
- 🧪 Visual Regression Testing - Catch unintended changes
- ♿ Accessibility Testing - Validate contrast, focus states, keyboard nav
- 📱 Responsive Design - Test across viewport sizes
- 🎭 Animation Testing - Verify transitions, fades, transforms
- 🐛 Bug Reproduction - "AI, click the blue button and tell me what you see"
- 📊 Component Libraries - Test all variants visually (Storybook integration)
- 🛒 E-commerce (product pages, checkout flows)
- 💼 SaaS dashboards (admin panels, analytics)
- 📢 Marketing websites (landing pages, CTAs)
- 📱 Mobile apps (React Native, Ionic)
- 🎨 Design systems (Storybook, Figma integration)
Tested on real-world projects:
| Task | Manual Testing | With This Plugin | Speedup |
|---|---|---|---|
| Form validation | 5 mins | 30 secs | 10x ⚡ |
| Visual regression | 15 mins | 1 min | 15x ⚡ |
| Responsive design | 20 mins | 2 mins | 10x ⚡ |
| Bug reproduction | 10 mins | 45 secs | 13x ⚡ |
Average productivity gain: 12x faster
Create .claude-plugin/visual-tests.json for custom test scenarios:
{
"tests": [
{
"name": "Dark Mode Toggle",
"steps": [
{"action": "click", "selector": "#theme-toggle"},
{"action": "screenshot", "name": "dark-mode"},
{"validate": "Background should be dark (#1F2937)"}
]
}
]
}Auto-detection works great, but you can override:
{
"devServer": {
"command": "npm run dev",
"port": 3000,
"framework": "vite"
}
}- 📖 Full Documentation
- 🎥 Video Tutorial (coming soon)
- 💬 Discord Community (coming soon)
- 🐦 Follow on Twitter
- 🌐 hjLabs.in - IIOT | ML/AI | ALGOTRADING
- Claude Code - AI coding assistant
- Playwright - Browser automation
- Puppeteer - Headless Chrome
Contributions welcome! This is open source and community-driven.
- 🌐 Multi-language support (i18n)
- 📱 Mobile browser testing (iOS Safari, Android)
- 🎨 More framework examples (Angular, Ember)
- 📖 Documentation improvements
- 🐛 Bug fixes and optimizations
Want to contribute? Check our Contributing Guide!
- Playwright integration (Ubuntu 26.04+ support)
- Visual diff comparisons (before/after)
- Mobile device emulation (iPhone, Android)
- Performance metrics (Lighthouse)
- A11y testing (WCAG compliance)
- Cross-browser (Firefox, Safari, Edge)
- Video recording
- CI/CD integration
- Storybook plugin
- Figma design comparison
MIT License - Free for personal and commercial use.
See LICENSE for details.
Built with ❤️ by Hemang Joshi @ hjLabs.in
Powered by:
- Claude 4.5 Sonnet - Multimodal AI
- Anthropic Claude Code - Plugin platform
- Puppeteer - Browser automation
If this plugin saves you time, give us a star ⭐ on GitHub!
It helps others discover this tool and motivates us to keep improving it.
Made with 🤖 + 👁️ by AI that can actually SEE your code


