Skip to content

Add Cursor Cloud Agent environment (JDK 17 + Maven prefetch) - #383

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/cloud-agents-env-6062
Nov 1, 2026
Merged

cursor[bot] merged 2 commits into
mainfrom
cursor/cloud-agents-env-6062

Conversation

@deweyjose

@deweyjose deweyjose commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds a repository-owned Cursor Cloud Agent environment modeled on the lumigraph cloud-env pattern (Dockerfile + install/start split), adapted for this Maven multi-module reactor.

What landed

Path Purpose
.cursor/Dockerfile Lean Ubuntu 24.04 image with OpenJDK 17 only (no system Maven; agents use ./mvnw)
.cursor/environment.json Wires Dockerfile + install / start
.cursor/install.sh Prefetches the full reactor via ./mvnw -B -ntp dependency:go-offline + dependency:resolve-plugins; records a pom/wrapper SHA-256 fingerprint
.cursor/start.sh Minimal boot: warns if the snapshotted fingerprint is stale; starts no services
AGENTS.md Documents pins, script roles, and stale-hash recovery

Pins

  • JDK 17 — matches java.version / CI (actions/setup-java Temurin 17)
  • Maven 3.9.6 via .mvn/wrapper/maven-wrapper.properties (wrapperVersion=3.3.4)
  • Always ./mvnw — never a system mvn

Validation (this agent)

  • bash .cursor/install.sh succeeded twice (idempotent)
  • bash -l .cursor/start.sh hash-match + stale-hash warning paths exercised
  • ./mvnw -B -ntp verify -pl graphqlcodegen-maven-plugin — BUILD SUCCESS
  • Draft environment build bld-20261101-e9bf201a-dff5-4606-b07c-c30cfa16e179 SUCCEEDED (install exit 0; Java 17 + Maven 3.9.6)

Review nit on path stripping addressed in 2a06c5d (sha256sum "${f#./}" in both scripts).

No credentials are baked into the image or scripts.

After merge

Point the Cloud Agent environment at .cursor/environment.json (or Save a dashboard config whose install/start invoke these scripts) so builds snapshot the warmed ~/.m2 and cut spin-up time. A promotable dashboard build must use default-branch refs (after this PR merges).

Open in Web Open in Cursor 

Pin JDK 17 and the repo Maven wrapper (3.9.6), prefetch the full reactor
dependencies in install.sh, keep start.sh to a pom-hash stale warning,
and document the layout in AGENTS.md.

Co-authored-by: richard.e.jose <richard.e.jose@gmail.com>
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Report

Overall Project 95.19% 🍏

There is no coverage information present for the Files changed

@deweyjose deweyjose left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

Purely additive Cloud-Agent infrastructure: four new .cursor/ files (Dockerfile, environment.json, install.sh, start.sh) plus a new "Cloud Agent environment" section in AGENTS.md. No Java, no pom.xml, no @Parameter, and no dependency changes. The scripts pin JDK 17 + Maven 3.9.6 (via ./mvnw), prefetch the reactor into ~/.m2 at environment-build time, and fingerprint the reactor POMs + wrapper so start.sh can warn on drift. Both scripts use set -euo pipefail and prefer the Java 17 home defensively.

Build result

Ran against the PR head (eee1eae):

  • ./mvnw -B -ntp verify spotless:check -pl graphqlcodegen-maven-plugin → BUILD SUCCESS
  • Tests: 68 run, 0 failures, 0 errors, 2 skipped
  • Spotless: 29 files clean, 0 need changes
  • bash -n syntax check: both install.sh and start.sh OK

(Note: this is a push-triggered repo; I built it myself rather than trusting checks. The initial wrapper download hit a transient Maven Central 429 and succeeded on retry — not a PR issue.)

Wiring completeness

N/A — this PR exposes no new codegen option, so there's no Codegen.java → CodegenConfigProvider → CodegenExecutor → CodeGenConfigBuilder → test → README chain to verify.

Backwards compatibility

Not breaking. Checked against every gate criterion: no @Parameter removed/renamed/retyped, no default changed, no generated-output change, no Java/Maven-minimum or goal/phase change, and no generation-path (or any) dependency bump — the PR touches zero pom.xml files. The Dockerfile's JDK 17 / Maven 3.9.6 pins match the existing java.version and wrapper pin rather than changing them.

Risks

  • Low overall. The only coupling worth noting is the POM-fingerprint computation, which bakes ./-prefixed relative paths into the digest (see inline note on .cursor/install.sh:66); it works correctly today because install.sh and start.sh compute it identically from the same ROOT.
  • install.sh / start.sh run only in the Cursor Cloud Agent environment — they are not on any build, test, or release path, so they cannot affect the published plugin or consumers.

Verdict

COMMENT. The change is clean, non-breaking, and builds green, with one cosmetic inline nit. I'm not approving/merging because this is an owner-authored (non-Dependabot) PR, which my review mandate treats as review-only — the merge decision is yours.


Generated by Claude Code

Comment thread .cursor/install.sh Resolved
sha256sum now runs on ${f#./} in install.sh and start.sh so the path
column (and nested digest) is stable when find emits ./prefixed paths.

Co-authored-by: richard.e.jose <richard.e.jose@gmail.com>
@cursor
cursor Bot merged commit fee7ac6 into main Nov 1, 2026
4 checks passed
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