Skip to content

Set up Cursor Cloud dev environment (web + Android toolchain)#3755

Merged
t3dotgg merged 3 commits into
mainfrom
cursor/setup-dev-environment-a566
Jul 7, 2026
Merged

Set up Cursor Cloud dev environment (web + Android toolchain)#3755
t3dotgg merged 3 commits into
mainfrom
cursor/setup-dev-environment-a566

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

Sets up the Cursor Cloud development environment for T3 Code and records durable, non-obvious notes for future Cursor agents.

  • Web/server toolchain: Node 24.13.1 (nvm, matches engines.node: ^24.13.1), the global vp (Vite+) CLI + bundled pnpm, wired into login shells; deps installed via vp i.
  • Cursor-specific notes now live in .cursor/rules/cursor-cloud.mdc (not the shared AGENTS.md), since T3 Code is developed in many editors — AGENTS.md no longer carries a Cursor Cloud section.
  • Android toolchain for apps/mobile: OpenJDK 17, Android SDK (platforms;android-36, build-tools;36.0.0, platform-tools, ndk;27.1.12297006, cmake;3.22.1), env wired into login shells; expo prebuild + Gradle verified.

Repo changes here are docs-only (AGENTS.md, .cursor/rules/cursor-cloud.mdc). Toolchain installs live in the VM environment; the startup update script stays minimal (vp i).

Verification

Web/server:

  • vp run typecheck — passes (0 errors).
  • vp check — passes (0 errors; formatter clean).
  • vp test — 4473 passed / 2 pre-existing flakes, unrelated to setup.
  • End-to-end: paired the browser, added a project, and had the Claude agent create a file and reply DONE.

Android:

  • expo prebuild --platform android generates the native project successfully.
  • Toolchain proven end-to-end: ./gradlew :react-native-worklets:assembleDebugBUILD SUCCESSFUL, compiling Kotlin + C++ (NDK/CMake) into an AAR + 18 .so libs for arm64-v8a.
  • Full-app :app:assembleDebug is blocked by a pre-existing app-level issue (not the environment): patches/react-native-screens@4.25.2.patch adds new codegen props (subtitle, largeSubtitle, navigationItemStyle, headerCenterBarButtonItems, headerToolbarItems) with no Android Kotlin setters, so :react-native-screens:compileDebugKotlin fails. The mobile README documents only iOS for local builds and routes Android through EAS. No emulator is possible in this VM (no /dev/kvm).

Hello-world demo (Claude agent creating a file via T3 Code UI)

t3code_claude_agent_hello_world.mp4

Android toolchain evidence

android_toolchain_summary.txt

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Note

Add Cursor Cloud dev environment rules for web and Android toolchain

Adds cursor-cloud.mdc, a Cursor agent rules file documenting the development environment setup for Cursor Cloud.

  • Covers Node 24 (via nvm), vp CLI usage, and formatter/lint caveats for the web app
  • Documents the dev server scripts, port behavior, and pairing/provider CLI flow
  • Captures Android native build requirements: JDK 17, Android SDK/NDK versions, prebuild/build commands, emulator limitations, and a known app-level blocker
  • Notes known flaky tests to avoid false alarm investigations

Macroscope summarized cc99928.

Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 53089270-1cf1-43f6-b296-29dbd9c58c3f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/setup-dev-environment-a566

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Jul 7, 2026
cursoragent and others added 2 commits July 7, 2026 00:46
Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>
…oolchain

Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels Jul 7, 2026
@cursor cursor Bot changed the title Set up Cursor Cloud dev environment + document in AGENTS.md Set up Cursor Cloud dev environment (web + Android toolchain) Jul 7, 2026
@@ -0,0 +1,72 @@
---
description: Cursor Cloud environment setup and run notes for T3 Code (Cursor-specific; not for other editors/CI)
alwaysApply: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Medium rules/cursor-cloud.mdc:3

alwaysApply: true injects these Cursor Cloud–specific environment assumptions into every chat session for every clone of the repo, not just Cursor Cloud. Local Cursor users/agents will be told that Node 24, the Android SDK/NDK, and an unauthenticated pairing server are pre-provisioned, which is false outside the Cloud VM and causes agents to skip local setup steps. The file description already scopes it to Cursor Cloud, so this should be opt-in — set alwaysApply: false (or use globs/description-based matching) so the rule only attaches when explicitly relevant.

Suggested change
alwaysApply: true
alwaysApply: false
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @.cursor/rules/cursor-cloud.mdc around line 3:

`alwaysApply: true` injects these Cursor Cloud–specific environment assumptions into every chat session for every clone of the repo, not just Cursor Cloud. Local Cursor users/agents will be told that Node 24, the Android SDK/NDK, and an unauthenticated pairing server are pre-provisioned, which is false outside the Cloud VM and causes agents to skip local setup steps. The file description already scopes it to Cursor Cloud, so this should be opt-in — set `alwaysApply: false` (or use `globs`/`description`-based matching) so the rule only attaches when explicitly relevant.

