feat: PLAN31_2-plugin-ops plugin 全操作 + repo の TUI 追加#59
Open
takemi-ohama wants to merge 2 commits into
Open
Conversation
9 tasks
- tui/actions_plugin.py 新設: plugin list/install/uninstall/update/info/ sync/migrate と repo add/remove/list/refresh のサブ階層メニューを実装。 引数は menu.* で収集し dispatch_group 経由で cmd_plugin へ委譲 (plan 2.3 の属性契約は cli.py parser と突き合わせて検証済み・乖離なし) - uninstall/update/info と repo remove/refresh の name は registry (plugins.yml) の一覧から選択。破壊的な uninstall / repo remove は menu.confirm で実行前確認 (plan 3.4) - tui/app.py の _route に plugin を配線 (未実装プレースホルダ案内を解消) - tests/cli/tui/test_actions_plugin.py 新設 + test_app.py の routing 検証更新 (597 passed / 1 skipped・退行なし) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
41ec7f5 to
bb9f42f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PLAN31_2 PR4 (plugin-ops)。実装プラン:
issues/PLAN31_2_list-tui-unified.md(release PR #55 の分割 PR、PR1 #56 の TUI 土台に依存)。担当範囲:
devbase listTUI に plugin カテゴリを追加する。lib/devbase/tui/actions_plugin.py新設tui/menu.pyのヘルパで収集し、dispatch_group(cmd_plugin, ...)で既存ハンドラへ委譲(plan 2.3 の属性契約をcli.pyparser と突き合わせて検証済み・乖離なし)nameは registry(plugins.yml)の導入済み plugin / 登録済みリポジトリ一覧から選択(update/refresh は「全対象」=name=Noneの選択肢あり)plugin uninstall/plugin repo remove)はmenu.confirm()で実行前確認、拒否時は実行せずメニューへ戻る(plan 3.4)lib/devbase/tui/app.pyの_routeに plugin を配線(プレースホルダ案内を解消)MENU_BACK)、Ctrl-C = 全体中止(None伝搬)、引数収集中止はサブメニュー再表示Test plan
tests/cli/tui/test_actions_plugin.py新設:menu.*monkeypatch +cmd_pluginmock で、各サブコマンド(repo 系含む)が plan 2.3 契約どおりの属性を持つ Namespace で呼ばれることを検証cmd_pluginが呼ばれないことを検証(uninstall / repo remove / repo remove --force 中止)MENU_BACK)/ Ctrl-C(None)/ 引数収集中止(メニュー再表示)の遷移を検証tests/cli/tui/test_app.py: plugin カテゴリの routing 追加検証(未実装プレースホルダ検証は snapshot へ変更)uv run pytest全テスト pass: 597 passed / 1 skipped(ベースライン 544 から退行ゼロ)🤖 Generated with Claude Code