NTTドコモR&Dの技術ブログです。

「PR文書くの面倒…」をAIで解決! Clineを活用したPR文自動生成フローの実践

1. はじめに

「コードを書くのは楽しいけれど、PR(プルリクエスト)の説明文を書くのは正直手間がかかる……」 「実装に集中した後、変更内容を思い出しながら文章をまとめるのに意外と時間がかかってしまう」

誰しも、一度はそう感じたことがあるのではないでしょうか? 本記事では、そんな悩みを解消するために、AIエージェント「Cline」を活用してPR文作成を自動化した取り組みをご紹介します。

自己紹介

NTTドコモ データプラットフォーム部(以下DP部)の福井です。
私はPM(プロジェクトマネージャー)として、社内データ活用プラットフォームPochi*1の開発プロジェクトを担当しています。 日々、各チームの開発状況を把握し、開発効率を高めるための取り組みを進めています。
なお、本記事の第4章から第7章は、支援メンバーであり、チームリーダー兼エンジニアを務めている前田さんにご執筆いただきました。

社内データ活用プラットフォームPochi*1とは

私たちDP部は社内のデータ民主化を目指し、StreamlitとGoogle Cloudで圧倒的に使いやすいデータ活用プラットフォームを開発・推進しています。このプラットフォームは、24年度は30万時間もの業務効率化を実現し、直近では5,000人以上の社員に利用が拡大しています。
ASCII.jp:NTTドコモ、Streamlit利用の“ポチポチ分析アプリ”開発で社内データ活用を促進 (1/3)

*1:Pochiは社内の開発コードネームです

背景:レビュー文化が根付く中で、PR文作成が意外とボトルネックになっている現実

私たちDP部では、コードレビューを品質向上の要として位置づけ、チーム内外で積極的にレビューを実施する文化が根付いています。PRを出せばレビュアーからフィードバックを受け、品質の高いコードがプロダクションに反映される──そんな理想的な開発フローを目指して、日々取り組んでいます。

しかし、レビュー文化が浸透するにつれて、煩わしさと負担が顕在化してきました。それが「PR文の作成」です。

エンジニアたちは実装に集中した後、「このPRで何を変更したのか」「なぜこの実装が必要だったのか」をPR文として言語化する段階で、思いのほか時間を取られていました。特にチームをまたいだレビューでは、レビュアーが背景を理解できる十分な情報がなければ、文脈を読み解くだけで多大な時間を消費してしまいます。

PMの立場から見ても、簡素なPR文では変更の意図や影響範囲が把握しづらく、全体の進捗管理や意思決定に支障をきたす場面が増えていました。

「レビュー文化は重要。でも、そのために必要なPR文作成が、開発者にとって負担になっている」──この矛盾を解消できないか。そう考えたとき、AIの力を借りることで、伝わるPR文を効率的に生成できるのではないかという仮説に至りました。

本記事では、Clineを活用したPR文自動生成の取り組みを通じて、どのように開発効率とレビュー品質の両立を実現したのか、その実践をご紹介します。

2. 開発体制と現場の背景

開発チーム構成

私たちDP部の開発体制は、数名単位のチーム × 複数アプリ担当制という形態をとっています。

各チームは以下のような構成で、独立して開発・運用を進めています:

  • PM(プロジェクトマネージャー)
  • チームリーダー(TL)
  • 複数名のエンジニア(Dev)

開発チーム構成のイメージ

それぞれのチームが担当アプリを持ち、要件定義から実装、テスト、リリース、運用まで一貫して実施する体制です。この構成により、各チームが自律的に意思決定を行い、スピーディーな開発を実現しています。 詳しいチーム体制や各役割については、こちらの記事をご覧ください

チーム間連携の実態

一見、各チームが独立して動いているように見えますが、実際の開発現場では、チームの境界を越えた密な連携が日常的に発生しています。

柔軟なチーム間協業体制

同じアプリでも、メンバーの稼働状況や専門性に応じて、複数チームのメンバーが協力して対応することがあります。例えば、あるチームのリソースが逼迫している場合、別チームのメンバーがサポートに入り、実装やレビューを担当するケースも珍しくありません。

この柔軟性は開発スピードを保つ上で重要ですが、一方で「他チームの実装背景を理解する」というハードルも生み出しています。
このようなチーム横断のレビューでは、レビュアーは他チームの開発背景や意図を理解する必要があります。しかし、PR文が簡素だったり、文脈が不明確だったりすると、理解に多大な時間を要してしまいます。

チーム横断レビューのイメージ

PMやリーダー層の進捗把握ニーズ

PMやチームリーダーは、自チームだけでなく、全体の進捗や変更の影響範囲を把握する必要があります。特に、複数のアプリやチームにまたがる変更の場合、それぞれのPRがどのような意図で行われ、どこに影響するのかを俯瞰的に理解しなければなりません。

しかし、PR文が簡素だと、以下のような課題が生じます:

  • 変更の背景や目的が不明確で、全体像が掴めない
  • 影響範囲の把握に時間がかかり、意思決定が遅れる
  • チーム間での情報共有が不十分になり、重複作業や認識齟齬が発生

このように、チーム間の柔軟な連携を実現するためには、効率的で質の高い情報共有の仕組みが不可欠でした。そして、その鍵を握るのが「PR文」だと考えました。

3. 開発現場での課題

リーダー層の課題:チーム横断レビューでの文脈理解の負担

私たちの開発現場では、チームを横断したレビューが日常的に発生します。自チームのPRであれば背景を理解しているためスムーズですが、他チームのPRをレビューする際には状況が一変します。

主な課題:

  • 変更ファイルは読めても、「なぜこの変更が必要だったのか」が分からない
  • PR文が簡素で、変更の意図や背景が不明確
  • 複数チーム・アプリにまたがる変更の影響範囲を把握するのに時間がかかる

レビューに本来かけるべき時間が、「文脈理解」に奪われてしまう──これが大きな問題でした。

メンバーの課題:PR文作成の負担と粒度のばらつき

一方、実装を担当するメンバーの立場では、PR文作成時に以下のような悩みが発生していました。

主な課題:

  • 「何を書けばいいのか」という悩み:コードは書けても、それを言語化するのは難しい
  • 定型文で済ませてしまう:「機能追加」「バグ修正」など最低限の記載で、背景が不明確に
  • 粒度のばらつき:人やチームごとに好む文体・詳細度が異なり、品質が安定しない

書く内容に悩み、時間を使ってしまう。悩んだ結果、それぞれのスタイルで書かれ、レビュアーに伝わりづらいPR文になってしまう状況が発生していました。

メンバーからの声:「AIで伝わるPR文を自動で出せないか」

こうした状況の中で、メンバーから自然と上がってきた声がありました。
「AIを使って、伝わるPR文を自動で生成できないか?」
実装に集中したい。でも、レビュアーのためにも分かりやすいPR文は書きたい。この両立を実現する手段として、AI活用に期待が集まったのです。

リーダー層とメンバー、それぞれが抱える課題。この両面からのニーズが、私たちをClineを活用したPR文自動生成の取り組みへと導いていきました。ここからは、実際にClineを活用し、どのように課題解決を図ったのかをご紹介します。

4. Clineとは

この課題に対し、私たちはAIエージェント「Cline」を導入しました。
具体的な内容やプロンプトは、本取り組みをリードした前田より紹介します。

Clineの概要

ClineとはVSCodeの拡張機能の1つです。主な機能は、自律的なコーディング支援、ファイル操作、コマンド実行の提供です。 競合ツールは、ClaudeCodeGitHub Copilot Coding AgentCursorなどがあります。 CLIやTUI、IDEベースなどさまざまな形態がありますが、本記事ではこれらを便宜上 エージェントとして表現します。

