Skip to content

Add release information to search and context tools #40

Description

@liplus-lin-lay

purpose

github-rag-mcpの検索・コンテキストツールにリリース情報を含める。
現状はissue/PRのみが対象で、リリース(タグ、リリースノート)は検索・参照できない。

リリース情報があると:

  • 「最新リリースは?」「v0.2.0に何が入った?」に答えられる
  • get_issue_context でissueがどのリリースに含まれたか紐づけられる
  • list_recent_activity でリリースイベントも表示できる

premise

  • GitHub REST API /repos/{owner}/{repo}/releases でリリース一覧を取得可能 — 検証済み
  • リリースにはtag_name, name, body(リリースノート), prerelease, created_at, published_atが含まれる
  • 既存のVectorizeインデックス(1024dim cosine)にリリースも同居可能(metadataのtypeフィールドで区別)
  • ベクトルID形式: {repo}#release-{tag_name}(既存の{repo}#{number}と衝突しない)
  • GitHub Releases APIはETag条件付きリクエストをサポート(304 Not Modified、レートリミット消費なし) — 検証済み

constraints

  • 既存のissue/PR検索に影響しないこと
  • search_issues のtypeフィルタに release を追加(ツール名はそのまま)
  • get_issue_context でissueに紐づくリリース情報を返す(issueのclose時点のタグを探す)
  • list_recent_activity にリリースの作成・更新を含める
  • ETag条件付きリクエストを使って、リリースのポーリングも効率化する(#38と同じパターン)
  • docs/0-requirements.md を実装に合わせて更新すること

target files

  • src/types.ts — ReleaseRecordインターフェース追加、VectorMetadataのtype拡張
  • src/store.ts — releasesテーブル追加 + CRUD + watermark拡張
  • src/poller.ts — pollReleases()追加(リポジトリごとのリリースポーリング、ETag対応)
  • src/mcp.ts — 既存ツールにリリース対応を統合
  • docs/0-requirements.md — リリース対応の要件追記

Activity

  1. added this to the v0.3.0 milestone on Apr 6, 2026
  2. added
    enhancement新機能・改善要望
    memoメモとして開始した状態。見出しは必要なものだけでよい
    forming本文を再構築しながら要求を整えている状態
    ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能
    and removed
    memoメモとして開始した状態。見出しは必要なものだけでよい
    forming本文を再構築しながら要求を整えている状態
    on Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancement新機能・改善要望ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions