Skip to content

Instantly share code, notes, and snippets.

@y-hirakaw
Last active October 4, 2025 04:40
Show Gist options
  • Select an option

  • Save y-hirakaw/de2e51ea24c398a48884a6f0f03b8dee to your computer and use it in GitHub Desktop.

Select an option

Save y-hirakaw/de2e51ea24c398a48884a6f0f03b8dee to your computer and use it in GitHub Desktop.
ディープコードリーディング用のプロンプトテンプレート

[DCR開始プロンプト(汎用テンプレート)]

あなたは私のディープコードリーディング(DCR)相棒です。目的は「対象リポジトリの現在のアーキテクチャ・主要フロー・重要コンポーネント・最近の変更意図」を短期間で100%理解し、以降のPRレビュー・安全な小粒PR分割・機能移植の判断に自信を持つことです。

前提情報:

  • リポジトリ: {repo_url_or_name}
  • ブランチ: {branch_name}
  • 期間・範囲: 直近 {N} 日/週のPR・コミット
  • 優先する主要開発者/PR: {owner_or_team}, {priority_pr_links}
  • 言語/主要フレームワーク: {language/framework}
  • 私の関心領域(読み優先): {domain_modules_or_features}
  • 目的(短期): {goal_short}
  • 目的(中期): {goal_mid}

進め方(この順に実行・提示してください):

  1. 変更サマリのインデックス作成
    • ブランチ上の直近PR/コミットを収集し、要約リスト(タイトル、目的、影響範囲、依存、破壊的変更の有無)を作成。
    • 重要度タグを付与(Core/Infra/Feature/Bugfix/Refactor/Config/Migration)。
  2. システム全体像の骨子(アーキテクチャマップ)
    • レイヤ構成、主要サービス/クラス/モジュール、データフロー、外部依存、設定読み取り経路を文章で提示。
    • コード参照(ファイル/クラス/メソッドパス)を明示。
  3. 1件目の「基準PR」を徹底解剖(DCR)
    • 意図、差分の論理単位、設計判断、ネーミング/責務、既存との整合性、テスト戦略を説明。
    • わからない点は必ず質問を生成(疑問リスト)し、仮説→検証用の参照コードを指定。
  4. 重要フローのトレース
    • 代表的なユースケースのライフサイクルを、エントリポイント→ミドルレイヤ→データアクセス→設定→エラーハンドリングまで1ステップずつトレース。
    • 実装箇所のリンク(ファイル/メソッド)を併記。
  5. リスク/デッドコード/移行ポイントの特定
    • デッド/非推奨パス、旧アーキの痕跡、破壊的変更、未対応の境界をマーキング。
  6. 小粒PR分割の提案(安全・最短承認を狙う)
    • 私の目的達成のためのPR分割計画を提示(各PRの範囲、依存、ロールバック容易性、テスト方針、レビュー容易化ポイント)。
  7. ナレッジログの生成
    • 本セッションの要約、用語集、重要設計ルール、決定履歴、残課題を箇条書きで出力。

出力スタイル:

  • 見出し+箇条書き中心。コード参照はパス/シンボルを具体的に。
  • 不明点は「質問→根拠候補→検証手順」の形で即提示。
  • 毎セクションの最後に「次の確認アクション」を1つ以上提案。

まずは手順1から開始し、入力不足なら必要項目を最小限の質問で聞いてください。[/DCR開始プロンプト(汎用テンプレート)]

@y-hirakaw
Copy link
Author

[Swift(iOS)向け補助フレーズ]
「エントリポイント(App/Scene)、依存注入、Concurrency(Task/TaskGroup/async let/actor、Approachable Concurrencyの利用箇所)、メイン/バックグラウンドスレッド切替、データ層(URLSession/Combine/CoreData/SQLite等)、設定読込(Environment/設定ファイル)、テストターゲット構成(Unit/UI/Concurrency検証)を軸にアーキマップを作ってください。代表的ユースケースのライフサイクルをエントリ→View/Controller→ViewModel/Service→Repository→永続化までトレースし、ファイル/メソッド参照を列挙してください。」[/Swift(iOS)向け補助フレーズ]

[Kotlin(Android)向け補助フレーズ]
「エントリポイント(Application/Navigation graph/Activity・Fragment)、依存注入(Hilt/Koin)、非同期(Coroutines/Flow、Dispatcherの切替、構造化並行性)、アーキ(MVVM/Clean Architecture、UseCase/Repository層)、データ層(Room/SQL/Network Retrofit/OkHttp)、設定読込(DataStore/BuildConfig/remote config)、エラーハンドリング(CoroutineExceptionHandler/Retry)、テスト構成(Unit/Instrumentation/Coroutine/Flow)を軸にアーキマップを作ってください。代表ユースケースのライフサイクルを UI→ViewModel→UseCase→Repository→DataSource(Local/Remote)まで段階的にトレースし、関連ファイル/メソッド参照を列挙してください。」[/Kotlin(Android)向け補助フレーズ]

[Java(サーバサイド)向け補助フレーズ]
「エントリポイント(Spring Boot: @SpringBootApplication/main、Controller/Servlet)、DI・設定(Spring Bean/Configuration、application.yml/properties、Profiles)、レイヤ構成(Controller→Service→Repository→Domain)、データアクセス(JPA/Hibernate/Transaction管理、Query/Specification)、例外処理(@ControllerAdvice/ExceptionHandler、エラーレスポンス規約)、API契約(REST/JSON/Validation、OpenAPI/Swagger)、セキュリティ(Spring Security、認可/認証フィルタ、CORS)、外部依存(Message Queue/Cache/Third‑party API)、監視(Logging/Tracing/Metrics、Observability設定)を軸にアーキマップを作ってください。代表ユースケースのリクエストのライフサイクルを、エントリ(Controller)→Service→Repository/外部依存→トランザクション境界→例外ハンドリング→レスポンスまで段階的にトレースし、関連ファイル/メソッド参照を列挙してください。」[/Java(サーバサイド)向け補助フレーズ]

@y-hirakaw
Copy link
Author

牛尾さんの記事を参考に作成した。
https://note.com/simplearchitect/n/n312c0e0e1a37

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