След като Cursor пусна режим за планиране със запазване във файл, реших да допиля и публикувам моя набор от правила за Cursor. Той се събра от работа по няколко десетки проекта и сега успешно (май) се използва в няколко компании. Ползван е и за код, и за инфраструктура (Terraform, Ansible, Helm).

Основната идея е да работиш съвместно с агента, като запазваш контрол над процеса и играеш ролята на guardrail между етапите, като ги превключваш явно чрез @task-*.

Ключови принципи:

  • унифициране на инструкциите (в процес): настройката на нов проект трябва да се свежда до избор на правила и редакция на main.mdc;
  • разделяне на инструкциите по типове:
    • task-* [Apply Manual] — етапи на работа по задачата;
    • rules-* [Always Apply] — правила на работа: TDD, code style и т.н.
    • docs-* [Always Apply] — правила за документация;
    • run-commands.mdc [Always Apply] — описание на конзолни команди за поддръжка на проекта;
    • howto-* [Apply Intelligent] — автоматични инструкции за ситуативни задачи, които могат да възникнат за модела по време на работа;
  • документацията като дългосрочна памет на агента:
    • цялата документация трябва да е в репото;
    • два варианта на схема за документация: cline-bank (7 файла) и опростена (Software Requirements Specification + Software Design Specification, 4 файла);
    • документация в компактен стил и отделна задача за нейното „компактиране“;
  • запазване на текущата задача във файл (./documents/whiteboard.md) за предаване между чатове и етапи;
  • максимален автоматичен контрол на регресиите: цялата проверка на проекта се свежда до една команда (./run check), така че агентът да не може да изпълни само част от проверките; същата се ползва и в CI;
  • единен entrypoint за всички команди на проекта (./run).

Инструкциите далеч не са идеални и засега нямам време за отделно доизпипване, но работят — и работят много по-добре от гола IDE.

https://github.com/korchasa/ide-rules