何ができるかを簡単に言うと、開発者がIDE上でこれまで行ってきた作業の多くをお任せすることができます。

私たちのチームでは、開発者全員にClineの利用が許可されていることから、今回はClineを活用したPR文自動生成フローを実施しています。Cline環境の詳細についてはこちらの記事をご覧ください。 また、プライベートではOpenCodeGitHub Copilot Coding Agentを利用しており、業務において新しいノウハウ・刺激を得ることができました。

5. 実際にやってみた:「PR文自動生成フロー」

今回実施したこと

開発者目線で「なぜPRにフォーカスしたのか?」というと、開発するうえでPRを作成するというプロセスは避けて通れないからです。 正確には「避けて通れない割には時間的作成コストが高く、同じような作業の繰返し」に対して 改善の余地 を感じていました。

もちろんPRを作成するのは、レビュアーに対して変更内容を伝えるためですが、以下のような目的もあります。

  • バージョン管理、履歴の明確化
  • 安全な統合
    • 本番ブランチ(e.g. main)に直接コミットせず、PRを通じて統合することで、破壊的な変更を防ぐ。
    • CI/CDパイプラインで自動テストやビルドを実行し、品質を担保する。
  • コメントとディスカッション
    • チームメンバーがコード変更に対してコメントやフィードバックを提供できる。
    • コードレビューを通じて品質向上と知識共有を促進する。

これらの目的を達成するために、PR文は重要な役割を果たします。 しかし、「PR文の作成に時間がかかる」「PR文の品質が一定でない」などの課題が存在したため、Clineを活用してPR文の自動生成を試みました。

動作環境

  • Cline

  • PR本文テンプレート

    • .github/PULL_REQUEST_TEMPLATE.md に自動生成してほしいPR文のテンプレートを用意します。 本記事の最後にテンプレートを掲載していますので、参考にしてください。

プロンプト紹介

具体的なCline設定イメージはこちらです。

Clineのイメージ

以下はPR文生成のために使用したプロンプトです。 このプロンプトでClineがPR作成に必要な各アクションの Approve 操作は手動としています。 設定上、すべての操作を自動承認(Auto Approve)することも可能ですが、私たちのチームでは安全性を重視して手動承認としています。具体的には、プロジェクトファイル以外は読み取り専用の権限に制限する運用ポリシーを採用しているためです。

# 指示内容

カレントブランチとリモートのmainブランチの最新状態の差分を比較し、日本語のPRをghコマンドで作成してほしい。
そのために以下の手順および条件を守ってください。

0. **下準備**
  1. カレントブランチ名を`${CURRENT_BRANCH}`という変数に格納してください
  2. PRのベースブランチ名である`main``${BASE_BRANCH}`という変数に格納してください
  3. レビュアーとして`@<レビュアーID>``${REVIEWER}`という変数に格納してください
  4. PR本文のテンプレートとなる`.github/PULL_REQUEST_TEMPLATE.md`を読み込んで理解してください
1. **差分の取得**
  1. `git fetch origin ${BASE_BRANCH}` コマンドを実行して、リモートのベースブランチの最新状態を取得してください
  2. `git diff origin/${BASE_BRANCH}...HEAD` コマンドを実行して、カレントブランチとリモートのベースブランチの最新状態の差分を取得してください
2. **変更箇所の把握**
  1. 変更ファイル一覧
  2. 変更内容の要約(箇条書き)
    - 専門用語を避け、簡潔にこのアプリを触ったことがない人に対してもわかりやすく説明してください
    - 「概要」→「詳細」の順で記載してください
  3. 単体テストの追加・変更点(箇条書き)
    - 専門用語を避け、簡潔にこのアプリを触ったことがない人に対してもわかりやすく説明してください
    - 「概要」→「詳細」の順で記載してください
3. **コミットメッセージの解析**
   1. `git log origin/${BASE_BRANCH}..HEAD --pretty=format:"%s"` でコミットメッセージを取得してください
   2. 各コミットメッセージから「目的」「背景」「重要な変更点」を抽出し、PR本文に反映してください
   3. 差分とコミットメッセージの情報を統合し、冗長にならないようにまとめてください
   4. コミットメッセージが日本語でない場合は、日本語に翻訳してください
4. **ラベルの推定と選定**
  - 以下のルールに基づいて、PRに付与すべきラベルを推定してください
  1. **変更の種類に基づくラベル**
    - バグ修正: `bug`
    - 新機能追加: `enhancement`
    - ドキュメント更新: `documentation`
    - パフォーマンス改善: `performance`
    - リファクタリング: `refactoring`
    - テスト追加・修正: `tests`
    - その他の変更: `other`
  2. **影響範囲に基づくラベル**
    - コア機能: `core`
    - UI/UX: `ui`
    - API: `api`
    - データベース: `database`
    - インフラストラクチャ: `infrastructure`
    - 開発ツール: `devtools`
    - ドキュメント: `docs`
  3. **ラベル付与のルール**
    - 「変更箇所の把握」「コミットメッセージの解析」で把握した内容に基づいてラベルを選定する
    - 変更の種類に基づくラベルは必ず1つ付与する(最大3つまで)
    - 影響範囲に基づくラベルは該当するものを付与する(必須ではない, 最大3つまで)
    - それぞれ関係度合いが高いものを優先的に再選定する
    - ラベル名は 英語とする(e.g. enhancement, bug, documentation)。GitHubエコシステム(検索・自動化)と親和性が高いため
5. **PR文の生成**
  1. PRタイトル
    - 変更内容を日本語で50文字以内かつ「動詞+対象」で生成してください
    - 生成したタイトルは`${PR_TITLE}`という変数に格納してください
  2. PR本文
    - `.github/PULL_REQUEST_TEMPLATE.md` のテンプレートを使用し、上記で把握した変更内容を日本語で反映してください
    - 生成した本文は`temp_pr_body.md`というファイルに出力してください
6. **PRの発行**
  1. 以下のコマンドを実行してPRを作成してください
    ```shell
    gh pr create --base ${BASE_BRANCH} \
      --head ${CURRENT_BRANCH} \
      --title ${PR_TITLE} \
      --body-file temp_pr_body.md \
      --draft \
      --reviewer ${REVIEWER}
      --label <4.ラベルの推定と選定セクションで生成したラベル1> \
      --label <4.ラベルの推定と選定セクションで生成したラベル2> \
      ...
    ```
7. **クリーンアップ**
    1. 作業をするうえで一時的に生成したファイルは最後に削除してください
    ```shell
    rm temp_pr_body.md
    ```

ヒトとClineによるPR文の比較

今回はサンプルとしてダミーの販売実績データを可視化するアプリケーションをClineで作ってみました。 このアプリに対して、可視化機能のUI/UX改善をしたとします。 その際にヒトとClineでPR文を作成した際の比較を以下に示します。

Before(従来のPR文作成)

従来のPR文作成のイメージ

After(ClineによるPR文自動生成)

ClineによるPR文自動生成のイメージ

本来、PRでは変更前後のUIキャプチャ画像を掲載して比較するのが望ましいですが、今回はPR文の自動生成にフォーカスしているため、テキストのみの比較としています。 実際の運用では、Clineが初版のPR文を生成した後に、開発者がUIキャプチャ画像の追加や補足説明の記載を行います。

比較のポイント

PRタイトル

  • Before:単純な変更内容の羅列やカレントブランチ名と人によってバラつきがある。
  • After:変更内容を簡潔に表現し、動詞+対象で構成。統一感がある。

PR本文

  • Before:変更内容の説明が不十分で、レビュアーが理解しづらい。
  • After:変更内容の要約、影響範囲、テスト内容が明確に記載されており、レビュアーが理解しやすい。

上記の比較を見ても大きな違いは見受けられないかもしれません。しかし、それこそが重要なポイントです。 ヒトでもエージェントでも同等のPR文が作成できるのであれば、エージェントに任せた方が開発効率の観点で有利だからです。 エージェントに定型的な作業を任せることで、開発者はより創造的な作業に時間を使えるようになります。

懸念点としては、従来の手動作成では仕様変更の背景や意図が記載されていましたが、Clineによる自動生成では差分ベースの説明が中心となるため、「なぜこの変更を行ったのか」という背景情報が不足する傾向がありました。 この点については、後述の「効果と気づき」セクションで詳しく説明します。

6. 効果と気づき

Clineを導入してPR文自動生成フローを実施した結果、以下のような効果と気づきが得られました。

メンバー視点:

  • PR作成の負担軽減:「何を書けばいいのか」という悩みから解放され、実装に集中できる環境が実現
  • 時間短縮:PR文作成にかかる時間が削減され、生産性が向上
  • 品質の担保:定型文で済ませてしまうこともなくなり、レビュアーに伝わる質の高いPR文を効率的に生成

リーダー・PM視点:

  • チーム横断レビューの円滑化:他チームのPRでも、変更の意図や背景が明確になり、文脈理解にかかる時間が削減
  • 全体把握の効率化:複数チーム・アプリにまたがる変更の影響範囲を俯瞰的に把握しやすくなり、意思決定のスピードが向上
  • 情報共有の質向上:チーム間の情報伝達が円滑になり、連携がスムーズに

効果

PR文作成時間の短縮

  • Before:平均15分。特に、実装内容を思い出しながら文章化する部分に時間がかかっていた。
  • After:平均3分。初版作成はApproveするだけなのでほぼ0分。修正や追記に2〜3分。

PR作成が平均4回/週発生すると仮定すると、1ヶ月で3.2時間の工数削減になります。 16回/月 × (15分 - 3分) = 192分 = 3.2時間/月

PR文の品質向上

  • Before
    • (作成者観点) 文章化が苦手で、レビュアーへ伝えたい要点が抜けがち。
    • (レビュアー観点) 実際の差分と乖離していたり、情報が不足しがちで、理解しづらい。
  • After
    • (作成者観点) 実際の差分に基づいてPR文が生成されるため、要点が漏れにくい。悩まない。
    • (レビュアー観点) 変更内容の要約、影響範囲、テスト内容が明確に記載されており、理解しやすい。

いずれもPRテンプレートに対しての記載のため、セクションごとの品質が向上した。というよりは、PR全体としての品質が向上した。という表現が正しいかもしれません。

レビュアーからの反応

  • Before:書き手による表現の差異が大きく、理解に時間がかかることが多い。
  • After:「PR文がわかりやすくなった」「変更内容が把握しやすい」などのポジティブなフィードバックが増加。しかし、背景が不足しているという指摘もあり

気づき

Clineを活用したPR文自動生成フローを実施する中で、以下3つの重要な気づきが得られました:

  1. 安全性・安定性の課題:コマンド実行権限の管理とヒューマンエラーのリスク
  2. コード差分以外の情報の重要性:要件や設計意図などの背景情報の不足
  3. 差分が大きい場合の品質低下:PR文が冗長になる傾向とその対策

以下、それぞれの気づきについて詳しく説明します。

安全性・安定性の課題

本記事では gh コマンドや rm コマンドなどを用いて実現しています。Clineが利用者の代理として権限を持った状態で実行しているため、以下のリスクがあります。

  • 手動でApproveするプロセスを設けていますが、100%安全とは言い切れません
  • 例: ヒューマンエラーでrmコマンドにより重要なファイルを誤削除してしまう可能性

そのため、Clineに実行させるコマンドは必要最低限に留め、重要な操作は手動で行う運用ルールが必要です。

改善の余地

MCP(Model Context Protocol)による権限制御
ClineがGitHub操作やファイル管理に持つ権限を最小限に制御できます。 例:ghコマンドの代わりにGitHub MCP Serverを利用することで、GitHubトークンによる認証を行い、PR作成やissue参照などに権限を限定し、安全性を高められます。 MCP導入については、関係者と相談しつつ進めていく予定です。

