config_paths is where Otter Shell XDG locations live. Don’t hardcode ~/.config/otter-shell/ in app code.
Config and data
Runtime directory
State under$XDG_RUNTIME_DIR/otter-shell/:
runtime_state reads and writes small state files here. Wallpaper state keeps lock screens and generated themes in sync. Do Not Disturb uses dnd-state through isDndEnabled, setDndEnabled, and toggleDnd. Writes are locked and atomic so the bar and CLI can toggle it safely at the same time.
runtime_socket builds bounded socket paths and can restrict socket FD permissions.
Legacy migration
legacy_paths migrates old /tmp/otter-* clip and weather cache files into XDG data dirs on first access. Call the resolve* helpers rather than opening legacy paths directly.
Assist helpers
assist parses JSON chat requests and formats ChatML prompts. Used by otter-assist (packaged in otter-shell-extras).
