Build web applications with natural language using the ADW (Autonomous Development Workflow) system.
tac-webbuilder is a natural language interface for web development that transforms your feature requests into working code. It provides:
- π£οΈ Natural Language Interface - Describe features in plain English
- π€ Automated Implementation - ADW workflow handles planning, coding, testing, and review
- π¨ Project Templates - Start new projects with React, Next.js, or Vanilla JavaScript
- π Existing Code Integration - Add ADW to any existing web application
- π» Dual Interface - Use CLI for speed or Web UI for visualization
- π Playwright MCP Integration - Built-in browser automation and E2E testing
- β Complete Automation - From feature request to merged PR
- Python 3.10+
- Node.js 18+ or Bun
- uv (Python package manager)
- GitHub CLI (
gh) - Git
cd /path/to/tac-webbuilder
uv sync
# Interactive setup (recommended)
./scripts/setup_env.sh
# Or manual setup
cp .env.sample .env
# Edit .env and add your API keysQuick Setup:
./scripts/setup_env.shVerify Setup:
./scripts/test_config.shManual Configuration:
See Configuration Guide for detailed information.
Required:
ANTHROPIC_API_KEY- Get from https://console.anthropic.com/settings/keys- GitHub authentication via
gh auth login
Optional:
- E2B cloud sandbox for isolated code execution
- Cloudflare tunnel for webhooks
- Cloudflare R2 for screenshot uploads
Interactive Setup (Recommended):
Run the interactive setup script for guided configuration:
./scripts/setup_env.shThis will:
- Create
.envfrom.env.sample - Prompt for required configuration (Anthropic API key)
- Offer optional configuration (GitHub, ADW, Cloud services)
- Detect Claude Code installation path automatically
Manual Setup:
Copy .env.sample to .env and edit:
# Required
ANTHROPIC_API_KEY=your-anthropic-key
# Optional
GITHUB_PAT=your-github-token
GITHUB_REPO_URL=https://github.com/owner/repoGet GitHub authentication:
gh auth loginValidate Configuration:
After setup, validate your configuration:
./scripts/test_config.shThis checks:
- Required environment variables are set
- Claude Code is installed and accessible
- GitHub CLI is installed and authenticated
- Optional services are configured correctly
Full details in docs/configuration.md
# Interactive mode
./scripts/start_cli.sh interactive
# Direct request
./scripts/start_cli.sh request "Add dark mode toggle"
# Create new project from template
./scripts/start_cli.sh new my-app --framework react-vite
# Integrate into existing app
./scripts/start_cli.sh integrate /path/to/existing/appFull Stack (Recommended):
./scripts/start_full.shThis starts both backend and frontend with automatic health checking:
- Backend: http://localhost:8002
- Frontend: http://localhost:5174
- API Docs: http://localhost:8002/docs
Or start separately:
# Terminal 1: Backend
./scripts/start_webbuilder.sh
# Terminal 2: Frontend
./scripts/start_client.shArchitecture:
app/
βββ client/ # React + Vite frontend
βββ server/ # FastAPI backend
Then open http://localhost:5174 in your browser.
All projects include Playwright MCP integration for browser automation and E2E testing:
# Copy MCP configuration (already done in new projects)
cp .mcp.json.sample .mcp.json
# Install Playwright browsers
npx playwright install chromiumThe Playwright MCP server enables:
- Automated E2E test execution
- Screenshot capture for visual validation
- Video recording of test runs
- Browser automation for testing workflows
See docs/playwright-mcp.md for detailed configuration and usage.
Describe what you want to build in plain English:
Authentication:
Add user authentication with:
- Email/password signup and login
- OAuth providers (Google, GitHub)
- Password reset via email
- Session management with JWT
- Protected routes
UI Components:
Add a dark mode toggle that:
- Switches between light and dark themes
- Persists preference in localStorage
- Includes smooth transitions
- Updates all components
Data Features:
Create an analytics dashboard with:
- Line chart for user growth
- Bar chart for revenue
- Real-time updates via WebSocket
- Export to CSV
See docs/examples.md for 30+ more examples.
ADW workflow handles:
- Planning - Analyzes request and creates technical specification
- Implementation - Writes code following best practices
- Testing - Generates and runs unit and E2E tests
- Review - Creates pull request with description
- Documentation - Updates relevant docs
- Merge - Auto-merges after successful review (optional)
CLI Interface:
- Fast workflow for developers
- Interactive and non-interactive modes
- Request history management
- Configuration commands
- Scriptable and automatable
Web UI:
- Visual, user-friendly interface
- Real-time workflow monitoring
- Issue preview before posting
- Request history with filtering
- WebSocket live updates
Start new projects with pre-configured templates:
React + Vite:
- React 18 with TypeScript
- Vite for fast development
- Vitest for testing
- ESLint and proper tooling
- ADW pre-configured
Next.js:
- Next.js 14 with App Router
- Server and Client Components
- API routes ready
- Jest for testing
- ADW pre-configured
Vanilla JavaScript:
- Plain HTML/CSS/JS
- No build step
- Simple structure
- Great for learning
- ADW-ready
Create a new project:
./scripts/setup_new_project.sh my-app react-vite
cd /Users/Warmonger0/tac/my-app
npm run devIntegrate ADW into any existing web application:
./scripts/integrate_existing.sh /path/to/your/appThis will:
- Detect your framework automatically
- Create GitHub issue with integration plan
- Let ADW implement integration
- Add
.claude/configuration - Set up environment variables
- Create project-specific slash commands
Supports: React, Next.js, Vue, Svelte, FastAPI, Express, Django, Flask, and more.
See templates/existing_webapp/integration_guide.md for details.
βββββββββββββββ βββββββββββββββ
β CLI β β Web UI β
β (Python) β β (React) β
ββββββββ¬βββββββ ββββββββ¬βββββββ
β β
βββββββββ¬ββββββββββββ
β
ββββββββΌβββββββ
β Backend β
β (FastAPI) β
ββββββββ¬βββββββ
β
ββββββββββββΌβββββββββββ
β β β
βββββΌββββ ββββΌβββ ββββββΌβββββ
βGitHub β β ADW β β Project β
β API β β β βDetectionβ
βββββββββ βββββββ βββββββββββ
- CLI - Command-line interface for developers
- Web UI - React + TypeScript + Vite frontend
- Backend - FastAPI server with WebSocket support
- NL Processor - Natural language parsing and analysis
- GitHub Poster - Issue creation and management
- Project Detector - Framework and structure detection
- ADW Integration - Workflow triggering and monitoring
See docs/architecture.md for detailed architecture.
- README - Getting started guide and quick reference
- ARCHITECTURE - High-level system design and architecture
- Features - Feature documentation and specifications
- Technical - Integration guides, API docs, and technical references
- Specs - Planning specifications and technical specs
- Issues - Development tracking and issue lifecycle
.
βββ app/
β βββ client/ # React + Vite frontend
β β βββ src/
β β β βββ components/ # UI components
β β β βββ api/ # API client
β β β βββ App.tsx # Main app
β β βββ package.json
β β
β βββ server/ # FastAPI backend
β βββ core/
β β βββ nl_processor.py # Natural language processing
β β βββ github_poster.py # GitHub integration
β β βββ project_detector.py # Framework detection
β β βββ workflow_manager.py # ADW workflow management
β βββ routers/ # API endpoints
β βββ models/ # Data models
β βββ main.py # FastAPI app
β
βββ templates/ # Project templates
β βββ new_webapp/
β β βββ react-vite/ # React + Vite template
β β βββ nextjs/ # Next.js template
β β βββ vanilla/ # Vanilla JS template
β βββ existing_webapp/
β β βββ integration_guide.md
β βββ template_structure.json
β
βββ scripts/ # Utility scripts
β βββ setup_new_project.sh # Create new project
β βββ integrate_existing.sh # Integrate into existing
β βββ start_cli.sh # Start CLI
β βββ start_web_full.sh # Start full web stack
β βββ start_web_backend.sh # Start backend only
β βββ start_web_frontend.sh # Start frontend only
β
βββ docs/ # Documentation
β βββ cli.md # CLI reference
β βββ web-ui.md # Web UI guide
β βββ api.md # API reference
β βββ architecture.md # System architecture
β βββ examples.md # Example requests
β βββ troubleshooting.md # Troubleshooting guide
β
βββ adws/ # ADW workflow system
βββ specs/ # Feature specifications
βββ tests/ # Test suite
βββ .claude/ # Claude Code configuration
Request Management:
POST /api/request- Create a new feature requestPOST /api/preview- Preview issue without postingPOST /api/confirm- Confirm and post previewed issueGET /api/history- Get request history
Project Detection:
POST /api/detect- Detect project framework and structureGET /api/repos- List accessible GitHub repositories
Workflow Management:
GET /api/workflow/{issue_number}- Get workflow statusPOST /api/workflow/{issue_number}/cancel- Cancel workflow
WebSocket:
ws://localhost:8002/ws- Real-time updates
See docs/api.md for complete API reference with examples.
# Create a request
./scripts/start_cli.sh request "Add feature X"
# Interactive mode
./scripts/start_cli.sh interactive
# View history
./scripts/start_cli.sh history
./scripts/start_cli.sh history --limit 10 --filter react
# Configuration
./scripts/start_cli.sh config set default_repo owner/repo
./scripts/start_cli.sh config list
# New project from template
./scripts/start_cli.sh new myapp --framework react-vite
# Integrate into existing project
./scripts/start_cli.sh integrate /path/to/appSee docs/cli.md for complete CLI reference.
The ADW (Autonomous Development Workflow) system automates the entire development lifecycle:
adw_sdlc_zte_iso- Full SDLC with zero-touch executionadw_plan_build_test_iso- Plan, build, and test workflowadw_sdlc_iso- Standard SDLC workflow
ADW automatically selects the appropriate workflow based on:
- Issue complexity (low, medium, high)
- Issue type (feature, bug, chore)
- Project structure and size
- Test coverage requirements
Process multiple GitHub issues sequentially through ZTE workflows without manual intervention:
# Add issues to queue (just drop .md files)
cp issue-1.md issue-2.md issue-3.md zte-hopper/queue/
# Start batch processing
./scripts/zte_hopper.sh --work
# Monitor progress
./scripts/zte_hopper.sh --status
# Graceful stop after current issue
./scripts/zte_hopper.sh --stopFeatures:
- FIFO queue processing (oldest first)
- Automated issue creation via
./scripts/gi - Waits for ZTE workflow completion
- Validates each issue with comprehensive sanity checks
- Stops on failure for manual intervention
- Process management with PID locking and graceful shutdown
See zte-hopper/README.md for complete ZTE Hopper documentation.
Via Web UI:
- Real-time progress updates
- Stage indicators (planning β implementing β testing β review)
- Live log streaming
- Error notifications
Via CLI:
# Check workflow status
./scripts/start_cli.sh workflow status <issue-number>
# View workflow logs
./scripts/start_cli.sh workflow logs <issue-number>See adws/README.md for detailed ADW documentation.
Track and analyze token usage and costs for ADW workflows:
Monitor token usage while running ADW commands:
# Run a command with token monitoring
python3 adw_token_monitor.py claude --adw path/to/adw.md --phase implementation
# Monitor any Claude Code command
python3 adw_token_monitor.py claude --chat "explain this code" --phase analysisReview token usage from previous sessions:
# Analyze the most recent session
python3 adw_token_monitor.py --analyze
# Analyze a specific session
python3 adw_token_monitor.py --analyze --session-id 1762750941
# Use a different log file
python3 adw_token_monitor.py --analyze --log-file custom_usage.jsonlThe analysis generates a report with:
- Total operations and success rate
- Phase-by-phase breakdown
- Token usage estimates and totals
- Duration statistics
- Optimization recommendations
Reports are saved to adw_token_analysis_[timestamp].txt.
Analyze costs from Claude Code conversation history:
python3 adw_token_usage.pyThis reads the .clinerval file and provides detailed cost breakdowns.
cd app/server
uv run pytest -v# Natural language processing
uv run pytest tests/core/test_nl_processor.py -v
# Project detection
uv run pytest tests/core/test_project_detector.py -v
# GitHub integration
uv run pytest tests/core/test_github_poster.py -v
# Template scaffolding
uv run pytest tests/templates/ -vcd app/client
bun test
bun run test:ui# Create new React app
./scripts/setup_new_project.sh my-dashboard react-vite
# Navigate to app
cd /Users/Warmonger0/tac/my-dashboard
# Add authentication feature
cd /path/to/tac-webbuilder
./scripts/start_cli.sh request "Add user authentication with email/password" \
--repo myorg/my-dashboard
# Add dashboard
./scripts/start_cli.sh request "Create analytics dashboard with charts" \
--repo myorg/my-dashboard# Integrate ADW
./scripts/integrate_existing.sh ~/projects/existing-app
# Wait for integration PR
# Review and merge PR
# Now use natural language for features
./scripts/start_cli.sh request "Add dark mode" \
--project ~/projects/existing-app# Start web UI
./scripts/start_web_full.sh
# Team members can:
# - Create requests via web form
# - Monitor workflow progress
# - View request history
# - Share request links
# - Get desktop notificationsBackend won't start:
# Check Python version
python --version # Must be 3.10+
# Check dependencies
cd app/server && uv sync
# Check environment variables
cat .env | grep -E "ANTHROPIC_API_KEY|GITHUB_TOKEN"GitHub authentication failed:
# Authenticate with GitHub CLI
gh auth login
# Get token for .env
gh auth tokenCannot create project from template:
# Verify templates exist
ls -la templates/new_webapp/
# Check permissions
chmod +x scripts/setup_new_project.sh
# Try with full path
./scripts/setup_new_project.sh myapp react-vite /full/pathADW workflow not triggering:
- Check issue has correct labels
- Verify webhook is configured
- Ensure repository has GitHub remote
- Check ADW system is running
See docs/troubleshooting.md for comprehensive troubleshooting.
- API Keys - Never commit
.envfiles - GitHub Token - Use tokens with minimal required permissions
- CORS - Configured for local development only
- Input Validation - All inputs validated before processing
- SQL Injection - Parameterized queries and validation
- Rate Limiting - API endpoints are rate-limited
- Use environment-specific API keys
- Enable HTTPS for all communications
- Configure CORS for production domains
- Set up proper logging and monitoring
- Use secrets management (not .env files)
- Enable GitHub webhook authentication
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new features
- Ensure all tests pass
- Submit a pull request
Or use tac-webbuilder itself to contribute:
./scripts/start_cli.sh request "Add feature Y to tac-webbuilder" \
--repo owner/tac-webbuilder- tac-7 - Original ADW workflow implementation
- Claude Code - AI-powered coding assistant
- Anthropic - Claude AI provider
[Your License Here]
- Documentation - See docs/ directory
- Issues - GitHub Issues
- Examples - docs/examples.md
- Troubleshooting - docs/troubleshooting.md
Built with β€οΈ using Claude Code and ADW workflows