Skip to content

Mute light theme, default to dark mode, tidy deps/config#56

Merged
swibrow merged 4 commits into
mainfrom
theme/dark-default-muted-light
Jul 18, 2026
Merged

Mute light theme, default to dark mode, tidy deps/config#56
swibrow merged 4 commits into
mainfrom
theme/dark-default-muted-light

Conversation

@swibrow

@swibrow swibrow commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Mute the light (Catppuccin Latte) palette — darker base/surface tones and desaturated accent colors so it doesn't glare like a raw white page. Verified contrast stays WCAG AA for body text/links/headings.
  • Default new visitors to dark mode instead of following prefers-color-scheme.
  • Fix a bug found along the way: shikiConfig.defaultColor: false emits --shiki-light/--shiki-dark per-token variables that nothing was consuming, so code blocks rendered as flat, uncolored text in both themes.
  • Tighten typescript to ^7.0.0 (was a loose ^5.9.3 || ^6.0.0 || ^7.0.0 peer range from Renovate) and add it as an explicit devDependency so it actually resolves to v7 instead of sitting on the old 5.9.3 lockfile entry.
  • Adopt the tool-agnostic AGENTS.md / .agents/ layout: AGENTS.md and .agents/ are now the tracked source of truth, with CLAUDE.md and .claude symlinked onto them. .agents/settings.local.json stays gitignored.

Test plan

  • bun run build succeeds
  • Verified via getComputedStyle in a live preview that light mode uses the new muted palette (contrast: body text 8.1:1, links 4.5:1, headings 3.6:1) and dark mode is unchanged
  • Verified syntax highlighting now renders distinct token colors in both themes
  • Verified default theme (no stored preference) is dark

swibrow added 4 commits July 18, 2026 08:29
Latte's default accent colors are too vivid/high-contrast for a light
background; desaturate and darken the light palette so it reads calmer.
Also default new visitors to dark mode instead of following
prefers-color-scheme.

Fixes a related bug found along the way: shikiConfig.defaultColor is
false (dual light/dark theme), which emits --shiki-light/--shiki-dark
per-token variables, but nothing consumed them, so code blocks
rendered as flat, uncolored text in both themes.
Widen-then-narrow: renovate/typescript-7.x only loosened the peer
range to allow v7 alongside 5.x/6.x. Tighten it to just ^7.0.0 and
add typescript as an explicit devDependency so it actually resolves
to v7 instead of sitting on the old 5.9.3 lockfile entry.
AGENTS.md and .agents/ are now the source of truth for agent
instructions and skills, with CLAUDE.md and .claude symlinked onto
them so Claude Code keeps working without duplicating config.
Previously CLAUDE.md and .claude/ (aside from settings.local.json)
weren't tracked at all.
@github-actions

Copy link
Copy Markdown

🚀 Preview deployed: https://bb195068-wibrow-dev.sam-wibrow.workers.dev

@swibrow
swibrow merged commit 0d4bac9 into main Jul 18, 2026
1 check passed
@swibrow
swibrow deleted the theme/dark-default-muted-light branch July 18, 2026 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant