Add AGENTS.md for Cursor Cloud development environment#9685
Add AGENTS.md for Cursor Cloud development environment#9685nickmisasi wants to merge 4 commits intomainfrom
Conversation
- Android SDK setup and emulator configuration (API 28, software emulation) - Docker-based Mattermost Server setup with enterprise license - npm install workarounds for missing iOS tooling on Linux - APK installation fast-path using adb push + pm install - ADB interaction notes for React Native TextInput limitations Co-authored-by: Nick Misasi <nick13misasi@gmail.com>
Coverage Comparison ReportGenerated on April 13, 2026 at 20:29:31 UTC |
Co-authored-by: Nick Misasi <nick13misasi@gmail.com>
…tructions - Document mobile-mcp as recommended interaction method - Add computerUse subagent 100-image limit caveat - Add REST API fallback for posting messages - Add Docker daemon startup instructions Co-authored-by: Nick Misasi <nick13misasi@gmail.com>
Cloud-specific instructions are stored in AGENTS.CLOUD.md and only copied to AGENTS.md by the VM update script, so they don't affect local developer setups. Co-authored-by: Nick Misasi <nick13misasi@gmail.com>
|
@enahum for context: this file is used by the Cursor Cloud Agents to help with environment setup - let's them run the mobile app directly in their cloud sandbox to test but fixes, record walk throughs of them, etc. |
📝 WalkthroughWalkthroughA new documentation file Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
AGENTS.CLOUD.md (1)
80-80: Pin Docker image to a stable tag (or digest)Line 80 uses
mattermost/mattermost-enterprise-edition:master, which is non-reproducible and can break setup as upstream moves. Pin to a known version (or digest).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@AGENTS.CLOUD.md` at line 80, Replace the floating Docker tag mattermost/mattermost-enterprise-edition:master with a pinned immutable reference; update the image string to a specific release tag (e.g., mattermost/mattermost-enterprise-edition:vX.Y.Z) or better yet a content digest (sha256:...) so the deployment is reproducible, and document the chosen tag/digest and its upstream release date in the same section for future updates.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@AGENTS.CLOUD.md`:
- Around line 1-3: Update the top headers so they match the file name and use
consistent hyphenation: change the main header text "# AGENTS.md" to "#
AGENTS.CLOUD.md" and change the subheader "## Cursor Cloud specific
instructions" to "## Cursor Cloud-specific instructions" so the document title
and the Cloud-specific phrasing are consistent with the filename and style.
- Line 112: Replace the instruction that recommends running `chmod 666
/var/run/docker.sock` with guidance to avoid world-writable socket permissions:
advise adding the user to the `docker` group (e.g., `usermod -aG docker
<user>`), or configuring rootless Docker, or using more secure socket ACLs
(e.g., `setfacl`) or chown to the `docker` group so only authorized users can
access `/var/run/docker.sock`; explicitly state not to use `chmod 666` and
include a short note about security risks.
---
Nitpick comments:
In `@AGENTS.CLOUD.md`:
- Line 80: Replace the floating Docker tag
mattermost/mattermost-enterprise-edition:master with a pinned immutable
reference; update the image string to a specific release tag (e.g.,
mattermost/mattermost-enterprise-edition:vX.Y.Z) or better yet a content digest
(sha256:...) so the deployment is reproducible, and document the chosen
tag/digest and its upstream release date in the same section for future updates.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
| # AGENTS.md | ||
|
|
||
| ## Cursor Cloud specific instructions |
There was a problem hiding this comment.
Align heading with actual file name and hyphenation
Line 1 says # AGENTS.md in AGENTS.CLOUD.md, and Line 3 should read “Cloud-specific” for consistency/readability.
Suggested doc change
-# AGENTS.md
+# AGENTS.CLOUD.md
-## Cursor Cloud specific instructions
+## Cursor Cloud-specific instructions📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # AGENTS.md | |
| ## Cursor Cloud specific instructions | |
| # AGENTS.CLOUD.md | |
| ## Cursor Cloud-specific instructions |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: When ‘Cloud-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: # AGENTS.md ## Cursor Cloud specific instructions ### Environment Overview ...
(SPECIFIC_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@AGENTS.CLOUD.md` around lines 1 - 3, Update the top headers so they match the
file name and use consistent hyphenation: change the main header text "#
AGENTS.md" to "# AGENTS.CLOUD.md" and change the subheader "## Cursor Cloud
specific instructions" to "## Cursor Cloud-specific instructions" so the
document title and the Cloud-specific phrasing are consistent with the filename
and style.
| SESSION_NAME="dockerd" | ||
| tmux -f /exec-daemon/tmux.portal.conf new-session -d -s "$SESSION_NAME" -- sudo dockerd | ||
| ``` | ||
| After starting, fix socket permissions: `sudo chmod 666 /var/run/docker.sock` |
There was a problem hiding this comment.
Avoid world-writable Docker socket permissions
Line 112 recommends chmod 666 /var/run/docker.sock, which weakens host security significantly. Prefer group-based access instead (docker group) or rootless Docker.
Suggested doc change
-After starting, fix socket permissions: `sudo chmod 666 /var/run/docker.sock`
+After starting, prefer group-based Docker access instead of opening the socket to all users:
+`sudo usermod -aG docker "$USER"` (then re-login), or run Docker in rootless mode.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| After starting, fix socket permissions: `sudo chmod 666 /var/run/docker.sock` | |
| After starting, prefer group-based Docker access instead of opening the socket to all users: | |
| `sudo usermod -aG docker "$USER"` (then re-login), or run Docker in rootless mode. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@AGENTS.CLOUD.md` at line 112, Replace the instruction that recommends running
`chmod 666 /var/run/docker.sock` with guidance to avoid world-writable socket
permissions: advise adding the user to the `docker` group (e.g., `usermod -aG
docker <user>`), or configuring rootless Docker, or using more secure socket
ACLs (e.g., `setfacl`) or chown to the `docker` group so only authorized users
can access `/var/run/docker.sock`; explicitly state not to use `chmod 666` and
include a short note about security risks.
|
@coderabbitai resolve These are specific instructions for a sandbox environment. |
|
Tip For best results, initiate chat on the files or code changes.
[resolve] |
enahum
left a comment
There was a problem hiding this comment.
Some comments, give me your feedback
| | Lint | `npm run lint` | | ||
| | TypeScript check | `npm run tsc` | | ||
| | Auto-fix lint | `npm run fix` | | ||
| | Unit tests | `npm run test` | |
| ### Android SDK | ||
|
|
||
| - Installed at `/opt/android-sdk` with env vars in `~/.bashrc` (`ANDROID_HOME`, `ANDROID_SDK_ROOT`, `JAVA_HOME`, `PATH`). | ||
| - SDK components: platform-tools, platforms;android-35, build-tools;35.0.0, ndk;27.1.12297006, emulator, system-images;android-28;default;x86_64. |
There was a problem hiding this comment.
Probably best to read the tools and ndk versions from the gradle file as they will change in time
|
|
||
| ### Test Notes | ||
|
|
||
| - Jest tests: 551/552 suites pass. 2 snapshot failures in `app/components/formatted_date/index.test.tsx` for the `ko` locale are a pre-existing Node.js `Intl` formatting difference (Korean meridiem `오전` vs `AM`), not a code issue. |
There was a problem hiding this comment.
Careful with this, we want to continue adding tests
| - Jest tests: 551/552 suites pass. 2 snapshot failures in `app/components/formatted_date/index.test.tsx` for the `ko` locale are a pre-existing Node.js `Intl` formatting difference (Korean meridiem `오전` vs `AM`), not a code issue. | ||
| - Build for Android with `-PreactNativeArchitectures=x86_64` to speed up builds (only targets the emulator arch). | ||
|
|
||
| ### Interacting with the Emulator |
There was a problem hiding this comment.
Have you looked into integrating this with Maestro? Perhaps ot could write the end to end tests with Maestro and just run them?
Summary
Adds
AGENTS.CLOUD.mdwith Cursor Cloud-specific development environment instructions for future cloud agents. The VM update script copies it toAGENTS.mdon startup so it only affects cloud agent environments, not local developer setups.Documents:
MM_SERVICEENVIRONMENT=testrequired)adb push+pm install+ dex optimizationTicket Link
N/A — environment setup documentation
Checklist
Device Information
This PR was tested on: Android API 28 emulator (x86_64, software emulation) on Linux Cloud VM
Screenshots
Release Note