diff --git a/.cursor/environment.json b/.cursor/environment.json new file mode 100644 index 000000000..f804d82e8 --- /dev/null +++ b/.cursor/environment.json @@ -0,0 +1,5 @@ +{ + "install": "#!/bin/bash\nset -e\n\n# Install Docker (needed for runtime, not for build)\nif ! command -v docker &> /dev/null; then\n curl -fsSL https://get.docker.com | sudo sh\n sudo usermod -aG docker ubuntu\nfi\n\n# Initialize git submodules\ngit submodule update --init --recursive\n\n# Enable corepack for Yarn\ncorepack enable\n\n# Build Zoekt binaries\nmkdir -p bin\ngo build -C vendor/zoekt -o $(pwd)/bin ./cmd/...\n\n# Install dependencies and build shared packages\nyarn install\nyarn build:deps\n\n# Create minimal config.json with public repos for E2E testing\ncat > config.json << 'CONFIGEOF'\n{\n \"$schema\": \"https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json\",\n \"connections\": {\n \"github-public\": {\n \"type\": \"github\",\n \"repos\": [\"sourcebot-dev/sourcebot\"]\n }\n }\n}\nCONFIGEOF\n\necho \"[env-setup] Install completed successfully\"", + "start": "#!/bin/bash\nset -e\n\n# Start Docker daemon\nif ! docker info &> /dev/null 2>&1; then\n sudo dockerd > /tmp/dockerd.log 2>&1 &\n sleep 3\n sudo chmod 666 /var/run/docker.sock || true\n # Wait for Docker to be ready\n for i in {1..30}; do\n if docker info &> /dev/null 2>&1; then\n echo \"[start] Docker daemon ready\"\n break\n fi\n sleep 1\n done\nfi\n\n# Start PostgreSQL and Redis containers\ncd /workspace\ndocker compose -f docker-compose-dev.yml up -d\nsleep 5\n\n# Run database migrations\nyarn dev:prisma:migrate:dev\n\n# Start development server\nyarn dev &\n\n# Wait for port 3000 to be ready\necho \"[start] Waiting for http://localhost:3000...\"\nfor i in {1..90}; do\n if curl -s -o /dev/null -w '%{http_code}' http://localhost:3000/ 2>/dev/null | grep -qE '^(200|307)$'; then\n echo \"[start] Server ready on port 3000\"\n break\n fi\n sleep 2\ndone\n\n# Keep container alive\nwait", + "ports": [{"name": "web", "port": 3000}] +}