コンテンツにスキップ

TUI 概要

Switch to Zen Mode

Mutsumi の TUI は、ヘッダー(タブバー)、タスクリスト、フッターの 3 つのエリアで構成されます。

┌─────────────────────────────────────────────────────┐
│ [Today] [Week] [Month] [Inbox] mutsumi ~ │ ← ヘッダー(1行)
├─────────────────────────────────────────────────────┤
│ │
│ v HIGH ───────────────────────────────────────── │ ← 優先度グループ
│ [ ] Auth モジュールをリファクタ dev,backend *** │ ← タスク行
│ [x] キャッシュ穿透バグを修正 bugfix *** │
│ │
│ v NORMAL ─────────────────────────────────────── │
│ [ ] 週報を書く life ** │
│ [ ] PR #42 をレビュー dev ** │
│ └─ [ ] 型安全をチェック (1/2) │ ← ネストされた子タスク
│ └─ [x] テストを通す │
│ │
│ v LOW ────────────────────────────────────────── │
│ [ ] README を更新 docs * │
│ │
├─────────────────────────────────────────────────────┤
│ 6 tasks · 2 done · 4 pending .. quiet │ ← フッター(1行)
└─────────────────────────────────────────────────────┘
  • ヘッダー: ビュータブ(Today / Week / Month / Inbox)と Mutsumi ロゴ
  • タスクリスト: 優先度でグループ化されたタスク一覧。タグ、優先度スター、チェックボックスを表示
  • フッター: タスク数の統計とステータスバー

Mutsumi はターミナルウィンドウのサイズに自動適応します。

ターミナル幅動作
80 列以上フルレイアウト: タイトル + タグ + 優先度スター
60-79 列タグ省略、タイトル + 優先度のみ表示
40-59 列ミニマルモード: チェックボックス + タイトルのみ
40 列未満「ターミナルが狭すぎます」警告を表示

4 つのビュータブで、タスクをスコープ別にフィルタリングします:

タブ表示するタスク
Todayscope == "day" または due_date が今日のタスク
Weekscope == "week" または due_date が今週のタスク
Monthscope == "month" または due_date が今月のタスク
Inboxscope == "inbox" または scope/due_date がないタスク

タブの切り替え:

  • Tab / Shift+Tab で順番に切り替え
  • 1 2 3 4 でダイレクト切り替え
  • マウスクリックで切り替え

タスクを選択して Enter(またはクリック)で、画面下部に詳細パネルが展開されます。

├─────────────────────────────────────────────────────┤
│ > Auth モジュールをリファクタ │
│ ───────────────────────────────────────────────── │
│ Status: pending │
│ Priority: high │
│ Scope: day │
│ Tags: dev, backend │
│ Due: 2026-03-25 │
│ Created: 2026-03-21 08:00 │
│ ───────────────────────────────────────────────── │
│ Description: │
│ session-based auth を JWT に変更する。 │
│ middleware と route レイヤーの両方を改修。 │
│ ───────────────────────────────────────────────── │
│ Subtasks: 1/2 done │
│ [x] PyJWT をインストール │
│ [ ] middleware を書く │
├─────────────────────────────────────────────────────┤

タスクは優先度で自動的にグループ化されます:

  • HIGH (★★★) — 赤系カラー
  • NORMAL (★★) — 通常カラー
  • LOW (★) — ミュートカラー

各グループは h / l キー(vim プリセット)で折りたたみ/展開できます。

タスクがない場合、以下の空の状態が表示されます:

┌─────────────────────────────────────────┐
│ │
│ Nothing here yet. │
│ Press [n] to create a task │
│ or let your Agent write mutsumi.json │
│ │
└─────────────────────────────────────────┘

mutsumi.json が読めない、または不正な形式の場合:

┌─────────────────────────────────────────────────────┐
│ ! mutsumi.json has errors · showing last valid state │
│ Run `mutsumi validate` for details │
├─────────────────────────────────────────────────────┤
│ (最後の有効なタスクリスト) │
└─────────────────────────────────────────────────────┘

個別のタスクフィールドに異常がある場合、タスク行に警告バッジが表示されますが、操作は可能なままです。