Skip to content

gwt-spec: パッケージ・Addressables管理 #151

@akiojin

Description

@akiojin

Spec

Background

ドメイン仕様書: パッケージ・Addressables

作成日: 2026-04-05
ステータス: active

Unityパッケージの検索・インストール・削除・リスト取得・推奨パッケージ提案・レジストリ設定(OpenUPM/NuGet)と、Addressablesによるアセットの動的登録・グループ管理・ビルド自動化・依存関係分析を統合するドメイン。UPMパッケージマネージャーの完全な自動操作と、Addressablesシステムのエントリ管理・グループ整理・ビルドパイプラインの自動化をLLMエージェントから実行可能にする。

Ubiquitous Language

TODO

User Stories

TODO

Acceptance Scenarios

TODO

Edge Cases

TODO

Functional Requirements

TODO

Non-Functional Requirements

TODO

Success Criteria

TODO


Domain-Specific Details

対象コマンド群

パッケージ管理

  • package search - キーワードによるパッケージ検索
  • package install - パッケージインストール(バージョン指定対応)
  • package remove - パッケージ削除
  • package list - インストール済みパッケージ一覧(組み込みパッケージ含むオプション)
  • package recommend - カテゴリ別推奨パッケージ提案
  • package registry add/remove/list - OpenUPM/NuGetレジストリ設定

Addressables

  • addressables add-entry - アセットのAddressable登録
  • addressables remove-entry - Addressableエントリ削除
  • addressables set-address - アドレス名変更
  • addressables add-label / remove-label - ラベル管理
  • addressables list-entries - 登録済みアセット一覧
  • addressables list-groups / create-group / remove-group - グループ管理
  • addressables move-entry - グループ間移動
  • addressables build / clean-build - ビルド自動化
  • addressables analyze-duplicates / analyze-dependencies / analyze-unused - 依存関係分析

完了済み機能

  • ✅ パッケージ管理機能(旧 機能仕様書: パッケージ管理機能 #85
    • パッケージ検索/インストール/削除/リスト取得/推奨パッケージ/レジストリ設定
    • 16個の機能要件を定義・実装済み
    • OpenUPM/NuGetレジストリ、スコープ自動追加対応

Plan

Addressablesコマンドサポート(旧 #86 より継承)

  1. Phase 0-2: Research/Design/Task planning - 完了済み
  2. Phase 3: Tasks生成・実装
    • テスト環境セットアップ、Contract tests (RED)
    • Unity側 AddressablesHandler 実装(エントリ管理、グループ管理、ビルド、分析)
    • Node側ハンドラー実装(Manage/Build/Analyze)
    • Contract tests (GREEN) 確認
  3. Phase 4: 手動検証 - quickstart.md の P1-P4 シナリオ実行
  4. Phase 5: 仕上げ - エラーハンドリング強化、ページング、ロギング、ドキュメント

設計決定事項(Research結果)

  • Addressablesパッケージ未インストール時はグレースフルエラーを返却
  • エントリ管理/グループ管理/ビルド/分析の4ツールに統合(サブコマンドで分岐)
  • ページング対応で大規模プロジェクトのトークン最適化

Tasks

Addressables実装(旧 #86

セットアップ

  • T001: Addressablesパッケージインストール確認とテスト環境セットアップ
  • T002: Integration testsディレクトリ構造作成
  • T003: Node側ハンドラーディレクトリ構造作成

テストファースト (RED)

  • T004: addressables_manage コマンドの contract test
  • T005: addressables_build コマンドの contract test
  • T006: addressables_analyze コマンドの contract test
  • T007: すべてのContract testsが失敗することを確認 (RED確認)

Unity側実装

  • T008: AddressablesHandler.cs スケルトン作成
  • T009: add_entry, remove_entry, set_address 実装
  • T010: add_label, remove_label, list_entries 実装
  • T011: list_groups, create_group, remove_group, move_entry 実装
  • T012: build, clean_build 実装
  • T013: analyze_duplicates, analyze_dependencies, analyze_unused 実装
  • T014: UnityCliBridgeにAddressablesHandlerルーティング追加

Node側実装

  • T015: AddressablesManageToolHandler.js 実装
  • T016: AddressablesBuildToolHandler.js 実装
  • T017: AddressablesAnalyzeToolHandler.js 実装
  • T018: handlers/index.js で新規ハンドラーをエクスポート
  • T019: MCPサーバーで新規ツールを登録

統合・検証

  • T020: すべてのContract testsが合格 (GREEN確認)
  • T021-T024: quickstart.md の P1-P4 シナリオ手動実行
  • T025-T029: エラーハンドリング強化、ページング、ロギング、ドキュメント更新
  • T030: リファクタリング

TDD

Addressables

  • RED: addressables-manage.test.js, addressables-build.test.js, addressables-analyze.test.js の contract tests
  • GREEN: Unity側 AddressablesHandler + Node側ハンドラー実装後に全テストパス
  • REFACTOR: 重複コード削除とクリーンアップ (T030)

旧Issue参照

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions