🐜
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コーディングライフを!
こんな取組やってます!
Discussion