0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

過去のPRから「修正パターン」や「注意点」を自動抽出するライブラリを作ってみた

Last updated at Posted at 2025-06-08

はじめに

LLM向けメモリ作成のもやもや

最近、リポジトリごとに CLAUDE.md や AGENTS.md といった、LLMに与える指示ファイル(メモリ)を整備することが増えてきました。

ただ、特に馴染みのないリポジトリだと
「何を書けばいいか分からない」
「注意点が頭に浮かばない」
といった場面も多く、有識者へのヒアリングに時間がかかることもありました。

きっかけ

「過去のPRを見れば、必要な情報ってだいたい揃ってるのでは?」

修正内容やレビューコメントには、プロジェクトごとの“暗黙知”が詰まっています。
だったら、それを自動でまとめられたら便利なのでは?と思い、勢いでライブラリを作ってみました。

できたもの

pulldoc

7ED5084E-4C16-406F-86EA-4ACC1DA649E7.png

GitHubリポジトリを指定すると、過去のPRを収集して以下のファイルを自動生成してくれます:

  • RULES_FOR_AI.md: 修正パターン、注意事項の一覧
  • ISSUE_TEMPLATE.md: 機能追加/バグ修正/リファクタリング用のIssueテンプレート

使い方

インストール

pip install pulldoc

APIキーの設定
※OpenAI、Claude、Geminiなど利用したいプロバイダに合わせて設定してください。

export OPENAI_API_KEY="your_openai_api_key"

※プライベートリポジトリを参照する場合はGithubTokenも設定
export GITHUB_TOKEN="your-token"

実行

pulldoc run {ower/repo}

# PR収集のみ ※範囲指定
pulldoc collect {ower/repo} --start 10 --end 15

# 個別要約作成(collect実行後) ※モデル指定、言語指定
pulldoc summarize --model us.anthropic.claude-sonnet-4-20250514-v1:0 --lang ja

# 最終要約作成のみ ※プロンプト指定
pulldoc summarize --only-total --custom-prompt "一生懸命まとめてください。"

※あるいは、以下のように uvx 経由でも実行可能です:

uvx pulldoc run {ower/repo}

パラメータなどの詳細は README をご覧ください。

その他ユースケース

LLMに与える指示ファイルを作成する以外にも以下のような使い方ができるかと思います。

  • 過去のPR傾向を知りたいとき
  • チームのレビュー方針を言語化したいとき
  • 新メンバーへのオンボーディング資料を作りたいとき

おわりに

開発の現場には、PRにしか現れない“ちょっとした知見”がたくさんあります。
pulldocを使ってリポジトリの歴史をLLMの教科書に変換しましょう!

感想やフィードバック、PRもお待ちしています!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?