開発

CLAUDE.mdを見直したら、もう存在しないファイルの説明と
矛盾するルールが6つ残っていた

· SEADICE

2026年10月3日、Claude Codeのアップデート告知に「CLAUDE.mdや独自コマンドの古い指示・矛盾を点検する機能」が含まれていたのをきっかけに、SEADICEのCLAUDE.md(AIへの作業指示書、約900行)を読み直した。その結果、もう存在しないファイルの説明や、互いに矛盾するルールが6か所見つかり、同じ日に修正した。

見つかった6か所

6か所のうち3つは方針変更が反映されていない記述、残り3つはルール同士の食い違いや参照ミスだった。

場所古い記述実際
アーキテクチャ節トップページはFlutter Web(lib/main.dart)で、管理モードやSharedPreferencesを持つトップページは静的HTML(p/index.html)。lib/main.dartはリポジトリに存在しない
SEO設定節SEO関連ファイルはweb/配下web/は存在せず、すべてp/配下
留意事項プライバシーポリシーはlib/main.dart末尾で管理p/privacy/{appId}/の静的HTML
ブログ記事チェックリスト「firebase.jsonにrewriteを追加したか」がデプロイ前に必須同じファイルの別の節では「rewrite追加は不要」
広告を実装しない節応援導線には寄付ページへのリンクを検討寄付リンクはApp Store審査のGuideline 3.1.1でリジェクトされた実例があり、別の節で禁止済み
オンボーディング節・フォント節「上記の絵文字禁止セクション」(実際は末尾)、手順番号「4.」が2回参照先の位置と番号を修正

なぜ矛盾が残っていたか

方針を変えたとき、新しいルールは書き足していたが、古いルールを探して消す作業はしていなかった。

rewriteの件が分かりやすい。8月2日に静的ページにrewriteは不要だったと気づき、アプリ追加のチェックリストには「不要」と書き足した。しかしブログ記事のチェックリストには「必須」の行が2か月間そのまま残っていた。寄付リンクも同じ構造で、「活動を支援する」節に禁止ルールを足したとき、70行ほど下の「検討する」という一文には手を入れていなかった。

直し方

存在しないものを説明している節は書き直し、矛盾しているルールは新しい方針に揃えて古い方を消した。

  1. アーキテクチャ節を、p/配下の実際のディレクトリ構成(apps / tools / privacy / blog / reviews)の説明に置き換えた。他の節が参照するデザイン定数(_accentなど)だけは「Flutterアプリ共通」として残した
  2. SEO設定の表のパスをweb/からp/に変え、AI検索向けのp/llms.txtを追加した
  3. ブログのチェック項目を「sitemap.xmlとブログ一覧に追加したか」に差し替えた
  4. 寄付リンクを検討する一文を、IAPの投げ銭だけを後から追加するという現行方針への参照に置き換えた

確認方法は単純で、CLAUDE.mdに出てくるファイルパスが実在するかをlsで確かめ、「rewrite」「寄付」のように方針が変わったキーワードをgrepしてすべての出現箇所を並べただけだった。新しいルールを足すときは、同じキーワードで古いルールを検索してから書き足す手順にする。

Related

Claude Codeのはじめかた — CLAUDE.mdの書き方・スラッシュコマンド・ルーティンの基本 →

← ブログ一覧に戻る