Files
kebab/tasks/p9/p9-fb-13-tui-cheatsheet.md
altair823 a48f4be5c3 feat(kebab-tui): p9-fb-13 follow-up — verb-form hint line redesign
`pub fn footer_hints(focus: Pane, mode: Mode, filter_open: bool) -> &'static str`
신규 (run.rs). 기존 `render_footer` 의 영문 `key=action` 형식이 한국어
동사구로 — `"위로"` / `"아래로"` / `"필터"` / `"타이핑 검색어"` /
`"Esc 로 NORMAL 모드"` 등 — 변경되고 (pane, mode, filter_open) 조합에
따라 자동 분기. NORMAL 모드는 navigation verbs, INSERT 모드는
typing + Esc reminder. Library filter overlay 는 overlay-only key 3
개로 override.

8 unit tests pin: 모든 (pane, mode, filter) 조합 non-empty exhaustive
+ Library Normal/filter, Search Normal/Insert, Ask Normal/Insert,
Inspect Normal 별 verb fragment 존재 검증.

spec status `in_progress` → `completed` — p9-fb-13 partial 의 deferred
verb-form 항목이 닫힘.
2026-05-03 11:13:14 +00:00

2.6 KiB

phase, component, task_id, title, status, depends_on, unblocks, contract_source, contract_sections, source_feedback
phase component task_id title status depends_on unblocks contract_source contract_sections source_feedback
P9 kebab-tui + README p9-fb-13 Cheatsheet popup (?) + README keymap table + verb hint line completed
p9-fb-12
../../docs/superpowers/specs/2026-04-27-kebab-final-form-design.md
§10 UX
p9-dogfooding-feedback.md item 11

p9-fb-13 — Cheatsheet

Goal

vim 비익숙 사용자도 TUI 조작 가능. ? modal popup + 동사구 hint line + README keymap 표.

Allowed dependencies

  • 기존 kebab-tui deps.

Public surface

kebab-tui::cheatsheet::Cheatsheet widget. mode + 현재 pane 별 분기.

Behavior contract

  • ? 키 (NORMAL 만) → modal popup. 화면 중앙 70% box, 키 + 동사구 설명 표.
  • popup 안에서 ? 또는 Esc → close.
  • pane 별 cheatsheet 분리 — Library / Search / Ask / Inspect 각각 다른 키. 공통 키 (Tab pane 이동, q quit) 는 footer 영역.
  • hint line (status bar 위 1 줄) — 동사구로:
    • 기존: j/k=move
    • 신규: ↑/k 위로 ↓/j 아래로 Enter 선택 Esc 취소
  • mode 따라 hint line 다름 (p9-fb-12 와 wire). NORMAL = navigation, INSERT = Esc 로 명령모드.

README 갱신:

  • TUI 키 매핑 표 (전역 + pane 별).
  • vim 비유 안내 한 줄 ("vim 처럼 i 로 입력, Esc 로 명령").

Test plan

kind description
unit ? press → cheatsheet visible flag
unit mode + pane 변경 시 hint line 텍스트 변화
snapshot popup 의 키 표 snapshot (Library / Search / Ask / Inspect)

DoD

  • cargo test -p kebab-tui 통과
  • README TUI 절에 키 매핑 표 + cheatsheet 안내
  • 도그푸딩: 첫 사용자가 ? 만 알면 나머지 발견 가능

Out of scope

  • 사용자 정의 keymap 파일 (P+)
  • popup 의 검색 (/ 로 키 찾기) — 우선 skip

Notes

  • 2026-05-03 partial: ? rebound to F1 (HOTFIXES — Library ? 가 quick-Ask binding 과 충돌). cheatsheet popup + 기존 render_footer 의 pane-별 hint 시작 (영문 key=action 형식).
  • 2026-05-03 follow-up: verb-form hint line 재구성. pub fn footer_hints(focus, mode, filter_open) -> &'static str 신규 — 한국어 동사구 ("위로", "아래로", "필터", "타이핑 검색어", "Esc 로 NORMAL 모드") + mode-aware (NORMAL = navigation, INSERT = typing + Esc reminder) + filter overlay 별 분기. 8 unit tests pin 한다 (Library Normal/Insert/filter, Search Normal/Insert, Ask Normal/Insert, Inspect Normal/Insert + 모든 (pane,mode,filter) 조합 non-empty exhaustive). spec status in_progresscompleted.