Add Cloud Agent Swift-on-Linux development environment - #16
Open
djpfs wants to merge 2 commits into
Open
Conversation
Macker is a macOS-only app (SwiftUI/AppKit + apple/container libxpc), so it cannot be built/tested/run on Linux Cloud Agents. This adds a repo-managed environment that installs the pinned Swift 6 toolchain so agents can edit, resolve dependencies, and run swift-format. - .cursor/Dockerfile: FROM swift:6.1-noble + git/curl, ubuntu user - .cursor/install.sh: idempotent 'swift package resolve' - .cursor/environment.json: repo-managed config - .cursor/README.md: documents the macOS-only build limitation Co-authored-by: João Pedro Freire <djpfs@users.noreply.github.com>
A committed .cursor/Dockerfile is not built by just-in-time Cloud Agents, and a greenfield run cannot validate a Dockerfile via trigger-environment-build. Switch to a repo-managed default-image environment whose install.sh installs the pinned Swift 6 toolchain (idempotent/self-healing) so it can be built and verified with the standard environment-build flow. - Remove .cursor/Dockerfile - install.sh: install swiftly + Swift 6.1 on first boot, then resolve deps - environment.json: default image + install step - README: document repo-managed default-image setup Co-authored-by: João Pedro Freire <djpfs@users.noreply.github.com>
djpfs
marked this pull request as ready for review
August 28, 2026 02:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a repo-managed Cursor Cloud Agent environment for Macker.
Macker is a macOS-only application — the GUI uses SwiftUI/AppKit and
ContainerBackendtalks to Apple'scontainer-apiserveroverlibxpc(xpc_connection_*) plus theSecurityframework, none of which exist on Linux and are not guarded by#if os(...). Cloud Agents run on x86_64 Linux, so the full product cannot be built, tested, or run here (CI builds/tests onmacos-15). This environment therefore provides the pinned Swift 6 toolchain so agents can still do useful work: edit sources with SourceKit-LSP, resolve dependencies, and run the same formatter CI uses.What this adds
.cursor/environment.json— repo-managed config running on Cursor's default Linux image..cursor/install.sh— idempotent, self-provisioning: installs the pinned Swift 6.1 toolchain (viaswiftly, matchingswift-tools-version: 6.0) on first boot, thenswift package resolve. Does not runswift build, which cannot succeed on Linux by design..cursor/README.md— documents the macOS-only build limitation and what the Linux environment can/cannot do.The install step is self-healing so it works on the default image and is baked into environment builds on subsequent boots. (A committed
Dockerfilewas intentionally dropped: just-in-time Cloud Agents don't build a repoDockerfile, and a greenfield run can't validate one via the build tooling — a self-provisioning install step is fully validatable instead.)Capabilities on Linux
swift package resolveswift format lint -r Sources Testsswift build/make buildswift test/make testmackerValidation
swift package resolvesucceeds on Linux (Swift 6.1.3).install.shruns cleanly and is idempotent (fast path re-run verified).swift buildfails only on Darwin-only frameworks (xpc_connection_t,Security), confirming the toolchain is correctly wired and the sole blocker is the macOS platform.swift formatruns againstSources/Tests.install.shfrom scratch on a clean image, plus a fresh agent booted from the resulting build.