Rip out Theia, bump submodules, retire platform/ scaffold, snapshot docs + design assets

Theia rip-out (parent):
- Remove theia submodule entry (the local fork, Gitea repo, Coolify app,
  Cloud Run services, and Artifact Registry image are all gone)
- Drop README.md + INFRASTRUCTURE.md (obsolete "Project OS" snapshots
  that also leaked API tokens) and setup.sh (Theia clone bootstrap)
- Delete UI-DESIGN-GUIDE.md, BACKEND_AGENTS_PLAN.md, VIBN_BUILD_PLAN.md,
  VISUAL_EDITOR_PLAN.md, core-packages.md, ai-packages.md, tools-list.md
  (all 100% Theia-specific or superseded)
- Surgical scrubs of remaining Theia mentions in
  AGENT_EXECUTION_ARCHITECTURE.md and TURBOREPO_MIGRATION_PLAN.md

Submodule bumps:
- vibn-agent-runner: Theia rip-out + MCP refactor (api/wrapper/server
  pattern across shell/file/git/memory/prd/search/agent/gitea/coolify)
- vibn-frontend: Theia rip-out + P5.1 attach E2E + Justine UI WIP

Retire platform/ scaffold:
- Remove platform/backend/ (control-plane, executors, mcp-adapter),
  platform/client-ide/ (gcp-productos extension), platform/contracts/,
  platform/infra/terraform/, platform/scripts/templates/turborepo/
  (replaced by vibn-agent-runner + vibn-frontend + Coolify direct)
- Drop architecture.md, technical_spec.md, vision-ext.md,
  "1.Generate Control Plane API scaffold.md" (same era)

Docs / planning snapshots (new):
- AI_CAPABILITIES.md, AI_CAPABILITIES_ROADMAP.md
- AGENT_TELEMETRY_STREAMING_PROJECT.md
- VIBN_PRD.md, product-idea-a.md

Design assets (new):
- branding/{coolify,gitea,ux-testing}/ static brand collateral
- justine/ HTML mockups for the new onboarding/build flows
- preview-assist-ui/ Vite scratch app
- master-ai.code-workspace

Infra helpers (new):
- setup-coolify-montreal.sh provisioner
- gitea-docker-compose.yml
- vibn-coolify-schema.sql for the Coolify Postgres extensions
- prd-agent-prompt.pdf, prompt, root.txt, remixed-9edec9e9.tsx scratch
- flatten.sh helper

.gitignore: ignore **/node_modules, **/.next, **/.turbo, **/coverage

Made-with: Cursor
This commit is contained in:
2026-04-22 18:06:37 -07:00
parent 54da4c96da
commit 99deb546c8
153 changed files with 22844 additions and 9496 deletions

370
setup-coolify-montreal.sh Executable file
View File

