Repository navigation
feat(theme): DeepSeek blue themes and a Grok-style /theme picker - #222
Merged
Merged
Conversation
First batch of the Grok CLI UX alignment (ADR-0002: Grok CLI wins TUI ties; Claude Code decides where Grok has no equivalent). - palette.ts holds the themes as Grok-style RGB slots with explicit 256- and 16-colour overrides: deepseek, deepseek-light, and terminal (ANSI only, no bands). The brand is #4D6BFE (frame, the person's rule, markers, mark, cursor) and its tint #7E96F5 (thinking, links, headings, paths). The person's band is navy instead of plum; semantic colours unchanged. - The Theme record switches in place, so every role a renderer already holds paints the new palette. auto (default) follows OSC 11. - /theme opens a picker: arrows preview live, Enter saves, Esc reverts; /theme <name> sets directly. Kept under `theme` in code-cli-ui.json, which now merges instead of overwriting (density survives); CODSH_THEME overrides for one launch. - Screen paints its hover, sticky and divider fills from the shared theme (NO_COLOR now paints no fills) and sets the cursor colour with OSC 12, restoring it with OSC 112 on exit. - A theme change repaints the history by replaying the session into a fresh transcript, deferred while a turn runs or a Child view is open. - The e2e harness strips the runner's COLORTERM and CODSH_THEME, since the accent now forks by depth. Docs: ADR-0002, alignment matrix (/theme aligned, Grok CLI section with the later batches), CONTEXT.md Theme and Repaint, README en/zh. Logo, favicon and README banner move to #4D6BFE; site frames regenerated.
🦋 Changeset detectedLatest commit: 11d95ee The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
This is the first batch of the Grok CLI UX alignment. ADR-0002 makes Grok CLI the primary reference for the TUI: Grok wins ties, and Claude Code decides only where Grok has no equivalent. This batch paints the TUI in DeepSeek's brand blue #4D6BFE and adds a Grok-style
/themepicker.packages/bundle/src/palette.ts):auto(the default, follows OSC 11),deepseek,deepseek-lightandterminal.terminaluses ANSI colours only and paints no bands; the person's message is bold instead.✻, the whale's water, the cursor.$skill, headings, links, paths.Themerecord switches in place, so every role a renderer already holds paints the new palette./theme:/theme <name>sets a theme directly, and aliases likedark,light,systemandnativework.themeincode-cli-ui.json. That file now merges instead of being overwritten, so the/uidensity survives.CODSH_THEMEoverrides the saved choice for one launch.NO_COLORnow paints no fills.Prompt.selectgained asettledhook, so Esc reverts before the closing frame is drawn.Known trade-offs
These are documented in
CONTEXT.mdand the alignment matrix.94; theterminaltheme covers that case.--resume, a repaint does not re-show rows that never reached the session log: command reports,!output and notices.Docs
docs/alignment.md: the/themerow is now aligned with its test anchors, and a new "Grok CLI alignment" section lists the later batches.CONTEXT.mddefines Theme and Repaint.README.mdandREADME.zh.mdare updated in parity.minor.Tests
pnpm run typecheckpasses.pnpm test: 1988 pass. New specs cover the theme catalog,theme-setting,prefs,theme-pickerand theselectsettle order, plus screen theme-driven fills and OSC 12/112, banner depth, light and terminal variants, and the terminal-theme prompt.pnpm run test:e2e: 179 pass, 1 skipped (the site capture, which runs only when asked).e2e/pty-theme.e2e.tsswitches to/theme deepseek-light: the history repaints and no dark band is left. The theme persists across a restart and the density survives./theme terminalpaints a34frame and sends OSC 112. The picker previews a theme and Esc reverts it without saving.COLORTERMandCODSH_THEME, because the accent now depends on colour depth.