From e1d9e2e99cd9ce9caab2953728326118a813a88d Mon Sep 17 00:00:00 2001 From: Shunsuke KITADA Date: Wed, 18 Feb 2026 10:17:22 +0900 Subject: [PATCH 1/3] feat: enhance AGENTS.md with project structure guidelines and git commit message format --- home/dot_config/codex/AGENTS.md | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/home/dot_config/codex/AGENTS.md b/home/dot_config/codex/AGENTS.md index 4049a95b..c117a28c 100644 --- a/home/dot_config/codex/AGENTS.md +++ b/home/dot_config/codex/AGENTS.md @@ -4,6 +4,26 @@ - ユーザが提供した情報に基づいて、最適な解決策を提案するための質問を行ってください。 +## git について + +- git commit メッセージは conventional commit 形式で書いてください。 + +## プロジェクトの構成について + +- プロジェクト構成はプログラミング言語ごとに異なりますが、作業を開始する際に以下の構成でセットアップしてください。 + - `.codex/plan/`: プロジェクトの計画や設計に関するドキュメントを格納するディレクトリ + - `$(date +%Y%m%d_%H%M%S)_plan.md` のような形式でファイルを作成してください + - 実装する前に計画を立て、必要であればユーザへの質問を行って計画用のドキュメントを更新してください。 + - `.codex/todo/`: タスク管理用のディレクトリ + - `$(date +%Y%m%d_%H%M%S)_todo.md` のような形式でファイルを作成してください + - `.codex/plan/` ディレクトリのドキュメントをもとに、実装するタスクを洗い出して記述してください。 + - タスクは完了したら完了済みのセクションに移動してください。todo 全体が完了したら、ファイル名を `$(date +%Y%m%d_%H%M%S)_done.md` のように変更してください。 + - タスクの完了に伴って計画が変更された場合は、`.codex/plan/` ディレクトリのドキュメントを更新してください。 + - `.codex/learn/`: 学習用のドキュメントを格納するディレクトリ + - `$(date +%Y%m%d_%H%M%S)_learn.md` のような形式でファイルを作成してください + - プロジェクトの実装に必要な知識や技術を学習した際に、学習内容をこのディレクトリに記録してください。 + - 学習内容はプロジェクトの実装に活かせるように、必要に応じて `.codex/plan/` ディレクトリのドキュメントを更新してください。 + ## コーディング全般について - エラーを恐れないでください。まずは例外処理は気にせずコードを書いてください。 @@ -22,6 +42,7 @@ - `uv add --group dev ruff pytest mypy ty vulture pre-commit` を開発用依存ツールを追加してください。 - 追加したら `pre-commit install` を実行して、コミット前にコード品質チェックが走るようにしてください。 - もし `.pre-commit-config.yaml` が存在しない場合は、 `ruff format/check` の実行、 `vulture` の実行、および `pytest` の実行を設定してください。 + - もし `Makefile` がない場合、 `make setup` で `uv sync` の実行と `pre-commit install` の実行を行うようにしてください。 ### 探索的なデバッグ @@ -31,13 +52,12 @@ ### オリジナル実装からのリファクタリングについて - まずオリジナル実装が uv を使っていない場合、uv を使って動作するようにしてください。 - - オリジナルのコードに必要な依存は uv add --optional original-impl のように追加してください + - オリジナルのコードに必要な依存は `uv add --optional original-impl ` のように追加してください - テストがない場合はテストを追加してください。 - - このとき pytest-cov を使ってカバレッジを測定してください。 + - このとき `pytest-cov` を使ってカバレッジを測定してください。 + - まずは主要な機能をカバーするテストを記述し、その後カバレッジが 90% 以上になるようにテストを追加してください。 - モックやモンキーパッチは使用せず、可能な限り README.md 等に指定されている実データを少量使ってテストを記述してください。 + - 実データのダウンロードはためらわず、既存レポジトリの README.md に記載されている手順に従ってください。 - テストが書けたらオリジナルの実装とリファクタリング後の実装が同じ動作をするか確認してください。 - オリジナルの実装の出力とリファクタリング後の実装の出力が同じであることを確認してください。 - -## git について - -- git commit メッセージは conventional commit 形式で書いてください。 + - 既存実装の出力を pickle などで保存しておいて、リファクタリング後の実装の出力と比較する方法もあります。 From 9437e308f31eeb2376985b78a48840da650cd81d Mon Sep 17 00:00:00 2001 From: Shunsuke KITADA Date: Wed, 18 Feb 2026 10:48:55 +0900 Subject: [PATCH 2/3] feat: update AGENTS.md with project structure details and pre-commit configuration guidelines --- home/dot_config/codex/AGENTS.md | 75 +++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 12 deletions(-) diff --git a/home/dot_config/codex/AGENTS.md b/home/dot_config/codex/AGENTS.md index c117a28c..5cdbffaf 100644 --- a/home/dot_config/codex/AGENTS.md +++ b/home/dot_config/codex/AGENTS.md @@ -10,39 +10,86 @@ ## プロジェクトの構成について -- プロジェクト構成はプログラミング言語ごとに異なりますが、作業を開始する際に以下の構成でセットアップしてください。 - - `.codex/plan/`: プロジェクトの計画や設計に関するドキュメントを格納するディレクトリ +- プロジェクト構成はプログラミング言語ごとに異なりますが、作業を開始する際、存在しない場合のみ以下の構成でセットアップしてください。 + - 作業中は plan と todo を常に更新し続けてください。 + - これらの plan/todo/learn ファイルはコミットしないでください。 + - `docs/plan/`: プロジェクトの計画や設計に関するドキュメントを格納するディレクトリ - `$(date +%Y%m%d_%H%M%S)_plan.md` のような形式でファイルを作成してください - 実装する前に計画を立て、必要であればユーザへの質問を行って計画用のドキュメントを更新してください。 - - `.codex/todo/`: タスク管理用のディレクトリ + - `docs/todo/`: タスク管理用のディレクトリ - `$(date +%Y%m%d_%H%M%S)_todo.md` のような形式でファイルを作成してください - - `.codex/plan/` ディレクトリのドキュメントをもとに、実装するタスクを洗い出して記述してください。 + - `docs/plan/` ディレクトリのドキュメントをもとに、実装するタスクを洗い出して記述してください。 - タスクは完了したら完了済みのセクションに移動してください。todo 全体が完了したら、ファイル名を `$(date +%Y%m%d_%H%M%S)_done.md` のように変更してください。 - - タスクの完了に伴って計画が変更された場合は、`.codex/plan/` ディレクトリのドキュメントを更新してください。 - - `.codex/learn/`: 学習用のドキュメントを格納するディレクトリ + - タスクの完了に伴って計画が変更された場合は、`docs/plan/` ディレクトリのドキュメントを更新してください。 + - `docs/learn/`: 学習用のドキュメントを格納するディレクトリ - `$(date +%Y%m%d_%H%M%S)_learn.md` のような形式でファイルを作成してください - プロジェクトの実装に必要な知識や技術を学習した際に、学習内容をこのディレクトリに記録してください。 - - 学習内容はプロジェクトの実装に活かせるように、必要に応じて `.codex/plan/` ディレクトリのドキュメントを更新してください。 + - 学習内容はプロジェクトの実装に活かせるように、必要に応じて `docs/plan/` ディレクトリのドキュメントを更新してください。 + - 作成するファイルには以下の最低限の見出しを含めてください。 + - plan: `Goal`, `Scope`, `Assumptions`, `Design`, `Tests`, `Open Questions` + - todo: `TODO`, `Done` + - learn: `Date`, `Learnings`, `Plan Updates` ## コーディング全般について - エラーを恐れないでください。まずは例外処理は気にせずコードを書いてください。 -- 後方互換性は気にしないでください。あらかじめテストを記述し、テストが通ることを確認してから、必要に応じてコードをリファクタリングしてください。 +- 最終成果物でも例外処理は入れなくて構いません。 +- 研究開発用途が主なため後方互換性は気にしないでください。あらかじめテストを記述し、テストが通ることを確認してから、必要に応じてコードをリファクタリングしてください。 ## Python が主なプロジェクトについて ### `uv` の使用 - Python プロジェクトの場合は指定がない場合常に `uv` を使うようにしてください。 -- 何かコードを書いたときは常にテストを記述して意図した動作になっているか確認してください。 +- コードの振る舞いに影響する変更がある場合は必ずテストを記述して意図した動作になっているか確認してください。 - uv でスクリプトを実行するときは `uv run