diff --git a/.claude/commands/implement.md b/.claude/commands/implement.md index 07f1c21..e8bbf09 100644 --- a/.claude/commands/implement.md +++ b/.claude/commands/implement.md @@ -75,7 +75,7 @@ ## Phase 4: ドキュメント更新 (Documentation) -GUIDE_05 の「Phase 4: ドキュメント更新」に記載されたチェック観点に従い,docs/ と CLAUDE.md を必要に応じて更新する. +GUIDE_05 の「Phase 4: ドキュメント更新」に記載されたチェック観点に従い,docs/ と CLAUDE.md を必要に応じて更新する.CLAUDE.md の進捗欄を更新する場合は GUIDE_05「CLAUDE.md 進捗欄の更新ルール」に従い簡潔に書く(`git log` で取れる詳細は書かない). Phase 4 の結果を `.claude/commit-context.md` に書き出す: diff --git a/CLAUDE.md b/CLAUDE.md index 2656fc0..0b6a649 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,7 +5,7 @@ ## 開発進捗 現在の進捗: GUIDE_01 に従いプロジェクト立ち上げ中 -※ ステップ完了時にここを更新すること. +※ ステップ完了時にここを更新する.**目次・道標として運用**: 書くことが少なければ 1 行で十分 / 関数名・テスト件数等は `git log` に任せる / 失敗パターンは「① X 案で破綻 → ② Z 案で解決」の圧縮形式.詳細は GUIDE_05「CLAUDE.md 進捗欄の更新ルール」を参照. ## 必須ルール(コード実装時) diff --git "a/docs/01_GUIDE/GUIDE_05_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" "b/docs/01_GUIDE/GUIDE_05_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" index 9a30190..d611008 100644 --- "a/docs/01_GUIDE/GUIDE_05_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" +++ "b/docs/01_GUIDE/GUIDE_05_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" @@ -98,7 +98,7 @@ - **チェック観点**: - API・データ構造の変更 → `docs/04_SPEC/` の該当仕様を更新 - 環境・依存関係の変更 → `docs/02_ENV/` を更新 - - 開発ステップの進捗 → `docs/03_PLAN/` や `CLAUDE.md` の進捗欄を更新 + - 開発ステップの進捗 → `docs/03_PLAN/` や `CLAUDE.md` の進捗欄を更新(CLAUDE.md は本ガイドの「CLAUDE.md 進捗欄の更新ルール」に従い簡潔に書く.`git log` で取れる詳細は書かない) - 規約・運用ルールの変更 → `docs/01_GUIDE/` を更新 - **該当なし**: ドキュメント更新が不要な変更(軽微なバグ修正,リファクタリングのみ等)はスキップ可. - **更新がある場合のみ**人間の確認を挟む.更新不要の場合は確認なしで完了処理に進む. @@ -135,3 +135,43 @@ パイプライン完了後は `/commit` でコミットする.コミットメッセージのタグ等は [GUIDE_04](GUIDE_04_Git運用ルール.md) に従う. ※ リファクタリングとテストは実装と一体の成果物として,まとめてコミットする.必要に応じて分割コミットも可. + +## CLAUDE.md 進捗欄の更新ルール + +Phase 4 で `CLAUDE.md` の「開発進捗」セクションを更新する際は,**目次・道標(signpost)として運用する**.エントリ自体に詳細を書き込まず,「全体の流れを俯瞰したい」「あの作業の commit を辿りたい」と思った時に**どこを見ればいいか当たりがつく**ことを目的とする. + +**背景**: CLAUDE.md は毎ターン読み込まれるためコンテキスト圧迫の原因になる.関数名・引数・テスト件数等の詳細は `git log` とコミットメッセージに完全な形で残るため,CLAUDE.md に書くと二重管理になり,どちらかが古くなる. + +**書く(CLAUDE.md に残す価値が高いもの)**: + +以下は CLAUDE.md に置く価値があるが,全て書く必要はない.シンプルなステップなら状況の 1 行だけで十分.書くことが少ない時に無理に伸ばさない. + +- 状況: 何が完了したか(1 行) +- 動機・原因: なぜそれをやったか(既存の問題点・要件変更・前バージョンの欠点など) +- 重要な設計判断: 他案との比較が必要な場合のみ.「A 案ではなく B 案を選んだ理由」が将来の判断材料になるとき +- 失敗パターンの圧縮サマリ: 「① X 案 → Y で破綻 / ② Z 案で解決」のような 1〜2 行.同じ轍を踏まないための知識として残す.試行錯誤を時系列で全部書かず,本質的に異なるアプローチの失敗だけを並列項目として記録する +- 未実装・後段: 「次に何をすべきか」をユーザーが思い出すための短いメモ + +**書かない(コミットメッセージと `git log` に任せる)**: + +以下は `git log ` または `git show ` で完全な情報が取れる.CLAUDE.md に書くと重複・陳腐化する. + +- 関数名・引数・型シグネチャ +- テスト件数の内訳(合計件数のみなら可だが数字は陳腐化するので省略推奨) +- リファクタリングの手順詳細 +- 撤去・新規追加の関数リスト +- 具体的な定数値・閾値(設計判断の核心に関わるものを除く) +- 数値範囲の細部(実装パラメータ等) +- 後方互換性の細かい仕様 +- 「全テスト N passed」の報告(pass している前提のため不要) + +**長さと書式**: + +- 1 エントリの長さは内容次第で可変.書くことが少なければ **1 行で十分**.複数系統の作業を 1 ステップにまとめた等で必要なら長くなってもよい.無理に伸ばさず無理に削らず,「未来の自分(または他人)が辿れるか」だけを基準にする +- 基本形式: `[x] **<簡潔な見出し>**: <1〜2 文の要約>`.必要に応じて下に動機・設計判断・失敗パターンを 1〜2 行ずつ追加 +- 太字は**見出しに使う**(目次の項目として目立たせる).本文中で多用しない +- 長い箇条書きを避ける.箇条書きは「失敗パターン ① ② ③」のような本質的に異なる選択肢の並列項目に限定する + +**既存エントリの長文化に気付いたとき**: + +過去のエントリで「詳細をベタ書きしていて目次として機能しなくなっている」ものを見つけたら,ユーザーに圧縮を提案する.自動で削らない(背景情報の価値判断はユーザーが行う).提案時は「この情報は `git log` にあるので削れる / これは失敗パターンなので残すべき」のように切り分けて示すこと.