Skip to content

fix(tui): 破壊的操作以外の y/N 確認プロンプトを廃止#63

Merged
takemi-ohama merged 1 commit into
mainfrom
feature/tui-remove-unneeded-confirms
Jun 12, 2026
Merged

fix(tui): 破壊的操作以外の y/N 確認プロンプトを廃止#63
takemi-ohama merged 1 commit into
mainfrom
feature/tui-remove-unneeded-confirms

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

Pull Request

概要

devbase list の TUI で、非破壊操作にも y/N 確認プロンプトが表示され操作が冗長だった(例: plugin 一覧表示で「未導入の利用可能 plugin を表示しますか (--available)?」)。明らかに破壊的な操作以外の確認プロンプトをすべて廃止し、CLI 既定値で即実行するようにする。

関連 Issue

  • なし(ユーザーフィードバックによる改善)

変更点

y/N プロンプトを廃止(安全な既定値で即実行)

  • plugin list: --available の y/N を廃止し、独立したメニュー項目「利用可能一覧 (list --available)」として提供(機能は維持)
  • plugin install: --link / --all の y/N を廃止(False 固定。必要なら CLI で指定)
  • project down: 停止確認を廃止(volume 保持・up で復旧可能。メニュー選択を意思表示とみなす)
  • project ps: --all の y/N を廃止(False 固定)
  • project logs: --follow の y/N を廃止(tail 行数入力のみ。追従は CLI で指定)
  • env init: --reset の y/N を廃止(セットアップ済みなら cmd_env_init が案内を出して安全終了する既存挙動を確認済み)
  • env list: --reveal / --keys の y/N を廃止(機密値は伏せ字のまま表示)
  • snapshot create: --full の y/N を廃止(増分バックアップ)

確認を残した操作(明らかに破壊的なもののみ)

  • plugin uninstall / plugin repo remove(+ force 確認)
  • env delete(グローバル .env から変数削除)
  • snapshot restore(ボリューム上書き)/ snapshot delete

テスト

  • 廃止したプロンプトのテストを「確認を求めないこと」の検証に置き換え(menu.confirm が呼ばれたら pytest.fail
  • プロンプト数の変化に伴う confirm 注入順の修正

動作確認

  • pytest tests/ 全 717 件パス(skip 1 件は zsh 未インストールによる補完テストのみ)
  • pty ベースの TUI テスト(test_menu_pty.py)もパス
  • ホスト側の実 TTY で devbase list の主要シナリオを手動確認
  • questionary 統合層(menu.py / flow.py)は未変更のため実 TTY 回帰リスクは低い

スクリーンショット・ログ(任意)

$ uv run pytest tests/ -q
717 passed, 1 skipped in 28.23s

補足

  • 廃止したオプション(--link / --all / --follow / --reveal / --keys / --full / --reset 等)は従来どおり CLI から指定できる
  • project down の確認廃止は判断が分かれる可能性あり。データは失われない(volume 保持)ため「ファイル削除を伴うなど明らかに破壊的な動作のみ確認する」という基準で廃止した

🤖 Generated with Claude Code

devbase list の TUI で非破壊操作にも y/N 確認が出て操作が冗長だったため、
明らかに破壊的な操作 (uninstall / repo remove / env delete / snapshot
restore / snapshot delete) 以外の確認プロンプトをすべて廃止し、CLI 既定値で
即実行するようにする。

- plugin list: --available の y/N を廃止し、独立したメニュー項目
  「利用可能一覧 (list --available)」として提供 (機能は維持)
- plugin install: --link / --all の y/N を廃止 (False 固定、CLI で指定可)
- project down: 確認を廃止 (volume 保持・up で復旧可能なため)
- project ps: --all の y/N を廃止 (False 固定)
- project logs: --follow の y/N を廃止 (tail 行数入力のみ)
- env init: --reset の y/N を廃止 (セットアップ済みなら案内表示で安全終了)
- env list: --reveal / --keys の y/N を廃止 (伏せ字・通常表示)
- snapshot create: --full の y/N を廃止 (増分バックアップ)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@takemi-ohama takemi-ohama merged commit e8af7e3 into main Jun 12, 2026
5 checks passed
takemi-ohama added a commit that referenced this pull request Jun 13, 2026
* docs: README/ドキュメントを現状の階層メニュー TUI に合わせて更新

PR #63#66 の TUI 変更 (確認プロンプト整理 / Enter 待ち / env メニュー再構成 /
最下部メニューバー) を反映し、ドキュメントを実装と整合させる。

- README: 「対話的なプロジェクト選択」を「階層メニュー TUI」へ刷新。
  プロジェクト操作と最下部カテゴリメニュー (←→ 移動) を明記
- cli-reference: `devbase project list` を全面刷新。番号入力の旧説明を廃止し、
  TUI の画面構成図・キー操作表・カテゴリ別操作一覧・確認プロンプトの範囲を追加
- container-operations: プロジェクト一覧の説明を TUI 前提に更新し詳細へリンク
- architecture: 構成図と commands 表に project.py / tui/ を追加。tui/ の
  モジュール構成表を新設。cmd_project が container.py 側にある実態を反映
- 既存ドキュメントに元々抜けていた CLI サブコマンド (project rebuild /
  plugin migrate / env export・import) をコマンド一覧・ツリー図に補完

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: cross-review #67 後始末 (rebuild ショートカット/SHORTCUTS整合/Enter操作/env export-import 補記)

- architecture.md: SHORTCUTS 行を実装に整合 (up/down/login/ps/scale/rebuild、build 除外・list 個別 routing)
- cli-reference.md: ショートカット表とツリーに rebuild [name] 追加、project rebuild 個別節を新設
- cli-reference.md: TUI Enter キー説明にカテゴリメニューフォーカス時の遷移を併記
- cli-reference.md: env export/import 個別節を新設し env-export-import.md へリンク
- README.md: ショートカット一覧に rebuild [name] 追加

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant