Skip to content

feat(list): list TUI を questionary 移行 + running 操作選択 + devbase rebuild 追加 (i30)#43

Merged
takemi-ohama merged 1 commit into
mainfrom
feat/list-tui-running-actions-i30
Jun 9, 2026
Merged

feat(list): list TUI を questionary 移行 + running 操作選択 + devbase rebuild 追加 (i30)#43
takemi-ohama merged 1 commit into
mainfrom
feat/list-tui-running-actions-i30

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

何のために

devbase list の対話選択 TUI を改善し、起動中プロジェクトの操作性を高める。併せて
キャッシュ無効リビルド用の devbase rebuild を追加する。

設計詳細は issues/i30_list-tui-running-actions.md を参照。

何を

  • TUI を simple-term-menu → questionary へ移行
    • ↑長押し時にスクロールが取りこぼされて遅くなる問題を構造的に解消 (prompt_toolkit が
      入力を 1 イベントずつ分解するため。simple-term-menu の os.read(80) 一括読みで
      連結エスケープシーケンスが破棄される問題: 公式 issue #99 / PR #100 で裏取り)。
    • 番号 [1][9] ショートカット (先頭 9 件のみで低カバレッジ) を廃止。全項目に
      通し番号ラベルを表示し、文字入力でのプロジェクト名絞り込み (use_search_filter)
      で全件に到達可能に。
  • running 行の操作サブメニュー
    • 起動中 (running) のプロジェクトを選ぶと「再起動 (up) / 再ビルド (rebuild --no-cache) /
      停止 (down)」を選択。Ctrl-C で中止。非 running (stopped/unknown) は従来どおり直接 up。
  • devbase rebuild 新設 (docker compose build --no-cache 相当)
    • devbase rebuild [name] / devbase project rebuild [name] / container rebuild
      wrapper の name 解決・bash/zsh 補完にも登録。
    • 注: devbase-base の 2 段リビルドは従来どおり devbase build --no-cache を使用。

Test plan

  • uv run pytest 全通過 (459 passed / 1 skipped)
  • _build_menu_entries の番号ラベル / _show_menu seam / running 分岐 (up/rebuild/down/中止) / 非 running 直接 up
  • cmd_rebuild (compose.yml 不在=1 / docker compose build --no-cache 起動 / returncode 伝播)
  • project rebuild / トップレベル rebuild パーサ + prefix 解決 + wrapper routing
  • bash 補完に rebuild サブコマンド / 名前補完
  • bash -n bin/devbase 構文 OK
  • ruff / ShellCheck / zsh 補完構文は CI で検証 (ローカル環境に未導入)

🤖 Generated with Claude Code

…d 追加 (i30)

- devbase list の対話選択を simple-term-menu から questionary へ移行。
  ↑長押し時の入力取りこぼし (連結エスケープシーケンス破棄) を構造的に解消。
- 番号 [1]-[9] ショートカットを廃止し、全項目に通し番号ラベル + 名前での
  インクリメンタル絞り込み (use_search_filter) へ刷新。
- running 中のプロジェクト選択時に「再起動(up)/再ビルド(rebuild)/停止(down)」を
  選ぶサブメニューを追加 (非 running は従来どおり直接 up)。
- devbase rebuild コマンド新設 (docker compose build --no-cache 相当)。
  project/container/トップレベル + wrapper name 解決 + bash/zsh 補完に登録。
- pyproject: simple-term-menu を questionary>=2.1 へ置換。
- tests: rebuild / running サブメニュー / questionary seam / 補完を追加・更新。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@takemi-ohama takemi-ohama marked this pull request as ready for review June 9, 2026 12:21

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | codex | APPROVE

修正必須の指摘はありません。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | gemini | APPROVE

設計・実装(questionary への移行、rebuild コマンドの追加、ラッパーおよび補完の追従)とテストを確認しました。修正を要する点はありません。

@takemi-ohama takemi-ohama merged commit 5870d6f into main Jun 9, 2026
5 checks passed
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