Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .cursor/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
cmake \
curl \
g++ \
git \
jq \
libayatana-appindicator3-dev \
libgtk-3-dev \
librsvg2-dev \
libssl-dev \
libstdc++-14-dev \
libwebkit2gtk-4.1-dev \
pkg-config \
python3 \
sudo \
unzip \
xvfb \
&& rm -rf /var/lib/apt/lists/*

# Hermit and the repo checkout expect a normal non-root user.
RUN useradd -m -s /bin/bash ubuntu \
&& echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

USER ubuntu
WORKDIR /home/ubuntu
9 changes: 9 additions & 0 deletions .cursor/environment.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "Berd",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"user": "ubuntu",
"install": "./scripts/cloud-agent-install.sh"
}
15 changes: 15 additions & 0 deletions scripts/cloud-agent-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail

repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$repo_root"

# Pin tool versions to the repo's Hermit environment (just, node, pnpm, rust).
source "$repo_root/bin/activate-hermit"

export PATH="$repo_root/bin:$PATH"
export CI="${CI:-true}"

# Skip git hooks in cloud agents; they are not needed for validation workflows.
just _setup-dev-deps
GOOSE_DEV_MODE=required GOOSE_BUILD_PROFILE=debug ./scripts/ensure-local-goose.sh