ルール : 守ってほしい約束を書く
プロジェクトの約束事は `AGENTS.md`(または `GEMINI.md`)に書いておきます。フォルダごとに置けて、そのフォルダ以下すべてに効きます。
用意するもの
- プロジェクトのフォルダ
1. 一番上に置く
プロジェクトのルートに `AGENTS.md` を作ります。
2. 約束事を箇条書きにする
「テストはJestで書く」「このフォルダは触らない」のように、判断に迷わない書き方にします。
3. フォルダごとに足す
特定のフォルダだけの決まりは、そのフォルダに `AGENTS.md` を置きます。上の階層のルールと合わさって効きます。
4. 短く保つ
長くなったら、手順の説明はへ移します。ルールには約束事だけを残します。
~/manual-demo $ agy -p "このフォルダの AGENTS.md を読んで、書かれているルールのうち、いま src/order.js が守れていないものを挙げて。直さずに指摘だけして。" --add-dir /root/manual-demoAGENTS.md のルールと現在の src/order.js を照らし合わせた結果、以下の点がルールを守れていません。 対象のルール> 未実装事項には // TODO: ... が使われている。 守れていない箇所1. reduceStock 関数(src/order.js:7-10) 「在庫がマイナスになることを防ぐチェックがない」という未実装事項が存在しますが、 コメントが「// 在庫がマイナスになっても止めない」となっており、 TODO: プレフィックスが付いていません。2. confirm 関数(src/order.js:12-16) 「トランザクションや、注文の挿入に失敗した場合の在庫の巻き戻しはない」という 未実装事項が存在しますが、該当する // TODO: コメント自体が記述されていません。
コピーして使える依頼文
このリポジトリの AGENTS.md を作って。既存のコードから、実際に守られている書き方を読み取って書いて。守られていない理想論は書かないで。
この依頼文だと、こう返ってきます
既存のコードから読み取れた実態です。
- インデントは半角2つ(全ファイルで一致)
- 非同期処理は async/await(Promise.then は2ファイルのみ、いずれも古い箇所)
- テストは *.test.js を同じフォルダに置く
1点、揺れているものがありました。エラーの投げ方が、独自クラスと素のErrorで半々です。どちらに寄せますか。決まるまで AGENTS.md には書きません。
実際の返答はそのときの資料や状況で変わります。形の目安として載せています。
完成チェック
- 言わなくても規約どおりに書かれた
- 触ってほしくない場所が守られた