Claude Code とドキュメント as Code READMEとADRをリポジトリで回す運用(概念)
目次 クリックで開く
ソフトウェア開発において、コードと同じくらい重要なのがドキュメントです。しかし、多くの現場で「ドキュメントが最新のコードを反映していない」「なぜこの技術選定をしたのか、背景がわからない(ADRの不在)」といった問題、いわゆるドキュメントの形骸化が発生しています。これを解決する概念がDocs as Code(ドキュメントをコードとして扱う)ですが、手動での運用には限界がありました。
2025年以降、この課題に対する決定打となっているのが、Anthropic が提供する CLI 型コーディングエージェント「Claude Code」です。本記事では、Claude Code を主軸に据え、README や ADR(Architecture Decision Records)をリポジトリ内でいかに効率よく、かつ「腐らせずに」運用するかという実務フローを解説します。
Docs as Code の理想と現実を Claude Code が解決する
なぜ README と ADR は「腐る」のか
ドキュメントが更新されなくなる最大の理由は、「開発フローとドキュメント作成フローが分離していること」にあります。機能を実装し、テストを通し、デプロイする。この一連の流れの「外」にドキュメント作成がある限り、忙しいエンジニアにとってドキュメント更新は常に後回しにされます。
特に ADR(アーキテクチャ意思決定記録)は、決定の背景を記録する重要なものですが、後から書き起こすのは苦痛でしかありません。結果として、README には古いインストール手順が残り、ADR は最初の一件だけで止まることになります。
Claude Code がもたらす「ドキュメント更新の自動化」というパラダイム
Claude Code は、端末(ターミナル)上でリポジトリの全容を把握しながら、コードの変更と同時にドキュメントを修正できる AI エージェントです。単なるチャット AI と異なり、「リポジトリのファイルを読み、依存関係を理解し、実際にファイルを書き換える」能力を持っています。
例えば、あなたが新しい API エンドポイントを追加した際、Claude Code にこう命じるだけで済みます。「今の変更内容を反映して README.md を更新し、今回の技術選定の理由を 0005-use-redis-cache.md として ADR に追加して」。これだけで、コードとドキュメントの同期が完結します。
準備:Claude Code をリポジトリに導入する
インストールと認証のステップ
Claude Code は Node.js 環境で動作する CLI ツールです。以下の手順でセットアップを行います(詳細は Anthropic 公式ドキュメント を参照してください)。
- インストール:
npm install -g @anthropic-ai/claude-codeを実行。 - 認証:
claude authを実行し、Anthropic アカウントでログイン。 - 起動: リポジトリのルートディレクトリで
claudeコマンドを叩く。
これにより、Claude Code がリポジトリ内のファイルをスキャンし、編集可能な状態になります。
CLAUDE.md によるプロジェクト・ルールの定義
Claude Code を賢く使いこなすための鍵が、リポジトリのルートに配置する CLAUDE.md です。これは Claude Code 専用の「指示書」であり、以下のような項目を記述しておきます。
- ビルドコマンド(例:
npm run build) - テスト実行コマンド(例:
pytest) - コーディング規約(例:型定義を必須とする、ドキュメントは ADR 形式で残す等)
- ドキュメントの配置場所(例:
/docs/adr/*.md)
このファイルがあることで、Claude Code は「このプロジェクトではドキュメントをどう扱うべきか」を常に念頭に置いて動くようになります。
Claude Code によるドキュメント運用実務:README 編
既存コードを解析して「生きた README」を生成する
開発の初期段階や、長年放置されたプロジェクトで Claude Code を起動し、以下のプロンプトを入力してみてください。
「現在のディレクトリ構成と主要なソースコード、package.json を読み取って、プロジェクトの概要、セットアップ手順、主要な機能を網羅した README.md を生成、または既存のものを更新して。」
Claude Code は ls -R や cat 相当のスキルを駆使してリポジトリを探索し、実際のコードに基づいた正確なドキュメントを生成します。手動で書く際にありがちな「実は不要になった環境変数」などの記載漏れを、コードから逆引きして防ぐことができます。
開発フローと AGENTS.md によるドキュメント保守
さらに高度な運用として、AGENTS.md を活用します。ここには、Claude Code が「自律的なエージェント」として振る舞う際の役割を定義します。例えば、「あなたはドキュメントメンテナです。コードが変更された際、必ず README の整合性を確認し、修正が必要なら提案してください」といったロールを記述します。
これにより、機能実装の PR を作成する直前に claude "README を最新化して" と打つだけで、常にコードとドキュメントがペアで更新される習慣が定着します。
Claude Code によるドキュメント運用実務:ADR(技術決定記録)編
意思決定をその場で ADR に書き起こすワークフロー
ADR は、単に「何を作ったか」ではなく「なぜそれを選び、他を却下したか」を記録するものです。Claude Code を使えば、対話を通じて ADR を作成できます。
実務シーン:
開発者が Claude Code との対話で「データベースに MongoDB ではなく PostgreSQL を選ぼうと思う、理由は JSONB のクエリ性能が必要だから」と伝えます。その後、claude "今の議論を ADR として記録して。フォーマットは標準的な Markdown ADR で。" と指示します。
Claude Code は、会話の文脈からコンテクストを抽出し、docs/adr/0001-use-postgresql-for-jsonb.md のようなファイルを自動生成します。開発者は内容を確認して y を押すだけです。
過去の ADR との整合性チェック
プロジェクトが長くなると、「過去に決めたルールと矛盾する決定」をしてしまうことがあります。Claude Code はリポジトリ全体をインデックス化して読み取れるため、claude "今回の新しい認証フローの導入は、過去の ADR と矛盾していないか確認して" と質問することで、設計の整合性を保つことができます。
プルリクエスト(PR)運用と人間による承認フロー
Claude Code はファイルの編集だけでなく、ローカルでの実行や Git 操作もサポートしています。これを Docs as Code のフローに組み込むと、以下のような「準自動化」が実現します。
- 機能実装: 開発者が
claude "ユーザー登録機能を実装して"と指示。 - ドキュメント更新: 続けて
claude "関連する README と ADR を更新して"と指示。 - テスト確認:
claude "テストを実行して、通ることを確認して"。 - PR 作成:
claude "これらの変更を新ブランチ feat/user-registration にコミットし、PR を作成して"。
ここで重要なのは、Claude Code は「提案者」であり、人間が「承認者」であるという役割分担です。GitHub 上で PR を確認する際、コードの差分と一緒にドキュメントの差分が必ず含まれている状態を作れるため、レビューの質も向上します。
比較:従来のドキュメント管理 vs Claude Code 連携運用
ドキュメント管理の手法を比較すると、Claude Code を活用した Docs as Code の優位性が明確になります。
| 管理手法 | 更新のしやすさ | コードとの整合性 | 主なメリット | 主なデメリット |
|---|---|---|---|---|
| GitHub Wiki / Notion | 高(UIが容易) | 低(乖離しやすい) | 非エンジニアも編集可能 | Git の履歴と連動しない |
| 手動 Docs as Code | 中 | 中 | コードと同じ PR で管理可 | 更新の心理的ハードルが高い |
| Claude Code × Docs as Code | 最高(対話型) | 高(AIがスキャン) | 自動生成と同期が可能 | API コストが発生する |
導入時の注意点とセキュリティ対策
意図しないファイルの読み込みを制限する
Claude Code は強力なため、リポジトリ内のあらゆるファイルを読み込もうとします。環境変数(.env)や顧客データが含まれる CSV など、AI に送信すべきでないデータがある場合は、必ず .gitignore や Claude Code の設定で制限をかける必要があります。
APIコスト管理とスケーラビリティ
Claude Code は Anthropic の Claude 3.5 Sonnet などの高性能モデルを使用するため、大規模なプロジェクトで頻繁に ls -R やファイル全件読み込みを行うと、API 使用料が増大します。
claude compact コマンド(履歴の要約)を適宜利用したり、特定のディレクトリ(例:claude "docs/ 以下だけを見て")にコンテキストを絞って指示を出すのが、賢い運用術です。
まとめ:ドキュメントを「負債」から「資産」に変えるために
ドキュメント管理を成功させるコツは、ドキュメント作成を「特別なイベント」にしないことです。Claude Code を CLI 上のパートナーとして迎え入れることで、コードを書く、テストを走らせる、という日常の動作の中に「ドキュメントを更新する」という工程を自然に組み込めます。
README が常に正しく、ADR によって過去の経緯が透明化されているリポジトリは、新規参画者のオンボーディング速度を劇的に高めます。まずは CLAUDE.md を作成し、Claude Code にあなたのプロジェクトのルールを教え込むところから始めてみてください。それは、未来の自分やチームメンバーへの最も価値ある投資になるはずです。
実務導入を成功させるための補足ガイド
Claude Codeの料金体系とクレジットの仕組み
Claude Codeの利用にあたっては、Anthropic Consoleでの「クレジット」購入が必要です。従来のChatインターフェース(Claude.ai)の有料プランとは異なり、API利用量に応じた従量課金制がベースとなっています(2025年現在の仕様)。大規模なリポジトリで全ファイルを対象に解析を繰り返すと、コンテキストウィンドウの消費に伴いコストが嵩むため、実運用では前述の通り.gitignoreでの制限や、解析対象のディレクトリ指定が不可欠です。
導入時チェックリスト:Docs as Codeを形骸化させないために
Claude Codeを導入しても、ルールがなければドキュメントは再び腐り始めます。以下の3点をチームで合意しておくことを推奨します。
- CLAUDE.mdの定期更新: プロジェクトのビルド手順や依存関係が変わった際、真っ先にここを更新する責務を誰が持つか決める。
- ADRの採番ルール:
0001-title.mdのような命名規則をCLAUDE.mdに明記し、AIが勝手なフォーマットで生成するのを防ぐ。 - PRの必須項目化: 「ドキュメントの更新がないPRはマージしない」という運用をGitHubのPull Requestテンプレートに組み込む。
公式リソースと推奨ドキュメント
より詳細な技術仕様や最新のアップデートについては、以下の公式サイトを必ず参照してください。特に「信頼境界(Trust boundaries)」に関する記述は、エンタープライズ環境での導入前に一読が必要です。
ドキュメントだけでなく、システム全体の設計思想をどう一貫させるか。モダンな開発環境における「設計図」の重要性については、こちらの記事も参考になります。
ご相談・お問い合わせ
本記事の内容を自社の状況に当てはめたい場合や、導入・運用の設計を一緒に整理したい場合は、当社までお気軽にご相談ください。担当より折り返しご連絡いたします。