コード差分以外の情報の重要性

コード差分からのPR文なので、要件や設計意図の説明は含まれないことがありました。 コメントアウトやコミットメッセージ記載があれば汲み取るが、基本的にはコードベースの説明に留まるため、なぜこういった変更をしたのか?の説明が不足しがちです。

改善の余地

  • gh issue view などでissueから要件や設計意図を参照・理解してから、PR文に反映する。
  • PR作成前に要件や設計意図をClineに伝えてからPR文を生成する(markdown経由でもよい)。
  • コミットメッセージに要件や設計意図を盛り込む運用ルールを設ける。

Clineを利用する際の工夫として、計画から実装、PR文作成を同一セッション内で実施することで、背景情報を含んだPR文を生成できました。 Clineは会話履歴を保持しているため、同じセッション内で要件定義から実装、PR作成まで一貫して作業を行うと、その過程での議論や意思決定の背景を理解した上でPR文を生成できます。
※一方で、1セッションあたりのやり取りが増えると、トークンが増加し、コストが上がる可能性があるため、注意が必要です。

差分が大きい場合、PR文の品質が低下する傾向

大きな変更を含むPRの場合、生成されるPR本文が冗長になりがちです。 現状では、PR文生成後に手動で要約・編集を行っていますが、以下のような改善策も検討できます。

改善の余地

1. プロンプトの工夫 - Clineのチャット欄に要約を促すプロンプトを追加する - 重要な変更を優先的に記載するルールをプロンプトに組み込む - 例:ビジネスロジック > UI変更 > コメント修正 の順で記載

2. 根本的な解決策:issueの細分化

そもそも論として、issueを細かく分割することが最も効果的です。 これにより、PR自体の差分が小さくなり、以下のメリットが得られます:

  • PR文の自動生成精度が向上
  • レビュアーの理解が容易になる
  • 問題発生時の切り分けが簡単になる

私たちのチームでは 「1issue × 1機能 = 1branch」 を基本ルールとして運用しています。 この運用により、PRの粒度が適切に保たれ、Clineによる自動生成の品質も安定します。

7. 工夫したポイント・Tips

語彙統一で生成精度を向上させる

プロジェクト固有の用語は避ける、または説明を付与する

Clineはコード差分とコミットメッセージを主な情報源としてPR文を生成します。 そのため、コード内のコメントやコミットメッセージにプロジェクト固有の用語を使うと、Clineが正確に理解できず、不適切な表現でPR文が生成される可能性があります。

できるだけ一般的な用語を使うことを心がけ、どうしてもプロジェクト固有の用語を使う必要がある場合は、その用語の説明を付与しましょう。

具体例:社内共通ライブラリのバージョンアップ

プロジェクトで利用している社内共通ライブラリをバージョンアップする際のPR生成では、以下の工夫を行う:

  1. ライブラリのREADME.mdをClineに参照させる
  2. コミットメッセージに「このライブラリの役割」の簡潔な説明を含める
  3. 参照情報を基に、Clineが文脈を理解した上でPR文を生成できるようにする

表記ゆれを統一する

同じ概念を指す場合は、常に同じ表記を使うように心がけましょう。

例えば、「ユーザー」と「ユーザ」、「データベース」と「DB」など、表記がゆれていると、Clineが異なる概念として認識してしまう可能性があります。

チーム内で用語集を作成し、コーディング規約に含めることで、一貫した表現でPR文を生成できるようになります。 この取り組みは、Clineの精度向上だけでなく、チーム全体のドキュメント品質向上にも寄与します。

PRテンプレートの整備(PULL_REQUEST_TEMPLATE.md)

前述したプロンプト文に含まれているPULL_REQUEST_TEMPLATE.mdを整備することで、Clineが生成するPR文の品質を向上させることができます。 参考に私が開発で利用しているPRテンプレートを共有します。

