shwldshwld15 days ago

ドキュメントの鮮度を自動チェックして陳腐化を防ぐ

プロジェクトのドキュメント(ADR、README、設計ドキュメント等)がコードの変更に追従できず、古い情報のまま放置される問題があった。手動で定期的に見直すのは続かない。

Before(手動):

気づいたときにドキュメントを見直す → 気づかないまま数ヶ月放置されるドキュメントが発生。新メンバーが古い設計ドキュメントを信じて実装してしまうリスク。

After(自動):

ドキュメントファイルの最終更新日と関連コードの変更日を突き合わせ、乖離が大きいものをリストアップする「doc freshness guard」を導入。

# 例: 90日以上更新されていないドキュメントを検出
find docs/ -name "*.md" -mtime +90 -print

# 関連コードが更新されているのにドキュメントが古いケースを検出
# ドキュメント内で参照しているファイルパスやシンボル名をgrepし、
# そのファイルの最終コミット日とドキュメントの最終コミット日を比較

ポイント:

  • 「最終更新が古い」だけでなく「関連コードが変わったのにドキュメントが更新されていない」を検出するのが重要。安定しているドキュメントまでノイズにならないように
  • スケジュールタスクやCI上で定期実行し、結果をissueやSlackに通知すると放置されにくい
  • ドキュメントのフロントマターに related_paths: [src/auth/] のようなメタデータを持たせると、関連コードとの紐付けが正確になる