@t3dotgg
t3dotgg marked this pull request as ready for review July 7, 2026 20:12
@macroscopeapp

macroscopeapp Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

1 blocking correctness issue found. Documentation-only change adding Cursor Cloud environment setup notes. However, an unresolved comment correctly identifies that alwaysApply: true will inject Cloud-specific assumptions to all Cursor users, potentially misleading local developers. This configuration concern should be addressed.

You can customize Macroscope's approvability policy. Learn more.

@t3dotgg
t3dotgg merged commit b9cc8d6 into main Jul 7, 2026
20 checks passed
@t3dotgg
t3dotgg deleted the cursor/setup-dev-environment-a566 branch July 7, 2026 20:19
tarik02 added a commit to tarik02/t3code that referenced this pull request Jul 13, 2026
* Add middle-click close for right panel tabs (pingdotgg#3161)

Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* fix: warm WSL before preflight in WSL-only backend mode (pingdotgg#3588)

* Add Claude Sonnet 5 as the default Claude model (pingdotgg#3620)

* Restore the ultrathink frame border effect (pingdotgg#3625)

* fix(dev): Fix electron dev launch and add test (pingdotgg#3662)

* Add adaptive split-view layout for iPad/mobile workspace (pingdotgg#3514)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): compile patched native pods from source on EAS (pingdotgg#3667)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Make the thread composer read as elevated liquid glass (pingdotgg#3668)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Upgrade Vite Plus and enable bundled dev opt-in (pingdotgg#3679)

* Surface pending tasks in mobile home and draft flow (pingdotgg#3670)

* fix(mobile): combined test branch — scroll, back-swipe, thread lists, computer switching (pingdotgg#3687)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Add repo-root favicon.svg so t3 code shows its own icon (pingdotgg#3683)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Load thread snapshots over HTTP before live sync (pingdotgg#3719)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Fix mobile legend anchor under automatic iOS insets (pingdotgg#3684)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Improve live activity routing and diagnostics (pingdotgg#3685)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Prevent Add Project sheet from collapsing on relayout (pingdotgg#3759)

* Use variant-specific splash icons in mobile app (pingdotgg#3762)

* Fix Expo widget asset wiring order (pingdotgg#3763)

* Extend Done display to 15 minutes and show up to 5 Live Activity banner rows (pingdotgg#3761)

* Clear VCS presentation state on finish (pingdotgg#3764)

* Lead with the outcome when no agents are active in the Live Activity (pingdotgg#3768)

* Add T3 Connect onboarding for mobile and web (pingdotgg#3765)

* Revert "Add T3 Connect onboarding for mobile and web" (pingdotgg#3776)

* Expose Clerk Google sign-in env vars to Expo (pingdotgg#3772)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Set up Cursor Cloud dev environment (web + Android toolchain) (pingdotgg#3755)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>

* Revert "Revert "Add T3 Connect onboarding for mobile and web"" (pingdotgg#3777)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Use rounded depth logo for production splash screen (pingdotgg#3780)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* fix(release): stage pnpm 11 allowBuilds for desktop installs (pingdotgg#3781)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* Upgrade Clerk toolchain to latest versions (pingdotgg#3785)

* fix(release): bump electron-builder so pnpm 11 deduped deps land in the asar (pingdotgg#3790)

* Fix desktop native optional dependency packaging (pingdotgg#3816)

* [codex] Upgrade Clerk stack (pingdotgg#3821)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Preserve worktree metadata during branch sync (pingdotgg#3822)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(client): persist offline environment data and mobile preferences (pingdotgg#3795)

Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Label max and ultra reasoning (pingdotgg#3824)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): embed fonts and render project favicons reliably (pingdotgg#3823)

Co-authored-by: codex <codex@users.noreply.github.com>

* Show compact PR number badges in mobile thread rows (pingdotgg#3827)

Co-authored-by: codex <codex@users.noreply.github.com>

* Expose mobile PR indicator labels to accessibility (pingdotgg#3828)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix truncated chat error alert layout (pingdotgg#3899)

* fix(marketing): show platform-appropriate commit shortcut on the website (pingdotgg#3644)

* [codex] Add Android mobile support (pingdotgg#3579)

Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>

---------

Co-authored-by: Hugo Blom <6117705+huxcrux@users.noreply.github.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>
Co-authored-by: Rowan <rowan@cardow.co>
Co-authored-by: Patricio Gómez Meneses <107218376+Prgm-code@users.noreply.github.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Vedank Purohit <VedankPurohit2@gmail.com>
Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants