vesha वेष

Accepted ADR 0007 · 2026-10-21

#7. Standard library only, curses for the switcher

#Context

vesha's wrapper runs before every claude, and its watcher runs all the time; both must start fast and never break because a dependency changed. The switcher needs vim-style navigation and a dense, adaptive layout.

#Decision

Python 3.11's standard library only: urllib for the two HTTP calls, curses for the switcher, tomllib for the config. The switcher's keys follow vim (j/k, gg/G, counts, /, dd, cw, ?), every key is annotated with a # keybind: line, and its layout adapts from 80 columns up.

#Consequences

← All decisions · source