🐜

Cursorでmdcファイルが壊される?→フロントマター5行制限が原因っぽい

に公開

Cursorでルールを作成しながら作業してたんですが、mdcファイルに限り、フロントマターを破壊するのが続いてて、なんとか回避用のルール書いたりしてたんですが、うまく言ったり行かなかったり・・・
色々試行錯誤して気が付いたんですが、

6行以上のフロントマターを作成すると高確率で破壊される

という事がわかりました。

どうやら、AIエージェント側はread_file、edit_fileという内部ツールを使ってるようですが、このツールがmdcファイルに限り、必ず物理ファイルの6行目以降から参照、修正するようになっているみたいです。
AIエージェントから見たら全く検知できないらしく、彼らの推測にそっても全く分からず。。。(Gemini 2.5-Proは挫折してましたw)

手書きしてたら壊れる事は無いんですが、AIエージェントに操作させたとき、フロントマターが6行以上あったら、AIエージェントが不要な「---」として削除して、フロントマターの破壊が完了するようですね。

という事で、↓だと大丈夫。
※行数がポイントなので、globsも改行入れたらアウトになるよ。

mdcファイルのフロントマター形式例(必ず5行!)

---
description: "mdcファイルのフロントマタールール"
globs: ["*.mdc", "*.md", "specific-file.txt"]
alwaysApply: true
---

↓だと

ワイがぶっ壊され続けた mdcファイルのフロントマター形式例

---
description: "ルールの簡潔な説明文(必須)"
globs: ["*.md", "*.js", "specific-file.txt"]
tags: ["category1", "category2", "feature"]
priority: 1
version: "1.0.0"
alwaysApply: true
---

上だと、AIエージェントがread_fileで見たら

alwaysApply: true
---

こんな風に見えてるみたい。
なので普通に消してきますw

ちなみに、コンテンツ部分を5行目以内に書いてしまうと、
読み込んでくれません・・・
当面、mdcのフロントマターは絶対5行で書きましょう。

※現時点の内部仕様かなと思うので、そのうち挙動が変わるかも?

なんかめっちゃ時間とられちゃったので共有しときます!
良いAIコーディングライフを!

こんな取組やってます!
https://note.com/tosisisi/n/n611e37c695f3

Discussion