<!-- 日本語でレビューをしてください -->
<!-- I want to review in Japanese. -->
## Issue

- #
<!-- e.g. #999 -->

## 変更点の概要
<!-- 何を変更したか、概要→詳細の順で箇条書き -->

- x

## 影響範囲
<!-- どの機能やモジュール、API、UIに影響するか。他チームやサービスへの影響も記載 -->

- x

## レビュー観点
<!-- 特に見てほしいポイント -->

- x
<!-- e.g.
- コードの可読性
- 設計の妥当性
- パフォーマンス
- セキュリティ診断
-->

## リスク・懸念点
<!-- 副作用や互換性の問題など -->

- x
<!-- e.g.
- パフォーマンスへの影響
- セキュリティへの影響
- 運用コストの増加
-->

## 動作確認・テスト内容
<!-- 実施した確認内容をチェックボックスで -->

- [ ] 単体テスト実行済み
- [ ] 結合テスト実行済み
- [ ] E2Eテスト実行済み
- [ ] 手動テスト実施済み

<!-- e.g.
- 単体テスト、結合テスト、E2Eテストの実施内容
- 手動テストの実施内容
- 確認した環境(e.g. OS、ブラウザ、DB)
-->

<!-- for GitHub Copilot review rule -->
<!--
レビューする際には、以下のprefix(接頭辞)をつけてください
[must]  
[imo] (in my opinion)  
[nits](nitpick) 
[ask]  
[fyi]
-->

<!-- for GitHub Copilot review  rule-->
<!-- 日本語でレビューをしてください -->
<!-- I want to review in Japanese. -->

さらに効率化するためのTips

Clineを使ったPR文生成に慣れてきたら、以下のような工夫でさらに作業を効率化できます。

1. カスタムコマンドで一発実行

Clineの「Workflows」機能を使えば、よく使うプロンプトを登録しておいて、簡単なコマンドで呼び出せるようになります。

例えば /pr-create と入力するだけで、今回紹介したPR文生成プロンプトが自動実行されるように設定できます。 毎回長いプロンプトをコピー&ペーストする手間が省けるので、ぜひ活用してみてください。

2. 安全な操作は自動承認に設定する

今回の例では、すべての操作を手動で承認(Approve)していましたが、実は安全性の高い操作は自動承認に設定することもできます。

ファイルの読み込みやログの確認など、データを変更しない操作は自動承認してしまうと、さらにスムーズにPR作成ができます。 ただし、rm(ファイル削除)やgit push(リモートへの反映)など、影響の大きいコマンドは手動承認のままにしておくのがおすすめです。

注意:チームやプロジェクトのセキュリティポリシーに合わせて、適切な権限設定を行いましょう。

3. GitHub Copilotのコードレビュー機能も活用しよう

PR文の自動生成とは直接関係ありませんが、PRを作成した後はGitHub Copilotの自動レビュー機能を活用してみてください。

PRのReviewers欄で「Copilot」を選択すると、AIが自動的にコードをレビューしてくれます。 人によるレビューの前にAIがチェックすることで、基本的な問題を事前に発見でき、レビュアーの負担も軽減できます。

8. まとめ

本記事では、Clineを活用したPR文自動生成の取り組みを通じて、まだ道半ばではありますが、開発現場が抱えていた複数の課題を解決することができました。

「レビュー文化は重要。でも、そのために必要なPR文作成が、開発者にとって負担になっている」 この矛盾を解消したいという思いから始まった今回の取り組みは、Clineという強力なツールとの出会いにより、期待以上の成果をもたらしました。 開発効率とレビュー品質の両立。それは決して相反するものではなく、適切なツールと工夫によって実現できるものでした。

今後、設計ドキュメントの自動生成、リリースノートの作成支援など、さらなる応用も検討しており、より良い開発環境の構築に向けて、チーム一丸となって取り組んでいきます。