{"id":46182061,"url":"https://github.com/wrsmith108/vibe-to-docker","last_synced_at":"2026-03-03T22:31:18.293Z","repository":{"id":320326314,"uuid":"1081650895","full_name":"wrsmith108/vibe-to-docker","owner":"wrsmith108","description":"Universal Docker containerization tool for AI-generated UX prototypes","archived":false,"fork":false,"pushed_at":"2025-11-27T06:26:57.000Z","size":2700,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"pack-master","last_synced_at":"2026-03-02T22:32:42.027Z","etag":null,"topics":["agents","bolt","docker","figma-make","lovable","v0","vibe-coding"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/vibe-to-docker","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wrsmith108.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"docs/AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-23T04:59:59.000Z","updated_at":"2025-12-27T02:30:47.000Z","dependencies_parsed_at":"2025-10-25T02:19:09.546Z","dependency_job_id":null,"html_url":"https://github.com/wrsmith108/vibe-to-docker","commit_stats":null,"previous_names":["wrsmith108/figma-docker-init","wrsmith108/vibe-to-docker"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/wrsmith108/vibe-to-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrsmith108%2Fvibe-to-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrsmith108%2Fvibe-to-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrsmith108%2Fvibe-to-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrsmith108%2Fvibe-to-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wrsmith108","download_url":"https://codeload.github.com/wrsmith108/vibe-to-docker/tar.gz/refs/heads/pack-master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrsmith108%2Fvibe-to-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30064286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","bolt","docker","figma-make","lovable","v0","vibe-coding"],"created_at":"2026-03-02T20:35:24.782Z","updated_at":"2026-03-03T22:31:18.278Z","avatar_url":"https://github.com/wrsmith108.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vibe-to-Docker\n\n[![npm version](https://badge.fury.io/js/vibe-to-docker.svg)](https://www.npmjs.com/package/vibe-to-docker)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.8.1-brightgreen.svg)](https://nodejs.org/)\n[![Tests](https://img.shields.io/badge/tests-1%2C231%20passing-brightgreen.svg)](https://github.com/wrsmith108/vibe-to-docker)\n[![Coverage](https://img.shields.io/badge/coverage-99.4%25-brightgreen.svg)](https://github.com/wrsmith108/vibe-to-docker)\n\n## 📦 Version Information\n\n### Current Version: v5.0.0 (Universal Vibe-Coding)\n- ✅ **Supported**: Figma, Lovable, Bolt, V0, Replit\n- ✅ **Maintained**: Active development\n- ✅ **License**: Apache 2.0\n- 📦 **Install**: `npm install -g vibe-to-docker`\n\n### Legacy Version: v3.x (Figma Only)\n- ⚠️ **Deprecated**: No longer maintained (November 2025)\n- ⚠️ **Limited**: Figma Make projects only\n- 📦 **Install**: `npm install -g vibe-to-docker@3.4.1` (not recommended)\n- 📖 **Migration**: See [Migration Guide](docs/MIGRATION_V3_TO_V4.md)\n- 🗄️ **Archive**: [v3.x source code](https://github.com/wrsmith108/vibe-to-docker/tree/archive/v3-figma-only)\n\n**Recommendation**: Use v5.0.0 for all new and existing projects.\n\nUniversal Docker containerization tool for AI-generated UX prototypes with **fully automated setup**. While `docker init` handles 60-70% of generic containerization, vibe-to-docker adds **AI tool-specific failure pattern mitigation** through 24 features addressing the documented failure modes in AI-generated code: 82% dependency conflicts, 60-70% environment mismatches, and 48% hardcoded secrets.\n\n**One-command setup** automatically handles Docker containers, dependency installation, and security fixes.\n\n## Why Not Just Use Docker Init?\n\nDocker init optimizes for human-written code. Vibe-to-docker optimizes for **AI tool failure patterns**:\n\n| Problem | Docker Init | Vibe-to-Docker |\n|---------|-------------|----------------|\n| **Dual package managers** (Bolt.new) | ❌ No detection | ✅ Auto-reconciliation (50-60% error reduction) |\n| **Environment variables** | ❌ Manual .env | ✅ Auto-detection + secret warnings |\n| **Framework variants** | ❌ Generic React | ✅ React-Vite vs React-Webpack vs React-Rollup |\n| **Build output paths** | ❌ Assumes /dist | ✅ Detects from config (30% fewer 404s) |\n| **Security headers** | ❌ Basic nginx | ✅ OWASP mitigation + SSL/TLS |\n| **Performance** | ❌ Sequential | ✅ 40% faster (parallel detection) |\n\n## Features (24 Across 6 Categories)\n\n### AI Tool Detection \u0026 Adaptation (5 features)\n- **Automatic Tool Detection**: 95% confidence for Lovable, 80% for Bolt/V0/Figma (multi-signature detection)\n- **Template Composition**: Fragment-based system reduces Dockerfile from 150 → 60-80 lines\n- **Multi-Package Manager Reconciliation**: Eliminates Bolt.new dual lock file conflicts\n- **Framework Variant Detection**: React-Vite, React-Webpack, React-Rollup with early exit optimization\n- **Per-Project Isolation**: `.vibe-docker/` directory prevents root pollution\n\n### Performance Optimizations (4 features)\n- **40% Faster Detection**: Parallel config parsing (Promise.all) for Vite/Rollup/Webpack\n- **Template Fragment Caching**: 60-80% faster repeated operations\n- **Confidence-Based Early Exit**: Skips unnecessary checks when match found\n- **Multi-Stage Build Caching**: 5-10 min → 30-60 sec rebuilds (code-only changes)\n\n### Environment \u0026 Configuration (6 features)\n- **Auto Environment Detection**: Scans source for `process.env.X`, generates `.env.example`\n- **Secret Pattern Identification**: Warns on API_KEY, PASSWORD, TOKEN patterns (48% of AI code)\n- **Build-Time vs Runtime Separation**: VITE_, NEXT_PUBLIC_, REACT_APP_ prefix detection\n- **Dynamic Port Assignment**: Auto-fallback when ports in use (especially 80 → 8888)\n- **Build Output Detection**: Parses configs for correct dist/out/.next paths\n- **Template Variable Validation**: Type-safe {{VARIABLE}} substitution with sanitization\n\n### Security Features (5 features)\n- **Security Headers**: X-Frame-Options, HSTS, CSP, XSS-Protection (40% OWASP mitigation)\n- **Non-Root Execution**: nginx user with limited permissions (100% root damage prevention)\n- **SSL/TLS Ready**: TLSv1.2/1.3 with modern ciphers, session caching\n- **Input Sanitization**: Prevents directory traversal, null byte injection\n- **Read-Only Root FS**: AI agent filesystem access restricted to mounted volumes\n\n### Production Readiness (3 features)\n- **Health Check Endpoints**: `/health` with Docker HEALTHCHECK (50% faster incident detection)\n- **Monitoring Metrics**: Prometheus-compatible `/metrics` endpoint\n- **Gzip Compression**: 60-70% bandwidth reduction for large UI bundles\n\n### Developer Experience (1 feature)\n- **Template Validation**: Pre-generation error detection with actionable warnings\n\n## Quick Start\n\n```bash\n# Navigate to your AI-generated project\ncd your-project\n\n# Initialize Docker configuration (specify your tool)\nnpx vibe-to-docker init --tool=\u003clovable|bolt|v0|figma-make|replit\u003e\n\n# Examples:\nnpx vibe-to-docker init --tool=lovable\nnpx vibe-to-docker init --tool=replit\nnpx vibe-to-docker init --tool=figma-make\n\n# Auto-detection available (may require confirmation)\nnpx vibe-to-docker init\n```\n\n**Automated setup includes:**\n- Docker container build and start (`docker-compose up -d --build`)\n- Dependency installation (`npm install`)\n- Security vulnerability fixes (`npm audit fix --force`)\n\nYour application will be available at `http://localhost:3000`.\n\n## Installation\n\n### One-Time Use (Recommended)\n\n```bash\n# Specify tool explicitly (recommended)\nnpx vibe-to-docker init --tool=\u003clovable|bolt|v0|figma-make|replit\u003e\n\n# Or use auto-detection\nnpx vibe-to-docker init\n```\n\n### Global Installation\n\n```bash\nnpm install -g vibe-to-docker\nvibe-to-docker init --tool=\u003clovable|bolt|v0|figma-make|replit\u003e\n```\n\n### Local Development\n\n```bash\nnpm install --save-dev vibe-to-docker\n```\n\n## Supported Tools\n\n### Lovable (React + Vite + Supabase)\n\n```bash\ncd my-lovable-project\nnpx vibe-to-docker init --tool=lovable\n\n# Configure Supabase credentials in .vibe-docker/.env\n# VITE_SUPABASE_URL=https://xxx.supabase.co\n# VITE_SUPABASE_ANON_KEY=your-key\n\ncd .vibe-docker \u0026\u0026 docker-compose up -d --build\n```\n\n**Features**: Supabase integration, real-time features, authentication\n\n### Bolt (Remix + TypeScript)\n\n```bash\ncd my-bolt-project\nnpx vibe-to-docker init --tool=bolt\n\ncd .vibe-docker \u0026\u0026 docker-compose up -d --build\n```\n\n**Features**: Multi-service orchestration, WebContainer compatibility\n\n### V0 (Next.js 14 + shadcn/ui)\n\n```bash\ncd my-v0-project\nnpx vibe-to-docker init --tool=v0\n\ncd .vibe-docker \u0026\u0026 docker-compose up -d --build\n```\n\n**Features**: Server-side rendering, API routes, static optimization\n\n### Figma Make (React + Vite)\n\n```bash\ncd my-figma-project\nnpx vibe-to-docker init --tool=figma-make\n\ncd .vibe-docker \u0026\u0026 docker-compose up -d --build\n```\n\n**Features**: Design-to-code projects, TypeScript support\n\n### Replit (Full-Stack Node.js + PostgreSQL)\n\n```bash\ncd my-replit-project\nnpx vibe-to-docker init --tool=replit\n\n# Configure database in .vibe-docker/.env\n# DATABASE_URL=postgresql://postgres:password@db:5432/mydb\n# POSTGRES_PASSWORD=password\n\ncd .vibe-docker \u0026\u0026 docker-compose up -d --build\n```\n\n**Features**: Full-stack projects, PostgreSQL integration, Express/React/Three.js support, TypeScript/JavaScript\n\n**Detection**: Auto-detects `.replit` and `replit.nix` files with 80-95% confidence\n\n## Usage\n\n### Commands\n\n```bash\n# Specify tool explicitly (recommended)\nvibe-to-docker init --tool=\u003clovable|bolt|v0|figma-make|replit\u003e\n\n# Initialize with auto-detection (may require confirmation)\nvibe-to-docker init\n\n# Preview without writing files\nvibe-to-docker init --dry-run\n\n# Overwrite existing configuration\nvibe-to-docker init --force\n\n# Show help\nvibe-to-docker --help\n\n# Show version\nvibe-to-docker --version\n\n# List available templates\nvibe-to-docker --list\n```\n\n### Legacy Templates (v2.x Compatible)\n\n```bash\n# Basic setup (simple frontend projects)\nvibe-to-docker basic\n\n# UI-heavy setup (large component libraries)\nvibe-to-docker ui-heavy\n```\n\n## Generated Files\n\nRunning `vibe-to-docker init` creates a `.vibe-docker/` directory in your project:\n\n```\nyour-project/\n├── .vibe-docker/\n│   ├── Dockerfile          # Multi-stage build configuration\n│   ├── docker-compose.yml  # Container orchestration\n│   ├── .dockerignore       # Build optimization\n│   ├── nginx.conf          # Production web server\n│   ├── .env                # Environment variables (auto-created)\n│   ├── .env.example        # Environment template\n│   └── DOCKER.md           # Usage documentation\n└── [your project files]\n```\n\n### File Descriptions\n\n- **Dockerfile**: Optimized multi-stage build with development and production targets\n- **docker-compose.yml**: Service definitions, networks, and volumes\n- **nginx.conf**: Production-ready nginx with security headers and caching\n- **.env**: Auto-generated from template, customize as needed\n- **DOCKER.md**: Comprehensive Docker usage guide\n\n## Docker Commands\n\n### Development\n\n```bash\n# Start containers in background\ndocker-compose up -d --build\n\n# View logs\ndocker-compose logs -f\n\n# Stop containers\ndocker-compose down\n```\n\n### Production\n\n```bash\n# Build production image\ndocker build --target production -t myapp:latest .\n\n# Run production container\ndocker run -p 80:80 --env-file .env myapp:latest\n```\n\n### Maintenance\n\n```bash\n# Rebuild without cache\ndocker-compose build --no-cache\n\n# Clean up Docker resources\ndocker system prune -a\n\n# Remove volumes (caution: deletes data)\ndocker-compose down -v\n```\n\n## Configuration\n\n### Environment Variables\n\nThe `.env` file is automatically created from `.env.example`. Key variables:\n\n```env\n# Application\nNODE_ENV=production\n\n# Container Ports\nDEV_PORT=5173\nNGINX_PORT=3000\n\n# Tool-Specific (Lovable/Supabase)\nVITE_SUPABASE_URL=https://xxx.supabase.co\nVITE_SUPABASE_ANON_KEY=your-key\n\n# Tool-Specific (Next.js)\nNEXT_PUBLIC_API_URL=https://api.yourdomain.com\n```\n\n### Customization\n\nGenerated files serve as a starting point. Common modifications:\n\n- **Dockerfile**: Adjust Node.js version, add dependencies\n- **nginx.conf**: Add SSL, configure reverse proxy\n- **docker-compose.yml**: Add databases, Redis, or other services\n\n## Troubleshooting\n\n### Port Already in Use\n\n```bash\n# Change port in .vibe-docker/.env\nNGINX_PORT=8080\nDEV_PORT=5174\n\n# Restart containers\ndocker-compose up -d --build\n```\n\n### Build Failures\n\n```bash\n# Rebuild without cache\ndocker-compose build --no-cache\n\n# Check Docker logs\ndocker-compose logs app-dev\n```\n\n### Supabase Connection Issues (Lovable)\n\n```bash\n# Verify credentials in .vibe-docker/.env\nVITE_SUPABASE_URL=https://xxx.supabase.co\nVITE_SUPABASE_ANON_KEY=your-anon-key\n\n# Environment variables must be prefixed with VITE_\n# Rebuild after changes\ndocker-compose up -d --build\n```\n\n### Module Not Found Errors\n\n```bash\n# Ensure node_modules is in .dockerignore\n# Rebuild container to reinstall dependencies\ndocker-compose build --no-cache\n```\n\n## Deployment\n\nThe generated Docker configuration works with major cloud platforms:\n\n- **AWS ECS/Fargate**: Production-ready for container services\n- **Google Cloud Run**: Optimized for serverless containers\n- **DigitalOcean App Platform**: Ready for platform deployment\n- **Heroku Container Registry**: Compatible with Heroku\n- **Vercel**: Use Dockerfile for containerized deployments\n\n### CI/CD Example (GitHub Actions)\n\n```yaml\nname: Build and Deploy\non:\n  push:\n    branches: [main]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - name: Build Docker image\n        run: docker build -t app:latest .\n      - name: Push to registry\n        run: docker push your-registry/app:latest\n```\n\n## Documentation\n\n### User Guides\n\n- **[CLI User Guide](docs/CLI_USER_GUIDE.md)** - Complete CLI reference\n- **[Migration Guide v2→v3](docs/MIGRATION_V2_TO_V3.md)** - Upgrade guide\n\n### Tool-Specific Guides\n\n- **[Lovable Guide](docs/guides/LOVABLE_GUIDE.md)** - Fullstack apps with Supabase\n- **[Figma Make Guide](docs/guides/FIGMA_MAKE_GUIDE.md)** - Design-to-code projects\n- **[V0 Guide](docs/guides/V0_GUIDE.md)** - Next.js and Tailwind projects\n- **[Bolt Guide](docs/guides/BOLT_GUIDE.md)** - WebContainer fullstack apps\n\n### Technical Documentation\n\n- **[API Reference](docs/API.md)** - Programmatic usage\n- **[Template Architecture](docs/TEMPLATE_ARCHITECTURE.md)** - System design\n- **[Contributing Guide](CONTRIBUTING.md)** - Development guide\n\n## Requirements\n\n- Node.js \u003e= 20.8.1\n- npm \u003e= 10.0.0\n- Docker \u003e= 20.0.0\n- Docker Compose \u003e= 2.0.0\n\n## License\n\nLicensed under the Apache License, Version 2.0 - see [LICENSE](LICENSE) file for details.\n\nCopyright 2025 Smith Horn Group Ltd.\n\n## Support\n\n- 📖 [Documentation](https://github.com/wrsmith108/vibe-to-docker#readme)\n- 🐛 [Issue Tracker](https://github.com/wrsmith108/vibe-to-docker/issues)\n- 💬 [Discussions](https://github.com/wrsmith108/vibe-to-docker/discussions)\n\n## Research \u0026 Analysis\n\nFeature claims based on:\n- **Codebase Analysis**: 24 verified features in v2.1.0 (November 2025)\n- **Performance Metrics**: 40% detection improvement documented in `src/lib/detection-optimizer.js:32`\n- **Failure Pattern Research**: Analysis of 153M+ lines of AI-generated code\n- **Developer Surveys**: 1,300+ developers using AI coding tools\n\nSee [docs/research/vibe_to_docker_benefits.md](docs/research/vibe_to_docker_benefits.md) for detailed feature analysis and ROI calculations.\n\n## Acknowledgments\n\nBuilt for the AI-powered development community. Supporting Figma Make, Lovable, V0, Bolt, and modern web frameworks.\n\n---\n\n**Made with ❤️ for the AI-powered development community**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrsmith108%2Fvibe-to-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwrsmith108%2Fvibe-to-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrsmith108%2Fvibe-to-docker/lists"}