背景
PR #35 / Issue #32 で README に「読み進め方(推奨ルート)」セクションを追加した。が、章ファイル名(00-about/, 01-claude-code-intro/, 02-setup/, 03-claude-md/)が README 内にハードコード されており、以下のケースで必ず壊れる:
そのたびに README を手で直すのは持続可能ではないし、直し忘れたら受講者が壊れたリンクを踏む。
目的(目的層)
README の「読み進め方(推奨ルート)」セクションを、章ファイルの追加・リネーム・削除に追従できる構造 に変える。ガイドの編集と章ファイルの変更を 1 箇所にまとめ、不整合は CI / ビルドで検出する。
手段(手段層)
ユーザー選択: ルート定義 YAML + 部分自動生成 で進める。
構成
-
data/reading-routes.yml (人間が編集するソース)
routes:
- id: beginner
label: ルート A — はじめての方
duration_min: 30
audience: 「Claude Code をまだ触ったことがない/聞いたことはあるけど使っていない」
goal: Claude Code を自分の PC で動かして、ちょっとした質問を投げられる状態。
chapters:
- id: 00-about
note: "**必読**。なぜこの形(HTML × Git × AI)の教材なのか、思想を 9 枚で。"
- id: 01-claude-code-intro
note: "Claude Code とは何か、何ができるか"
- id: 02-setup
note: "手元にインストールして触ってみる"
- id: claude-user
...
- id: builder
...
-
README.md に AUTOGEN マーカー
<!-- AUTOGEN:reading-routes -->
(ここを build.py が再生成)
<!-- /AUTOGEN:reading-routes -->
-
build.py 拡張
- 既存の
find_chapters() で実在章リストを取得
data/reading-routes.yml を読み、各 chapter.id が実在するかチェック(不整合は exit 1)
- Markdown を組み立てて README の AUTOGEN マーカー間を置換
- 既存の
python build.py を実行するだけで README も同期される
-
CI(既存ワークフロー追加 or 新規)
python build.py --check(再生成して diff が出たら fail)モードを追加
- これで「YAML だけ直して README を build し忘れた PR」を検出
スコープ
- ✅ ルート定義 YAML 化
- ✅ build.py の部分再生成サポート
- ✅ 章 ID 実在チェック
- ✅ CI による drift 検出
- ❌ 章メタによる完全自動振り分け(persona ラベルで章をルートに自動配置)→ 必要なら別 Issue
- ❌ 「### 読み方のスタイル(3 パターン)」セクション → 静的のまま(章ファイル名に依存しない)
- ❌ 「## 何が読めるか」テーブル → 別 Issue 候補(同じ仕組みで自動化可能だがスコープ膨張回避)
判断軸
| 観点 |
判断 |
| 依存追加 |
pyyaml を入れるか、JSON で済ますか。build.py の既存依存は標準ライブラリのみ。JSON にして依存を増やさない方針が無難 |
| 章 ID の表記 |
ディレクトリ名そのまま(00-about 等)。find_chapters() の戻り値と直接突き合わせ可能 |
| AUTOGEN マーカーの可視性 |
HTML コメントなので GitHub レンダリングでは見えない。読者には影響なし |
| README に書く章名・所要時間の正本 |
YAML が正本。README は派生。Single Source of Truth |
受け入れ条件
関連
背景
PR #35 / Issue #32 で README に「読み進め方(推奨ルート)」セクションを追加した。が、章ファイル名(
00-about/,01-claude-code-intro/,02-setup/,03-claude-md/)が README 内にハードコード されており、以下のケースで必ず壊れる:03-llm-fundamentals/)そのたびに README を手で直すのは持続可能ではないし、直し忘れたら受講者が壊れたリンクを踏む。
目的(目的層)
README の「読み進め方(推奨ルート)」セクションを、章ファイルの追加・リネーム・削除に追従できる構造 に変える。ガイドの編集と章ファイルの変更を 1 箇所にまとめ、不整合は CI / ビルドで検出する。
手段(手段層)
ユーザー選択: ルート定義 YAML + 部分自動生成 で進める。
構成
data/reading-routes.yml(人間が編集するソース)README.mdに AUTOGEN マーカーbuild.py拡張find_chapters()で実在章リストを取得data/reading-routes.ymlを読み、各chapter.idが実在するかチェック(不整合は exit 1)python build.pyを実行するだけで README も同期されるCI(既存ワークフロー追加 or 新規)
python build.py --check(再生成して diff が出たら fail)モードを追加スコープ
判断軸
pyyamlを入れるか、JSON で済ますか。build.pyの既存依存は標準ライブラリのみ。JSON にして依存を増やさない方針が無難00-about等)。find_chapters()の戻り値と直接突き合わせ可能受け入れ条件
data/reading-routes.json(または.yml)を編集 →python build.pyで README の該当セクションが更新されるbuild.pyが exit 1(エラー内容に該当 ID を表示)## 何が読めるかテーブルや「読み方のスタイル(3 パターン)」セクションには影響しない関連