Skip to content

feat(automation): 読み進め方ガイドを sync_listings.py で動的化 (#39)#44

Draft
watanabe-kohei-jp wants to merge 1 commit into
mainfrom
feat/issue-39-reading-guide-dynamic
Draft

feat(automation): 読み進め方ガイドを sync_listings.py で動的化 (#39)#44
watanabe-kohei-jp wants to merge 1 commit into
mainfrom
feat/issue-39-reading-guide-dynamic

Conversation

@watanabe-kohei-jp
Copy link
Copy Markdown
Collaborator

概要

Issue #39 の対応。README の ## 読み進め方(推奨ルート) ルート A/B/C 部分を scripts/sync_listings.py の AUTOGEN 区間に統合し、章ファイルの増減・リネームに自動追従させる。

スコープ

in scope

  • data/reading-routes.json を新設(ルート定義のみ:id / label / duration_min / audience / goal / chapters[] / extras[])
  • README の ## 読み進め方(推奨ルート) のルート A/B/C を AUTOGEN 区間化(マーカー: listings:auto:reading-routes
  • scripts/sync_listings.py にルート再生成ロジックを追加(既存 discover_lectures() の戻り値と突合)
  • JSON 内章 dir 参照の 実在チェック未宣言チェック--check で exit 1)
  • --write / --check モードに統合

out of scope

  • 「読み方のスタイル(3 パターン)」「どのルートでも共通の前提」セクション(章非依存なので静的のまま)
  • 章メタを各章ディレクトリ側に分散する案
  • 所要時間表記の「読む / 手を動かす」分離(別 Issue 候補)

設計方針(叩き台、Plan モードで詰める)

  • ルート定義は JSON(標準ライブラリのみで読みたい、YAML だと依存追加が必要)
  • マーカー: <!-- listings:auto:reading-routes:start --> / :end -->
  • 章 ID の整合:discover_lectures()dir_name と JSON の chapters[] を突合
    • JSON にあるが実在しない → --check で fail
    • 実在するが JSON のどのルートにも現れない → fail(任意。設計時に再検討)
  • 章タイトル / スライド数は Lecture dataclass から再利用
  • ルート note 内に {slides} プレースホルダ許可

チェックリスト

  • data/reading-routes.json 仕様確定(Plan モード)
  • スクリプト実装
  • README の該当区間を AUTOGEN 化
  • --check / --write 動作確認
  • CI(sync-listings-check.yml)で drift を検出できる
  • main の bot(sync-listings-bot.yml)と整合

関連

Fixes #39

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(automation): scripts/sync_listings.py を拡張して『読み進め方ガイド』を動的化

1 participant