Skip to content

Add Cloud Agent development environment for the Server component - #2

Draft
kebkfdbbd wants to merge 1 commit into
mainfrom
jonny/cloud-agent-env-c55e
Draft

Add Cloud Agent development environment for the Server component#2
kebkfdbbd wants to merge 1 commit into
mainfrom
jonny/cloud-agent-env-c55e

Conversation

@kebkfdbbd

Copy link
Copy Markdown
Owner

Summary

Adds a repository-managed Cloud Agent environment (.cursor/environment.json) so this repo is usable in Cloud Agents.

Important scoping note

The primary product — GitHub Copilot for Xcode — is a macOS/Xcode app (platforms: [.macOS(.v13)], AppKit, XPC, Sparkle) that CI builds on macos-latest with xcodebuild. It cannot be built or run on a Linux Cloud Agent VM (no macOS SDK / Xcode). Therefore this environment is scoped to the only part of the repo that builds end-to-end on Linux: the Node/TypeScript Server/ component (the WebKit-hosted terminal and diffView UI bundles + language-server packaging).

What the environment does

install runs from /workspace:

cd Server && npm ci --force && npm run build
  • --force is required because Server/package.json pins darwin-only @github/copilot-language-server-darwin-* binaries as hard dependencies; on Linux npm ci fails with EBADPLATFORM. --force installs the JS packages anyway. The webpack bundles (terminal, diffView) don't import those binaries, so the build is unaffected.
  • Node 22 is already present in the default Cursor base image, so no custom Dockerfile/snapshot is needed.

Validation

  • npm ci --force + npm run build succeed on the default base image (validated on this VM and in a fresh draft environment build).
  • Install is deterministic (lockfile) and the build is idempotent (ran twice cleanly).
  • Built terminal bundle renders an xterm.js terminal and window.writeToTerminal() works; diffView Monaco bundle loads with no console errors.
Open in Web Open in Cursor 

Co-authored-by: køkkeligk <kebkfdbbd@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants