{"id":29696429,"url":"https://github.com/ryanmaclean/vibecode-webgui","last_synced_at":"2026-02-08T20:17:27.493Z","repository":{"id":305918956,"uuid":"1021075367","full_name":"ryanmaclean/vibecode-webgui","owner":"ryanmaclean","description":"Sample vibecoding platform created with Anthropic Sonnet 4 based on code-server mixed with OpenRouter, monitored via Datadog/OpenTelemetry/Vector. Uses optional PostgreSQL pgvector for RAG implementation.","archived":false,"fork":false,"pushed_at":"2025-07-22T16:17:56.000Z","size":33607,"stargazers_count":0,"open_issues_count":14,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-22T18:10:30.105Z","etag":null,"topics":["code-server","openrouter","vibecoding"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanmaclean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-16T20:57:38.000Z","updated_at":"2025-07-22T16:17:59.000Z","dependencies_parsed_at":"2025-07-22T18:22:35.514Z","dependency_job_id":null,"html_url":"https://github.com/ryanmaclean/vibecode-webgui","commit_stats":null,"previous_names":["ryanmaclean/vibecode-webgui"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ryanmaclean/vibecode-webgui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmaclean%2Fvibecode-webgui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmaclean%2Fvibecode-webgui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmaclean%2Fvibecode-webgui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmaclean%2Fvibecode-webgui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanmaclean","download_url":"https://codeload.github.com/ryanmaclean/vibecode-webgui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanmaclean%2Fvibecode-webgui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266655856,"owners_count":23963557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["code-server","openrouter","vibecoding"],"created_at":"2025-07-23T09:39:23.833Z","updated_at":"2026-01-31T21:47:24.744Z","avatar_url":"https://github.com/ryanmaclean.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VibeCode\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Version](https://img.shields.io/badge/version-1.5.0-blue.svg)](https://github.com/ryanmaclean/vibecode-webgui/releases)\n[![CI](https://github.com/ryanmaclean/vibecode-webgui/actions/workflows/ci.yml/badge.svg)](https://github.com/ryanmaclean/vibecode-webgui/actions/workflows/ci.yml)\n\n**Containerized Development Environment with Full IDE Support**\n\nVibeCode is a containerized development platform providing a complete development environment with SSH access, PostgreSQL database, Valkey cache, and a full VS Code editor in your browser.\n\n## Features\n\n- **Container Native**: Runs on Docker, Podman, Kubernetes, or Apple Containers\n- **Full Development Stack**:\n  - OpenVSCode Server - Full VS Code editor in your browser\n  - PostgreSQL 16 - Production-ready relational database\n  - Valkey - High-performance in-memory data store\n  - SSH Server - Secure remote access\n- **Volume Mounting**: Persistent storage and file sharing with host\n- **Multi-Platform**: macOS (Apple Silicon + Intel), Linux\n- **Orchestration Ready**: Works with Gas Town multi-agent orchestration\n\n## Quick Start\n\n### Prerequisites\n\n- Docker, Podman, or compatible container runtime\n- 2GB RAM available\n- 500MB disk space\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/ryanmaclean/vibecode-webgui.git\ncd vibecode-webgui\n\n# Start with Docker Compose\ndocker compose up -d\n\n# Or use the launcher\n./install.sh\nvibecode start\n\n# Check status\nvibecode status\n\n# Access services\nvibecode ssh              # SSH access\nopen http://localhost:8080     # OpenVSCode in browser\n```\n\nSee [QUICK-START.md](QUICK-START.md) for more details.\n\n### Container Runtimes\n\nVibeCode supports multiple container runtimes:\n\n| Runtime | Status | Notes |\n|---------|--------|-------|\n| Docker | Supported | Primary runtime |\n| Podman | Supported | Daemonless alternative |\n| Kubernetes | Supported | Production orchestration |\n| Apple Containers | Planned | Native macOS containers |\n\nSee [Issue #877](https://github.com/ryanmaclean/vibecode-webgui/issues/877) for runtime roadmap.\n\n### Access Services\n\n- **OpenVSCode**: http://localhost:8080\n- **SSH**: `ssh root@localhost -p 2222` (password: `vibecode`)\n- **PostgreSQL**: `psql -h localhost -U postgres`\n- **Valkey**: `redis-cli -h localhost -p 6379`\n\n## What's Inside\n\n### Services\n\n| Service | Port | Description |\n|---------|------|-------------|\n| OpenVSCode Server | 8080 | Full VS Code editor with terminal |\n| SSH (Dropbear) | 22 | Secure shell access |\n| PostgreSQL 16 | 5432 | Relational database |\n| Valkey | 6379 | In-memory cache and data store |\n\n### Performance\n\n- **Startup Time**: ~5 seconds from container start to IDE ready\n- **Memory Usage**: ~400MB baseline\n- **Image Size**: ~500MB compressed\n- **Services**: Parallel startup for maximum efficiency\n\n## Volume Mounting\n\nShare files between your host and the container:\n\n```bash\n# Docker\ndocker run -v /path/to/project:/workspace vibecode\n\n# Docker Compose (recommended)\n# Edit docker-compose.yml volumes section\nvolumes:\n  - ./workspace:/workspace\n  - vibecode-data:/data\n```\n\nFiles will be mounted at `/workspace` inside the container. See [Volume Mounting Guide](docs/volume-mounting.md) for details.\n\n## Gas Town CI Failure Webhook\n\nVibeCode now exposes `POST /api/webhooks/github-actions`, which ingests GitHub Actions\n`workflow_run` failures and automatically slings beads to Gas Town polecats.\n\n1. Configure the following environment variables (see `env.*.example`):\n   - `GITHUB_WEBHOOK_SECRET` – shared secret used to verify incoming notifications\n   - `GASTOWN_WEBHOOK_URL` (+ optional `GASTOWN_API_TOKEN`, `GASTOWN_RIG`, `GASTOWN_DEFAULT_PRIORITY`)\n2. Add the secrets `GASTOWN_WEBHOOK` and `GITHUB_WEBHOOK_SECRET` to your GitHub repository.\n3. The workflow in `.github/workflows/notify-gastown.yml` will post `workflow_run`\n   failures to the webhook, including the raw event payload and HMAC signature.\n\nWhen Gas Town acknowledges the request it responds with the bead ID and assigned\npolecat, and the webhook logs trace IDs + payload metadata for observability.\n\n## Use Cases\n\n- **Development Environments**: Full-stack development with code editor, database, and cache\n- **Testing**: Isolated environments for integration testing\n- **Education**: Learn Linux, databases, and web development\n- **Prototyping**: Rapid application development with persistent storage\n- **CI/CD**: Lightweight build and test environments\n\n## CLI Tool\n\nVibeCode includes a command-line tool for easy container management:\n\n```bash\n# Start/stop/restart\nvibecode start              # Start containers\nvibecode stop               # Stop containers\nvibecode restart            # Restart containers\n\n# Status and access\nvibecode status             # Show container and service status\nvibecode ssh                # SSH into the container\nvibecode logs               # View container logs\nvibecode logs -f            # Follow logs in real-time\n\n# Configuration\nvibecode config show        # Show current configuration\nvibecode config edit        # Edit configuration\n\n# Help\nvibecode help               # Show help\nvibecode version            # Show version info\n```\n\n### Features\n\n- Single command to start/stop/restart containers\n- Automatic service health checking\n- Built-in SSH with password handling\n- Log viewing and following\n- Configuration management\n- Volume mounting setup\n- Datadog monitoring integration\n\nSee [UNIFIED-TOOL-GUIDE.md](UNIFIED-TOOL-GUIDE.md) for complete documentation.\n\n## Documentation\n\n- [Quick Start Guide](QUICK-START.md) - Get up and running in 5 minutes\n- [Unified Tool Guide](UNIFIED-TOOL-GUIDE.md) - Complete launcher documentation\n- [Volume Mounting](docs/volume-mounting.md) - File sharing between host and VM\n- [Performance \u0026 Optimization](docs/optimization.md) - Boot time and size optimizations\n- [Architecture](docs/architecture.md) - Technical details and design decisions\n- [Troubleshooting](docs/troubleshooting.md) - Common issues and solutions\n\n## Building from Source\n\nWant to customize the VM or build it yourself? See [CONTRIBUTING.md](CONTRIBUTING.md) for build instructions.\n\n## Performance Benchmarks\n\nTested on Apple Silicon and Linux:\n\n- **Container Start**: ~5 seconds to IDE ready\n- **Image Pull**: ~30 seconds (first time only)\n- **Service Startup**: Parallel (all services launch simultaneously)\n- **Memory Footprint**: ~400MB baseline, ~800MB with active workload\n- **Image Size**: ~500MB compressed\n\n## Technical Highlights\n\n- **Container Native**: Runs on any OCI-compliant runtime\n- **Multi-Arch**: Supports ARM64 and AMD64 architectures\n- **Parallel Startup**: Services launch simultaneously for fast boot\n- **Optimized Images**: Minimal base images with multi-stage builds\n- **Health Checks**: Built-in container health monitoring\n\n## System Requirements\n\n### Host System\n- macOS, Linux, or Windows with WSL2\n- Docker, Podman, or compatible container runtime\n- 4GB RAM (2GB for container, 2GB for host)\n- 1GB free disk space\n\n### Container Resources\n- 2 CPU cores (configurable)\n- 2GB RAM (configurable, minimum 1GB)\n- ~500MB disk space for images\n\n## Community \u0026 Support\n\n- **Issues**: [GitHub Issues](https://github.com/ryanmaclean/vibecode-webgui/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/ryanmaclean/vibecode-webgui/discussions)\n- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## License\n\nVibeCode VM is open source software licensed under the [MIT License](LICENSE).\n\n## Acknowledgments\n\nBuilt with:\n- [OpenVSCode Server](https://github.com/gitpod-io/openvscode-server) - VS Code in the browser\n- [PostgreSQL](https://www.postgresql.org/) - World's most advanced open source database\n- [Valkey](https://valkey.io/) - High-performance in-memory data store\n- [Docker](https://www.docker.com/) - Container platform\n- [Gas Town](https://github.com/ryanmaclean/gas-town) - Multi-agent orchestration\n\n## Project Status\n\nVibeCode VM is currently in **active development**. The core functionality is stable and ready for use, with ongoing improvements to documentation, testing, and features.\n\nCurrent Version: **v1.5.0**\n\n---\n\n**Made with care for developers who value speed and simplicity.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanmaclean%2Fvibecode-webgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanmaclean%2Fvibecode-webgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanmaclean%2Fvibecode-webgui/lists"}