目的
UnityCsReference (Unity Technologies 公式 C# ソース) をローカルキャッシュし、LLM / Skill から read-only で参照する仕組みのドメイン SPEC。unity-cli reference * サブコマンド群と Skill unity-csharp-reference を 1 つの SPEC で管理する。Phase 単位ではなくドメイン単位で扱い、改善は本 SPEC を Refs する commit / PR で進める。
スコープ
ローカルキャッシュ (shallow clone + zip fallback): unity-cli reference fetch / reference status / reference clean
検索系: reference grep / reference view
シンボル lookup インデックス (type + member-level method / property): reference find-symbol
バージョン差分 (symbol-only + path opt-in, LCS / Myers ベース): reference diff
LSP go-to-definition 連携 (unity-cli 独立 RPC, C# lexer 化済み token extractor): reference resolve-symbol-at
Vector embedding 検索 (fastembed-rs + 線形 scan MVP): reference embed-build / reference embed-search
Skill unity-csharp-reference の正本 (.claude-plugin/plugins/unity-cli/skills/unity-csharp-reference/)
関連 docs: docs/tools.md の Reference Cache セクション、references/*-playbook.md、ATTRIBUTION.md の Unity Companion License 出典
Out of Scope
AST レベルの semantic diff (Roslyn をホストする方向)
csharp-lsp の workspaceFolders に reference cache を混入させる方向 (旧 feat(reference): UnityCsReference のローカルキャッシュ参照機構(Phase 1) #185 で却下済みの原則を維持)
各 MVP の本格 polish (詳細は Backlog で管理):
シンボル抽出: 多行シグネチャ / constructor / destructor / field / event / generic 制約 / record / record struct
差分: character-level diff / unified diff text 形式
Token extractor: block comment /* */ / interpolated string / char literal / preprocessor directive
Zip fallback: ネットワーク実 download integration test / Unix 権限ビット保持
Vector embedding: 多言語 model / HNSW ANN / file-chunk embedding / score 正規化 / incremental rebuild
採用方針
Related (履歴)
旧 Phase 軸の SPEC は本 SPEC に統合され close。詳細実装と検証エビデンスは各 PR とコメントを参照する。
既存実装 (旧 Phase SPEC からの引き継ぎ、本 SPEC 起票時点で完了済み)
Backlog (旧 5 SPEC の Out of Scope を集約、優先度未確定)
運用方針
目的
UnityCsReference (Unity Technologies 公式 C# ソース) をローカルキャッシュし、LLM / Skill から read-only で参照する仕組みのドメイン SPEC。
unity-cli reference *サブコマンド群と Skillunity-csharp-referenceを 1 つの SPEC で管理する。Phase 単位ではなくドメイン単位で扱い、改善は本 SPEC をRefsする commit / PR で進める。スコープ
unity-cli reference fetch/reference status/reference cleanreference grep/reference viewreference find-symbolreference diffreference resolve-symbol-atreference embed-build/reference embed-searchunity-csharp-referenceの正本 (.claude-plugin/plugins/unity-cli/skills/unity-csharp-reference/)docs/tools.mdの Reference Cache セクション、references/*-playbook.md、ATTRIBUTION.mdの Unity Companion License 出典Out of Scope
/* *// interpolated string / char literal / preprocessor directive採用方針
tasks/lessons.md2026-05-12 ルール準拠)Refs #<本 SPEC 番号>する commit / PR で land するtasks/lessons.mdに追記)Related (履歴)
旧 Phase 軸の SPEC は本 SPEC に統合され close。詳細実装と検証エビデンスは各 PR とコメントを参照する。
既存実装 (旧 Phase SPEC からの引き継ぎ、本 SPEC 起票時点で完了済み)
compute_line_diffの LCS / Myers 化 (similarクレート, 旧 Phase 4-B / PR feat(reference): compute_line_diff を LCS / Myers 化(Phase 4-B / Refs #191) #193)extract_token_at_cursorの C# lexer 化 (line comment / string literal, 旧 Phase 4-C / PR feat(reference): extract_token_at_cursor を C# lexer 化(Phase 4-C / Refs #191) #194)reference fetchの zip fallback (旧 Phase 4-D / PR feat(reference): reference fetch に zip fallback を追加(Phase 4-D / Refs #191) #196)Backlog (旧 5 SPEC の Out of Scope を集約、優先度未確定)
/* *// interpolated string / char literal / preprocessor directive運用方針
Refs #204する[x]で確定するgwt-discussionを行い、Spec / Plan / Tasks セクションを更新する