SKILL.md
Soto Config (Centralized Defaults)
[Created by Codex: 019b7ddb-6768-73f2-a5ef-a92e77f5fad1]
Purpose
Maintain a single source of truth for tunable app behavior by centralizing defaults in sotoconfig.ts (APPCONFIG) and wiring UI + scripts to read from it.
When To Use
- Add or change a default toggle/slider/view in the UI.
- Tune Live Logs behavior (timeouts, debug limits, takeover behavior, tail-last-N policy).
- Adjust “follow mode” / auto-scroll heuristics (thresholds, intent windows).
- Eliminate hard-coded defaults spread across components or scripts.
Rules
- Store user-tunable defaults in
sotoconfig.tsunderAPPCONFIG(keepas const). - Keep values stable and low-risk to consume (primitive/POJO; avoid functions).
- Import
APPCONFIGfrom./sotoconfigor../soto_config(do not reintroduceconfig.ts). - Keep namespaces small and obvious (e.g.,
ui,liveLogs,replaySseLogs). - Treat component-local constants as acceptable only when they are truly internal and not user-tunable.
Workflow (Agent Checklist)
- Decide whether the change is user-tunable.
- Add/update the knob in
soto_config.tsunder an appropriate namespace. - Replace callsites to consume
APP_CONFIGinstead of literals. - Update any scripts that parse
soto_config.tsvia regex/text scanning (keep parsing minimal and robust). - Validate by running
npm run build(and any relevant helper scripts).
Known Config Surface (This Repo)
- UI defaults:
APP_CONFIG.ui.* - Follow mode:
APP_CONFIG.ui.followMode.scrollBottomThresholdPx - Live Logs:
APP_CONFIG.liveLogs.* - Replay helpers:
APP_CONFIG.replaySseLogs.*
Cross-Tool Note (Claude Code)
Claude Code loads project skills from .claude/skills. Keep canonical skills under skills/; expose them to Claude Code via a symlink from .claude/skills to skills/.