diff --git a/AGENTS.md b/AGENTS.md index 7e1a027cae..258fd0416a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,6 +19,13 @@ - Expose the meaningful state dimensions through story keybindings and list them in `StoryFooter`; include a reset command when combinations can leave the fixture in a confusing state. - Run a specific story with `OPENCODE_STORY= bun run dev:live` from the development worktree, and exercise narrow and wide terminal sizes when layout is relevant. +## TUI Theme Tokens + +- Choose theme tokens by semantic role, not by their current color. Do not use raw `theme.hue` values or borrow an unrelated semantic token to achieve a preferred appearance. +- Use `text.feedback` and `background.feedback` only for outcome or status feedback such as errors, warnings, success messages, and informational messages. Use `formfield` states for form-control text, ordinals, and selection markers, and `action` states for actions. +- If the theme does not expose a token for the required semantic role, extend the theme schema, defaults, resolution, and types with that role before using it in a component. Do not repurpose the nearest-looking existing token. +- When changing the public theme token surface, verify the built-in light and dark defaults and the custom-theme fallback path in addition to the affected TUI component. + ## Branch Names Use a short branch name of at most three words, separated by hyphens. Do not use slashes or type prefixes such as `feat/` or `fix/`. diff --git a/packages/tui/src/routes/session/form.tsx b/packages/tui/src/routes/session/form.tsx index 861e0c3da5..0319b5f9d2 100644 --- a/packages/tui/src/routes/session/form.tsx +++ b/packages/tui/src/routes/session/form.tsx @@ -904,7 +904,13 @@ export function FormPrompt(props: { [{picked() ? "✓" : " "}] @@ -914,7 +920,7 @@ export function FormPrompt(props: { - {picked() ? " ✓" : ""} + {picked() ? " ✓" : ""} @@ -953,7 +959,13 @@ export function FormPrompt(props: { [{customChecked() ? "✓" : " "}] @@ -966,7 +978,7 @@ export function FormPrompt(props: { {input() || "Type your own answer"} - + }