Skip to content

Issue番号ベースのドキュメント関連付け #136

@Kewton

Description

@Kewton

概要

ファイル名・パス・本文中のIssue番号を解析し、同一Issue番号のドキュメントを自動的に関連付ける機能を追加する。

背景

CommandMateリポジトリのナレッジは明確なIssue単位の構造を持つ:

dev-reports/design/issue-299-ipad-layout-fix-design-policy.md
dev-reports/review/2026-02-18-issue299-impact-analysis-review-stage3.md
dev-reports/review/2026-02-18-issue299-security-review-stage4.md
dev-reports/issue/299/work-plan.md
dev-reports/issue/299/issue-review/stage1-review-report.md

しかし現在のrelated/impactはこれらを関連として検出できない。

現在の検索結果

commandindexdev search --related dev-reports/design/issue-299-ipad-layout-fix-design-policy.md

docs/implementation-history.md 1件のみ(明示的マークダウンリンクがあるもの)

同一Issueの5つのレビュー・作業記録が全て発見されない。

原因

relatedの関連性判定5種類のいずれも、Issue番号による暗黙的な関連を検出しない:

  1. MarkdownLink — 明示的な[text](url)リンクのみ
  2. ImportDependency — コードのimport文
  3. TagMatch — frontmatterタグ
  4. PathSimilarity — ディレクトリセグメントの共通部分
  5. DirectoryProximity — 同一ディレクトリ

dev-reports/design/issue-299-*.mddev-reports/review/*-issue299-*.md はパス構造が異なるため、PathSimilarityでも検出不可。

提案

新しい関連タイプ: IssueReference

  • ファイル名・パスから正規表現でIssue番号を抽出: issue-?(\d+), #(\d+)
  • 本文中の #299, Issue #299, issue-299 も解析
  • 同一Issue番号のドキュメントを関連として出力
  • スコア: 0.8(ImportDependencyと同等)

期待される結果

commandindexdev search --related dev-reports/design/issue-299-ipad-layout-fix-design-policy.md

→ 同一Issue #299の全ドキュメント(設計ポリシー、stage1-7レビュー、作業計画、影響分析)が返る

ナレッジ検索ツールとしての重要性

この機能は「Issue → 設計 → レビュー → 実装」のライフサイクルを辿るための基盤であり、ナレッジ検索ツールとしてのCommandIndexの差別化に直結する。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions