Use when adding or changing any Approval prompt/presenter.
packages/core/src/components/ui/ApprovalHeader.tsx (top divider + title color)packages/core/src/components/ui/ConfirmMenu.tsx (numbered options + selection color)packages/core/src/components/tool/ApprovalPreview.tsx (simple file preview)packages/core/src/components/tool/PatchApprovalPreview.tsx (edit-file wrapper: header + file + preview)packages/core/src/components/tool/PatchPreview.tsx (diff rendering + performance guards)packages/core/src/components/tool/bashApprovalPrompt.tsxpackages/core/src/components/tool/fsReadApprovalPrompt.tsxpackages/core/src/components/tool/fsWriteApprovalPrompt.tsxpackages/core/src/components/tool/skillApprovalPrompt.tsxpackages/core/src/components/tool/editApprovalPrompt.tsx (legacy)packages/core/src/tools/modules/bash/presenter.tsxpackages/core/src/tools/modules/read/presenter.tsxpackages/core/src/tools/modules/write/presenter.tsxpackages/core/src/tools/modules/edit/presenter.tsxpackages/core/src/tools/modules/skill/presenter.tsxpackages/core/src/tui/theme.ts (theme.permission, theme.text, theme.diff.*)Layout skeleton (keep consistent)
[Top divider line]Title (color = theme.permission)Preview boxOptions rendering (text + emphasis)
capture-terminal/ bold/white): make ConfirmMenu accept ReactNode labels.Text color={...} when highlighted:bold, avoid hardcoding color unless required.Preview performance (must not block UI)
fs.readFileSync/fs.statSync/blocking IO inside render path (useMemo included).fs/promises + useEffect.Diff safety (avoid OOM / hangs)
Unit/component tests (minimum regression set):
packages/core/src/components/ui/ConfirmMenu.test.tsx (ReactNode label + selection color)packages/core/src/components/tool/bashApprovalPrompt.test.tsx (if exists)packages/core/src/components/tool/fsReadApprovalPrompt.test.tsx (if exists)packages/core/src/components/tool/fsWriteApprovalPrompt.test.tsx (if exists)packages/core/src/components/tool/skillApprovalPrompt.test.tsx (if exists)packages/core/src/tools/modules/edit/presenter.test.tsx (preview/diff layout + performance guard)Manual spot-check (fast)
Bash, Read(outside workspace), Write, Edit.bun run test if neededAGENTS.md -> Review Profile (Single Source of Truth); fix all high/medium findings