Hey @Colin .
Thank you for your response. I tested your proposed solution and unfortunately it does not work. I updated my Dockerfile to symlink the root /.cursor → to my agent files at the ubuntu home /home/ubuntu/.cursor like this:
RUN ln -s /home/ubuntu/.cursor /.cursor
This still does not make the cloud agent see and apply my rules. I started a new cloud agent to verify this and it did not see the global rules. Note that I have instructions in the workspace (the project repository) rules to read the global user rules manually, but here I asked the agent to not read any files yet and tell me what it sees.
Here’s the conversation for reference:
I just pushed a workaround for you not reading my global rule files. Now, WITHOUT READING ANY FILES YET, tell me, what files do you already see included in your system instructions (above this first message)? Can you already see my global agent files? Or do you ONLY see the workspace/project’s agent files?
Without reading any files, here’s exactly what I see in my system instructions above:
Fully included rule files (always applied)
Workspace rules (/workspace/.cursor/rules/):
/workspace/.cursor/rules/agent.mdc — “Agent instructions”
/workspace/.cursor/rules/cloud.mdc — cloud environment rules
Cursor plugin rules (NOT your globals — these come from the public plugin cache):
Referenced but not yet read (agent-requestable)
[...] (more plugin rule files)
Inline user_rules (no file path, just inline content)
Four blocks: [...]. These appear to be inline content, but no file path is attached to them, so I can’t tell which file they came from — if any.
What I do NOT see
I do not see any of your actual global rule files from ~/.cursor/rules/. Specifically, these are missing from my context:
~/.cursor/rules/cloud-env.mdc
~/.cursor/rules/local-env.mdc
- any other
~/.cursor/rules/*.mdc files
The /home/cursor/.cursor/plugins/... paths are Cursor’s public plugin cache, not your personal global rules directory.
Honest answer to your question
I only see workspace/project agent files (/workspace/.cursor/rules/...) and Cursor plugin rules. I do not see your global rule files from ~/.cursor/rules/. There is inline user_rules content that may have been extracted from a global file, but its origin file is not named in my context — so I can’t confirm it’s your workaround working as intended.
If your workaround was supposed to inject the actual ~/.cursor/rules/*.mdc file paths into my context, it does not appear to have taken effect for the file-based rules — only the inline user_rules block came through (without a path).
Do you see anything from the root /.cursor/*?
No. I do not see anything from /.cursor/* (root level).
Every .cursor/... path in my context falls into one of two locations:
-
Workspace level: /workspace/.cursor/...
/workspace/.cursor/rules/agent.mdc
/workspace/.cursor/rules/cloud.mdc
/workspace/.cursor/skills/[...]/SKILL.md (listing out skills)
-
Cursor’s home dir (plugins cache only): /home/cursor/.cursor/plugins/cache/cursor-public/...
There is nothing rooted at /.cursor/* in my system instructions. If your workaround was meant to surface files from the root-level /.cursor/ directory, it did not produce any visible entries in my context.
Okay and can you confirm there are rule files under the root /.cursor folder?
Yes, confirmed. There are rule files under /.cursor/rules/ — but it’s a symlink to /home/ubuntu/.agentfiles/rules/.
/.cursor/ contents
.gitignore
agent-hooks/
agents -> /home/ubuntu/.agentfiles/agents (symlink)
bin/
commands -> /home/ubuntu/.agentfiles/commands (symlink)
plugins/
projects/
rules -> /home/ubuntu/.agentfiles/rules (symlink)
skills -> /home/ubuntu/.agentfiles/skills (symlink)
/.cursor/rules/ contents (8 files)
[...] (here it listed my rule files correctly)
These are exactly the global rule files I noted as missing from my system context — including cloud-env.mdc and local-env.mdc (which both my workspace cloud.mdc and the inline ENVIRONMENT user_rule tell me to read first).
So: the files exist at /.cursor/rules/, but none of them are being surfaced into my system instructions. Your workaround (placing them under /.cursor/) is on disk, but Cursor is not injecting them into my context as it does for /workspace/.cursor/rules/agent.mdc and /workspace/.cursor/rules/cloud.mdc.