How do I get the LLMs to do what I want?

Thanks for the detailed info. Replying point by point:

  1. Duplicate rules in the UI with “Applies to subdirectory”

This is a known UI issue, the bug is already being worked on: [Bug] Settings: Project Rules show duplicate entries in v2.0

Good news, it’s only a visual issue. The rules are applied correctly. The duplicates don’t affect context.

  1. The agent ignores TDD rules

Sadly, this is a known instability with alwaysApply: true even in the .mdc format. Confirmed here: Rules not being applied as expected

Working workarounds:

  • Explicit mention: At the start of each chat, type @tdd.mdc to make sure the rule is included
  • User Rules: Copy the critical TDD instructions into Settings > Rules > User Rules (global, always applied)
  • Concrete examples: Instead of “you MUST create tests first”, give a step by step example:
    Before implementing:
    1. Create test file: tests/[feature].test.ts
    2. Run: npm test (should fail)
    3. Write implementation
    4. Run: npm test (should pass)
    
  • Structured format: Try Chris Drake’s approach from that topic, use HTML or XML style markup for a clearer rule hierarchy
  1. The agent doesn’t follow the full plan

Can you share an example plan where tasks were skipped? That’ll help spot the pattern. Also please include:

  • Request ID from the problematic chat (Chat menu > Copy Request ID)
  • Which models you used for planning and execution
  • Project size (number of files)
  1. Issue with the RULE.md format

You’re right, the docs recommend .cursor/rules/<name>/RULE.md, but in version 2.3.29 the UI creates .mdc files directly. That’s a legacy format that still works. The new structure was fixed in recent versions, so it might be worth updating to the latest.

Try the workarounds above and let me know if they help. I’m especially interested in the Request ID where the agent ignores the TDD rules.

1 Like