diff --git a/home/dot_config/codex/AGENTS.md b/home/dot_config/codex/AGENTS.md index 4049a95b..abb3ac60 100644 --- a/home/dot_config/codex/AGENTS.md +++ b/home/dot_config/codex/AGENTS.md @@ -4,24 +4,95 @@ - ユーザが提供した情報に基づいて、最適な解決策を提案するための質問を行ってください。 +## git について + +- git commit メッセージは conventional commit 形式で書いてください。 + +## プロジェクトの構成について + +- プロジェクト構成はプログラミング言語ごとに異なりますが、作業を開始する際、存在しない場合のみ以下の構成でセットアップしてください。 + - 作業中は plan と todo を常に更新し続けてください。 + - これらの plan/todo/learn ファイルはコミットしないでください。 + - `docs/plan/`: プロジェクトの計画や設計に関するドキュメントを格納するディレクトリ + - `$(date +%Y%m%d_%H%M%S)_plan.md` のような形式でファイルを作成してください + - 実装する前に計画を立て、必要であればユーザへの質問を行って計画用のドキュメントを更新してください。 + - `docs/todo/`: タスク管理用のディレクトリ + - `$(date +%Y%m%d_%H%M%S)_todo.md` のような形式でファイルを作成してください + - `docs/plan/` ディレクトリのドキュメントをもとに、実装するタスクを洗い出して記述してください。 + - タスクは完了したら完了済みのセクションに移動してください。todo 全体が完了したら、ファイル名を `$(date +%Y%m%d_%H%M%S)_done.md` のように変更してください。 + - タスクの完了に伴って計画が変更された場合は、`docs/plan/` ディレクトリのドキュメントを更新してください。 + - `docs/learn/`: 学習用のドキュメントを格納するディレクトリ + - `$(date +%Y%m%d_%H%M%S)_learn.md` のような形式でファイルを作成してください + - プロジェクトの実装に必要な知識や技術を学習した際に、学習内容をこのディレクトリに記録してください。 + - 学習内容はプロジェクトの実装に活かせるように、必要に応じて `docs/plan/` ディレクトリのドキュメントを更新してください。 + - learn は「次回の意思決定を速くする情報」が得られたときに更新してください。 + - learn には「何を学んだか」「どこに反映すべきか」を必ず書いてください。 + - learn を更新したら、必要に応じて plan の `Assumptions` / `Design` / `Tests` を更新してください。 + - 作成するファイルには以下の最低限の見出しを含めてください。 + - plan: `Goal`, `Scope`, `Assumptions`, `Design`, `Tests`, `Open Questions` + - todo: `TODO`, `Done` + - learn: `Date`, `Learnings`, `Plan Updates` + ## コーディング全般について - エラーを恐れないでください。まずは例外処理は気にせずコードを書いてください。 -- 後方互換性は気にしないでください。あらかじめテストを記述し、テストが通ることを確認してから、必要に応じてコードをリファクタリングしてください。 +- 最終成果物でも例外処理は入れなくて構いません。 +- 研究開発用途が主なため後方互換性は気にしないでください。あらかじめテストを記述し、テストが通ることを確認してから、必要に応じてコードをリファクタリングしてください。 ## Python が主なプロジェクトについて ### `uv` の使用 - Python プロジェクトの場合は指定がない場合常に `uv` を使うようにしてください。 -- 何かコードを書いたときは常にテストを記述して意図した動作になっているか確認してください。 +- コードの振る舞いに影響する変更がある場合は必ずテストを記述して意図した動作になっているか確認してください。 - uv でスクリプトを実行するときは `uv run