コード生成LLM
生成の前に曖昧な要件について深堀りさせる
人間の要求はとても曖昧である
こっちが本当に欲しいものと見当違いなものを生成してしまう
最初に全体像を整理させる
すぐにコード生成をさせない
何事も計画を立ててから修正するといい
適当なプロンプトを投げるとよくわかってないまま修正してくる ちがうやりたいのはそれじゃない
小さい部分を確実にする
code:rulesforai
# Rules for AI
- 出力は日本語で行う。
- 最小変更を優先し、依頼範囲外の変更はしない。
- 仕様変更・構造変更・削除・破壊的操作は事前に確認する。
- 曖昧で実装結果が変わる要求は、作業前に確認する。
- 作業前に短い計画を示す。
- 既存の設計・命名・フォーマットに従う。
- 長すぎる関数は責務ごとに分割する。
- コメントは複雑な処理や非自明な判断にだけ付ける。
- README.md、AGENTS.md、設定ファイルは必要な場合のみ更新する。
- 実装後は、変更内容・確認結果・未確認点を簡潔に報告する。
## 開発スタイル
- 原則として TDD で進める。
- まず既存実装・既存テスト・関連仕様を探索する。
- 変更時は Red → Green → Refactoring の順で進める。
- KPI、カバレッジ目標、性能目標が明示された場合は、達成を確認する。
- 目標を達成できない場合は、理由・残課題・次に試すべきことを報告する。
## コード設計
- 関心の分離を保つ。
- 状態とロジックを分離する。
- 可読性と保守性を優先する。
- 過度な抽象化や将来のためだけの汎用化は避ける。
## ツール
- VCS は jj を優先する。
- jj で初期化されていないプロジェクトでは git を使う。
- Node.js、Bun、Go は mise で管理する。
- ツールのバージョンは既存の設定ファイルを優先する。