@@ -0,0 +1,370 @@
#!/bin/bash
# ============================================================================
# Coolify Setup Script for Google Cloud Platform - Montreal Region
# ============================================================================
# CRITICAL: ALL resources will be created in northamerica-northeast1 (Montreal)
#
# This script will:
# 1. Create a VM in Montreal with proper specifications
# 2. Configure firewall rules
# 3. Reserve a static IP
# 4. Install Coolify
# 5. Configure security
#
# Prerequisites:
# - gcloud CLI installed (https://cloud.google.com/sdk/docs/install)
# - Authenticated with GCP: gcloud auth login
# - Project set: gcloud config set project master-ai-484822
# ============================================================================
set -e # Exit on any error
# ============================================================================
# CONFIGURATION - MONTREAL REGION ONLY
# ============================================================================
PROJECT_ID="master-ai-484822"
REGION="northamerica-northeast1" # MONTREAL - DO NOT CHANGE
ZONE="northamerica-northeast1-a" # MONTREAL ZONE A
VM_NAME="coolify-server-mtl"
MACHINE_TYPE="n2-standard-2" # 2 vCPU, 8GB RAM (~$70/month)
BOOT_DISK_SIZE="100GB"
STATIC_IP_NAME="coolify-static-ip-mtl"
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# ============================================================================
# FUNCTIONS
# ============================================================================
print_header() {
echo -e "\n${BLUE}============================================${NC}"
echo -e "${BLUE}$1${NC}"
echo -e "${BLUE}============================================${NC}\n"
}
print_success() {
echo -e "${GREEN}$1${NC}"
}
print_error() {
echo -e "${RED}$1${NC}"
}
print_warning() {
echo -e "${YELLOW}⚠️ $1${NC}"
}
print_info() {
echo -e "${BLUE} $1${NC}"
}
# ============================================================================
# MAIN SETUP
# ============================================================================
print_header "Coolify Setup - Montreal Region (northamerica-northeast1)"
echo "This script will create:"
echo " - VM in Montreal (northamerica-northeast1-a)"
echo " - Static IP address"
echo " - Firewall rules"
echo " - Install Coolify"
echo ""
echo "Estimated cost: ~\$70/month"
echo "Estimated time: ~15-20 minutes"
echo ""
read -p "Continue? (y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
print_error "Setup cancelled"
exit 1
fi
# ============================================================================
# STEP 1: Set Project and Verify Montreal Region
# ============================================================================
print_header "Step 1: Configure GCP Project"
print_info "Setting project to: $PROJECT_ID"
gcloud config set project $PROJECT_ID
print_info "Verifying Montreal region availability..."
if gcloud compute regions describe $REGION &>/dev/null; then
print_success "Montreal region ($REGION) is available!"
else
print_error "Montreal region not available in your project!"
exit 1
fi
# ============================================================================
# STEP 2: Enable Required APIs
# ============================================================================
print_header "Step 2: Enable Required APIs"
print_info "Enabling Compute Engine API..."
gcloud services enable compute.googleapis.com
print_success "APIs enabled"
# ============================================================================
# STEP 3: Reserve Static IP (in Montreal)
# ============================================================================
print_header "Step 3: Reserve Static IP in Montreal"
# Check if IP already exists
if gcloud compute addresses describe $STATIC_IP_NAME --region=$REGION &>/dev/null; then
print_warning "Static IP already exists"
STATIC_IP=$(gcloud compute addresses describe $STATIC_IP_NAME --region=$REGION --format="get(address)")
else
print_info "Creating static IP in Montreal region..."
gcloud compute addresses create $STATIC_IP_NAME \
--region=$REGION
STATIC_IP=$(gcloud compute addresses describe $STATIC_IP_NAME --region=$REGION --format="get(address)")
print_success "Static IP created: $STATIC_IP"
fi
echo ""
print_info "Your Coolify will be accessible at: $STATIC_IP"
echo ""
# ============================================================================
# STEP 4: Create Firewall Rules
# ============================================================================
print_header "Step 4: Configure Firewall Rules"
# Coolify ports firewall rule
if gcloud compute firewall-rules describe allow-coolify-ports &>/dev/null; then
print_warning "Coolify firewall rule already exists"
else
print_info "Creating firewall rule for Coolify ports..."
gcloud compute firewall-rules create allow-coolify-ports \
--direction=INGRESS \
--priority=1000 \
--network=default \
--action=ALLOW \
--rules=tcp:8000,tcp:6001,tcp:6002 \
--source-ranges=0.0.0.0/0 \
--description="Allow Coolify dashboard and services"
print_success "Firewall rules created"
fi
# ============================================================================
# STEP 5: Create VM Instance in Montreal
# ============================================================================
print_header "Step 5: Create VM Instance in Montreal"
# Check if VM already exists
if gcloud compute instances describe $VM_NAME --zone=$ZONE &>/dev/null; then
print_warning "VM already exists: $VM_NAME"
print_info "Checking if it's running..."
VM_STATUS=$(gcloud compute instances describe $VM_NAME --zone=$ZONE --format="get(status)")
if [ "$VM_STATUS" != "RUNNING" ]; then
print_info "Starting VM..."
gcloud compute instances start $VM_NAME --zone=$ZONE
fi
else
print_info "Creating VM in Montreal (this takes ~30 seconds)..."
gcloud compute instances create $VM_NAME \
--zone=$ZONE \
--machine-type=$MACHINE_TYPE \
--network-interface=address=$STATIC_IP,network-tier=PREMIUM \
--metadata=startup-script='#!/bin/bash
apt-get update
' \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--tags=http-server,https-server \
--create-disk=auto-delete=yes,boot=yes,device-name=$VM_NAME,image=projects/ubuntu-os-cloud/global/images/ubuntu-2204-jammy-v20240319,mode=rw,size=$BOOT_DISK_SIZE,type=pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--labels=purpose=coolify,region=montreal \
--reservation-affinity=any
print_success "VM created successfully!"
fi
print_success "VM Details:"
echo " Name: $VM_NAME"
echo " Zone: $ZONE (Montreal)"
echo " IP: $STATIC_IP"
echo " Machine: $MACHINE_TYPE (2 vCPU, 8GB RAM)"
echo ""
# ============================================================================
# STEP 6: Wait for VM to be Ready
# ============================================================================
print_header "Step 6: Waiting for VM to be Ready"
print_info "Waiting for SSH to be available (this may take 30-60 seconds)..."
for i in {1..30}; do
if gcloud compute ssh $VM_NAME --zone=$ZONE --command="echo 'SSH Ready'" &>/dev/null; then
print_success "VM is ready!"
break
fi
echo -n "."
sleep 2
done
echo ""
# ============================================================================
# STEP 7: Install Coolify
# ============================================================================
print_header "Step 7: Install Coolify on Montreal Server"
print_info "Connecting to VM and installing Coolify..."
print_warning "This will take 5-10 minutes. Please be patient..."
gcloud compute ssh $VM_NAME --zone=$ZONE --command='
set -e
echo "📦 Updating system packages..."
sudo apt-get update -qq
sudo apt-get upgrade -y -qq
echo "🐳 Installing Docker prerequisites..."
sudo apt-get install -y -qq curl wget git
echo "🚀 Installing Coolify..."
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
echo ""
echo "✅ Coolify installation complete!"
echo ""
'
print_success "Coolify installed successfully!"
# ============================================================================
# STEP 8: Verify Installation
# ============================================================================
print_header "Step 8: Verify Coolify Installation"
print_info "Checking Coolify service status..."
gcloud compute ssh $VM_NAME --zone=$ZONE --command='
if systemctl is-active --quiet coolify; then
echo "✅ Coolify service is running"
docker ps --format "table {{.Names}}\t{{.Status}}" | grep coolify
else
echo "❌ Coolify service is not running"
exit 1
fi
'
print_success "Coolify is running!"
# ============================================================================
# STEP 9: Display Access Information
# ============================================================================
print_header "🎉 Setup Complete!"
echo ""
echo -e "${GREEN}═══════════════════════════════════════════════════════════${NC}"
echo -e "${GREEN} COOLIFY SETUP SUCCESSFUL!${NC}"
echo -e "${GREEN}═══════════════════════════════════════════════════════════${NC}"
echo ""
echo -e "${BLUE}📍 Server Location:${NC} Montreal, Canada (northamerica-northeast1)"
echo -e "${BLUE}🌐 Access URL:${NC} http://$STATIC_IP:8000"
echo ""
echo -e "${YELLOW}🔐 Default Login Credentials:${NC}"
echo " Email: root@localhost"
echo " Password: password"
echo ""
echo -e "${RED}⚠️ CHANGE PASSWORD IMMEDIATELY after first login!${NC}"
echo ""
echo -e "${BLUE}📝 Next Steps:${NC}"
echo " 1. Open: http://$STATIC_IP:8000"
echo " 2. Login with credentials above"
echo " 3. Change password immediately"
echo " 4. Configure your domain in Coolify settings"
echo " 5. Generate API token for Vibn integration"
echo ""
echo -e "${BLUE}💾 To save your configuration:${NC}"
echo " VM Name: $VM_NAME"
echo " Zone: $ZONE"
echo " IP Address: $STATIC_IP"
echo " Region: $REGION (Montreal)"
echo ""
echo -e "${BLUE}🔗 SSH Access:${NC}"
echo " gcloud compute ssh $VM_NAME --zone=$ZONE --project=$PROJECT_ID"
echo ""
echo -e "${GREEN}═══════════════════════════════════════════════════════════${NC}"
# ============================================================================
# STEP 10: Save Configuration
# ============================================================================
CONFIG_FILE="coolify-montreal-config.txt"
cat > $CONFIG_FILE << EOF
# Coolify Configuration - Montreal Setup
# Created: $(date)
# ============================================
GCP Project: $PROJECT_ID
Region: $REGION (Montreal, Canada)
Zone: $ZONE
VM Name: $VM_NAME
Machine Type: $MACHINE_TYPE
Static IP: $STATIC_IP
Access URL: http://$STATIC_IP:8000
Default Email: root@localhost
Default Password: password
SSH Command:
gcloud compute ssh $VM_NAME --zone=$ZONE --project=$PROJECT_ID
VM Management:
- Start: gcloud compute instances start $VM_NAME --zone=$ZONE
- Stop: gcloud compute instances stop $VM_NAME --zone=$ZONE
- Delete: gcloud compute instances delete $VM_NAME --zone=$ZONE
Next Steps:
1. Access Coolify at http://$STATIC_IP:8000
2. Change password immediately
3. Configure domain for HTTPS
4. Create API token for Vibn
5. Deploy test application
Security Notes:
- Change default password IMMEDIATELY
- Configure SSL certificate after domain setup
- Enable 2FA if available
- Store API tokens securely
EOF
print_success "Configuration saved to: $CONFIG_FILE"
echo ""
print_info "Opening Coolify URL in browser..."
# Try to open in browser (works on Mac/Linux with default browser)
if command -v open &> /dev/null; then
open "http://$STATIC_IP:8000"
elif command -v xdg-open &> /dev/null; then
xdg-open "http://$STATIC_IP:8000"
else
echo "Please manually open: http://$STATIC_IP:8000"
fi
echo ""
print_success "Setup complete! Coolify is ready in Montreal! 🇨🇦"